Achievements:

  • Documented all necessary steps to setup the testing environment on Windows 11
  • Created a GitHub workflow that successfully executes the following tasks:
  • cleanup test environment from the previous run, removing files and WSL distributions from the previous run
  • checkout latest version of the target repository's main branch
  • install all project dependencies
  • run the automated e2e test suites
  • upload the test artifacts in case of failure for debugging
  • All e2e test suites - 147 tests in total - passed in the last 2 runs of the created workflow

Link to Pull Request: https://github.com/rancher-sandbox/rancher-desktop/pull/3871/files

Findings:

  • WSL and kernel must be used in their in-box version, not downloaded from Microsoft Store, as the latter is installed as an appx, and as running GitHub actions as a service is not logged in full to a graphical session, making WSL doesn't work as expected
  • Github runner must log in the service as the local user's account instead of other users from the domain "nt authority"

Project Description

Rancher Desktop is an electron-based application relying on nested virtualization to run Kubernetes and Container Management resources locally on the desktop. It is supported on the 3 major platforms: Linux, MacOS and Windows. Regarding the Quality Assurance stage of the Software Development Lifecycle, there are technical challenges when it comes to running e2e tests on Windows via CI, as these tests are executed in a Windows Subsystem for Linux - WSL - distribution, which requires the CI to spin up a virtual Linux machine. Many workarounds were attempted to make it possible to expand the Quality Matrix to all three platforms, as Linux and MacOS are already supported. The goal of this project is to expand Rancher Desktop's e2e test automation via GitHub Actions in self-hosted Windows runners.

Goals for Hack Week 2022

  • To have a workflow successfully running e2e test suites in self-hosted Windows runners via GitHub Actions - ACHIEVED
  • Logging and monitoring workflow runs - ACHIEVED

Resources

Ideal project mates: Experience in running GitHub Actions on Windows, Experience with WSL

Project Repository: https://github.com/rancher-sandbox/rancher-desktop https://rancherdesktop.io/

This project is part of:

Hack Week 22

Activity

  • over 1 year ago: mook_work joined this project.
  • over 1 year ago: iguimaraes started this project.
  • over 1 year ago: okurz liked this project.
  • over 1 year ago: paulgonin liked this project.
  • over 1 year ago: iguimaraes added keyword "wsl" to this project.
  • over 1 year ago: iguimaraes added keyword "vm" to this project.
  • over 1 year ago: iguimaraes added keyword "virtualization" to this project.
  • over 1 year ago: iguimaraes added keyword "ci" to this project.
  • over 1 year ago: iguimaraes added keyword "ci/cd" to this project.
  • over 1 year ago: iguimaraes added keyword "github-ci" to this project.
  • over 1 year ago: iguimaraes added keyword "github" to this project.
  • over 1 year ago: iguimaraes added keyword "windows" to this project.
  • over 1 year ago: iguimaraes added keyword "github_actions" to this project.
  • over 1 year ago: iguimaraes added keyword "rancher_desktop" to this project.
  • over 1 year ago: iguimaraes added keyword "self-hosted_runner" to this project.
  • over 1 year ago: iguimaraes originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    mikrolite - a cli to create lighweight Kubernetes clusters using microvms by rcase

    [comment]: # (Please use the project descriptio...


    Support for OVA build in OBS and better support for vmdk disks in kiwi by gmoro

    Project Description

    Implement support for O...


    mikrolite - a cli to create lighweight Kubernetes clusters using microvms by rcase

    [comment]: # (Please use the project descriptio...


    Plan 9 filesystem support in GRUB by ptesarik

    [comment]: # (Please use the project descriptio...


    Test Results for openQA on GitHub by livdywan

    Project Description

    Jobs in openQA are us...


    Package MONAI Machine Learning Models for Medical Applications by jordimassaguerpla

    Project Description

    MONAI Deploy aims to ...


    Deep clean-up of the Uyuni documentation files by omaric

    Project Description

    This project is plann...


    Collect flaky test cases identified by the team in a GitHub board and highlight them in the Test report by oscar-barrios

    Project Description

    Flaky tests: Th...


    Test Results for openQA on GitHub by livdywan

    Project Description

    Jobs in openQA are us...


    Avahi Integration and Network Connection by vojha

    Avahi Integration and Network Connection

    ...