Skip to content

Add CI workflow#354

Merged
pothos merged 1 commit into
flatcar:mainfrom
gabriel-samfira:add-ci-workflow
Jun 27, 2022
Merged

Add CI workflow#354
pothos merged 1 commit into
flatcar:mainfrom
gabriel-samfira:add-ci-workflow

Conversation

@gabriel-samfira
Copy link
Copy Markdown
Member

Add GitHub CI workflow

Currently the flatcar CI is not publicly viewable. this adds some friction for external contributors, as we rely on someone with access to jenkins, to shuttle information from the CI, into the PR.

This change adds a new workflow, that builds packages, the image and VM images, then uploads the resulting artifacts to github.

This is the first step in creating a set of workflows that are on par with what already exists in Jenkins. Next steps will include:

  • Create a workflow that pulls the artifacts that were built, and tests them using Kola
  • Create workflows in dependency repos (portage-stable, coreos-overlay), that will trigger a build in this repository with the proposed changes to the dependencies.

The current "glue" CI scripts were used as a base fr this workflow. Initially, this workflow sourced the existing scripts and called a function within those scripts, however, some changes were needed to work around the fact that there is no need to upload anything to bincache, and changing those existing scripts would have added a number of ugly special cases.

Cherry picking only needed bits helps keep the workflow clean, while allowing us to extend it with any future jobs or steps that might be needed, without working around old behavior.

How to use

This workflow will be run automatically on any pull request. To limit automatic workflow runs only to members of the team, change the repo settings under Settings --> Actions --> General --> "Fork pull request workflows from outside collaborators" --> "Require approval for all outside collaborators"

You can also run this workflow manually, by going to Action --> Run build --> Run Workflow. Running the workflow manually, also allows you to customize inputs.

Testing done

This change was tested in a fork. Results can be seen here:

https://github.com/gabriel-samfira/scripts/actions/runs/2553458796

@pothos
Copy link
Copy Markdown
Member

pothos commented Jun 24, 2022

Thanks so much!

This workflow will be run automatically on any pull request. To limit automatic workflow runs only to members of the team, change the repo settings under Settings --> Actions --> General --> "Fork pull request workflows from outside collaborators" --> "Require approval for all outside collaborators"

I just did that but we can discuss if we relax this for non-first contributors.

Comment thread .github/workflows/ci.yaml Outdated
Comment thread .github/workflows/ci.yaml Outdated
Copy link
Copy Markdown
Member

@pothos pothos left a comment

Choose a reason for hiding this comment

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

I think it's good to merge and then it gets easier to do changes.

@pothos
Copy link
Copy Markdown
Member

pothos commented Jul 13, 2022

Will backport down to flatcar-3033

pothos added a commit that referenced this pull request Jul 13, 2022
pothos added a commit that referenced this pull request Jul 13, 2022
pothos added a commit that referenced this pull request Jul 13, 2022
pothos added a commit that referenced this pull request Jul 13, 2022
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