Project Description

The Uyuni doc requires a lot of dependencies installed to be built. Keeping your system on the right versions or reinstalling can be a challenge.

Moreover, we don't build the documentation on the PRs, so we can inspect it, and we don't have it in any place before we prepare releases.

Goal for this Hackweek

  • Create a container image that can build the doc from a set of parameters (git repository, git reference, product)
  • Publish the container to GitHub (at least for now, OBS is not an option, as a lot of gems and npm packages are required) -> to Docker Hub for now
  • Create a github action to build, on demand, the doc and (somehow) publish it -> postponed

Skills

  • Able to write docker files
  • Familiarity with GitHub actions
  • Familiarity with container images on GitHub
  • Familiarity with publishing objects (if possible static website) from PRs, by using GitHub tooling

Resources

  • https://github.com/uyuni-project/uyuni-docs
  • https://github.com/uyuni-project/uyuni-docs/wiki/Install-the-latest-documentation-toolchain
  • https://github.com/jordimassaguerpla/uyuni/blob/master/.github/workflows/build_containers.yml
  • https://github.com/jordimassaguerpla/uyuni/actions/runs/4024484061/workflow

Outcome

https://github.com/uyuni-project/uyuni-docs-helper

Looking for hackers with the skills:

uyuni containers github_actions github_page antora susemanager

This project is part of:

Hack Week 22

Activity

  • over 2 years ago: juliogonzalezgil added keyword "susemanager" to this project.
  • over 2 years ago: j_renner liked this project.
  • over 2 years ago: admehmood liked this project.
  • over 2 years ago: juliogonzalezgil added keyword "antora" to this project.
  • over 2 years ago: juliogonzalezgil started this project.
  • over 2 years ago: juliogonzalezgil added keyword "uyuni" to this project.
  • over 2 years ago: juliogonzalezgil added keyword "containers" to this project.
  • over 2 years ago: juliogonzalezgil added keyword "github_actions" to this project.
  • over 2 years ago: juliogonzalezgil added keyword "github_page" to this project.
  • over 2 years ago: juliogonzalezgil originated this project.

  • Comments

    • juliogonzalezgil
      over 2 years ago by juliogonzalezgil | Reply

      WIP at: https://github.com/juliogonzalez/uyuni-docs-container-image

      For now, I focused on publishing the image to the DockerHub, and being able to build the doc from either a local clone or a remote git repository, so I can easily prepare a demo.

      Publishing to GitHub or using this on PRs, will come later.

    • juliogonzalezgil
      over 2 years ago by juliogonzalezgil | Reply

      While part of the work is pending, it will be handled as part of my work for SUSE Manager.

      The basics are there, and will be presented to the Uyuni Community and the SUSE Manager stakeholders in the next meetings.

    Similar Projects

    Flaky Tests AI Finder for Uyuni and MLM Test Suites by oscar-barrios

    Description

    Our current Grafana dashboards provide a great overview of test suite health, including a panel for "Top failed tests." However, identifying which of these failures are due to legitimate bugs versus intermittent "flaky tests" is a manual, time-consuming process. These flaky tests erode trust in our test suites and slow down development.

    This project aims to build a simple but powerful Python script that automates flaky test detection. The script will directly query our Prometheus instance for the historical data of each failed test, using the jenkins_build_test_case_failure_age metric. It will then format this data and send it to the Gemini API with a carefully crafted prompt, asking it to identify which tests show a flaky pattern.

    The final output will be a clean JSON list of the most probable flaky tests, which can then be used to populate a new "Top Flaky Tests" panel in our existing Grafana test suite dashboard.

    Goals

    By the end of Hack Week, we aim to have a single, working Python script that:

    1. Connects to Prometheus and executes a query to fetch detailed test failure history.
    2. Processes the raw data into a format suitable for the Gemini API.
    3. Successfully calls the Gemini API with the data and a clear prompt.
    4. Parses the AI's response to extract a simple list of flaky tests.
    5. Saves the list to a JSON file that can be displayed in Grafana.
    6. New panel in our Dashboard listing the Flaky tests

    Resources


    Move Uyuni Test Framework from Selenium to Playwright + AI by oscar-barrios

    Description

    This project aims to migrate the existing Uyuni Test Framework from Selenium to Playwright. The move will improve the stability, speed, and maintainability of our end-to-end tests by leveraging Playwright's modern features. We'll be rewriting the current Selenium code in Ruby to Playwright code in TypeScript, which includes updating the test framework runner, step definitions, and configurations. This is also necessary because we're moving from Cucumber Ruby to CucumberJS.

    If you're still curious about the AI in the title, it was just a way to grab your attention. Thanks for your understanding.


    Goals

    • Migrate Core tests including Onboarding of clients
    • Improve test reliabillity: Measure and confirm a significant reduction of flakynes.
    • Implement a robust framework: Establish a well-structured and reusable Playwright test framework using the CucumberJS

    Resources