Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[CHECKBOX-1447] Github workflow for promoting beta to candidate (Infra) #1284

Merged
merged 18 commits into from
Oct 7, 2024

Conversation

boukeas
Copy link
Contributor

@boukeas boukeas commented Jun 11, 2024

Description

This PR introduces a workflow for promoting Checkbox beta to candidate, meeting the requirements in CHECKBOX-1447.

Specifically, it is able to launch multiple runs on different queues, for different Checkbox snap runtimes/tracks, as well as .deb packages. For each run, the main part of the workflow creates and submits a Testflinger job that is able, among others, to retrieve a manifest for the particular device it is running on and run the canary test plan.

The workflow makes use of the scriptlets and tools in the hwcert-jenkins-tools repo.

Points to note

  • The PR introduces a template for the job file that will be submitted to Testflinger. The workflow instantiates the template using specific environment variables before submitting the job to Testflinger. This approach separates the Github workflow from the submitted job. Indeed, the job file can be instantiated, submitted and tested independently of the Github workflow, using just the Testflinger CLI.
  • Two resource files from the Checkbox repo are (currently) required by the job. These files are retrieved from the repo, which is checked out in one step of the workflow, and provided as attachments to the job, so that they are available on the agent when the job script, i.e. the test_cmds, are executed. This is a completely new approach: so far, the only way for files to find their way on to the agent was (a) to provide their contents inline, i.e. as here docs within the test_cmds or (b) to retrieve them from a public repository, after cloning it.

Resolved issues

Resolves CHECKBOX-1447.

Tests

Example workflow runs for sample snap and debian package.

@boukeas boukeas marked this pull request as ready for review July 22, 2024 13:39
Hook25 and others added 5 commits August 7, 2024 10:16
* Expand canary matrix for candidate promotion
* Temporarily remove `--no-wait` from snap install
* Fix debian install step
* Use/maintain a single scriptlet branch

---------

Co-authored-by: George Boukeas <george.boukeas@canonical.com>
Copy link
Collaborator

@Hook25 Hook25 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, will follow this up on this pulse

@Hook25 Hook25 merged commit 440c0f2 into main Oct 7, 2024
7 of 18 checks passed
@Hook25 Hook25 deleted the CHECKBOX-1447-promotion-beta-to-candidate branch October 7, 2024 09:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants