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

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

  • Comments

    Be the first to comment!

    Similar Projects

    Extending KubeVirtBMC's capability by adding Redfish support by zchang

    Description

    In Hack Week 23, we delivered...


    SUSE KVM Best Practices by roseswe

    Description

    SUSE Best Practices around KVM,...


    Contribute to terraform-provider-libvirt by pinvernizzi

    Description

    The SUSE Manager (SUMA) tea...


    Drag Race - comparative performance testing for pull requests by balanza

    Description

    «Sophia, a backend developer, s...


    Automate PR process by idplscalabrini

    Description

    This project is to streamline a...


    Automate PR process by idplscalabrini

    Description

    This project is to streamline a...


    ddflare: (Dyn)DNS management via Cloudflare API in Kubernetes by fgiudici

    Description

    [ddflare](https://github.com/f...