ci: integrate Windows workflow into central ci.yml#10
Closed
timcoding1988 wants to merge 11 commits into
Closed
Conversation
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Move the Cirrus validate-source_task to a GitHub Actions workflow (.github/workflows/ci.yml) running as a single job on the CNCF-hosted runner. The job runs the same stages: make validate-source, tests-included, and the conditional renovate config check. golangci-lint for FreeBSD and macOS now runs cross-compiled (GOOS) on the native Linux runner instead of on dedicated Cirrus VMs/workers, so the lint steps are dropped from osx_alt_build and freebsd_alt_build. The PR helper scripts are de-Cirrus'd: they read CI-neutral env vars (PR_HEAD, PR_NUMBER, PR_BODY) and the "No New Tests" label override is now handled natively in the workflow instead of via a GraphQL query. The shared clone/setup/main YAML anchors are relocated into build_task, and the dead _run_validate-source runner.sh function is removed. The tests-of-tests (.t files) are fixed for new setup (mostly removing test cases which are now obsoleted, like [CI:DOCS] and [NO NEW TESTS] markers. NOTE we still don't run tests in CI (although we could), but I ran them locally and fixed all the issues. Finally, test-jira-links-included is removed as it is RHEL-branch specific and have no place in the new repo. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Add a 'Build each commit' step to the validate-source job. It builds the PR fork point to record baseline binary sizes, then rebuilds and size-checks each commit via 'git rebase -x', confirming every commit compiles on its own and that no binary grows beyond the enforced limit. Move hack/make-and-check-size to hack/ci/make-and-check-size.sh and replace its Cirrus-specific GitHub GraphQL label query with a BLOAT_APPROVED env var that the workflow derives from the 'bloat_approved' PR label. Drop the now-migrated 'Build Each Commit' matrix entry from .cirrus.yml and the corresponding *Each* case from hack/ci/runner.sh. NOTE due to chicken-and-egg problem with make-and-check-size we need to make a copy of it before working with git. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Build pkg/api/swagger.yaml via the go-swagger tool as part of source validation, confirming the API spec generates cleanly. This mirrors the generation half of the Cirrus swagger_task; that task is kept for now as it also publishes swagger.yaml to GCS for the docs site, which is not migrated here. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
Add a 'Publish swagger' workflow that builds pkg/api/swagger.yaml and uploads it to the libpod-master-releases GCS bucket (swagger-latest.yaml for main, swagger-<tag>.yaml for tags), reusing the same gcsupld container as Cirrus with GCPJSON/GCPNAME supplied via repository secrets. Per-PR uploads to libpod-pr-releases are dropped, as nothing consumes them. The gcsupld image tag is hardcoded (copied from .cirrus.yml IMAGE_SUFFIX) rather than read at runtime, since Cirrus CI is to be decommissioned soon. Remove the now-migrated swagger_task from .cirrus.yml (and its success_task dependency) and the _run_swagger handler from hack/ci/runner.sh, and update docs/README.md to point at the new workflow. While at it, fix the link in docs/README.md to hack/ci/README.md#docs-task, which had been dangling ever since that file was removed in 2020 by commit 2c9084e. Note: requires GCPJSON and GCPNAME to be configured as GitHub repository secrets before the upload step can succeed. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
In parallel runs the timings might be a bit slower than normal. Increase the timeout here, it should not affect the test as we use a 20s stop timeout which is more than the ready loop which uses 5s now. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
With a high parallel node run we have much more test cases run in parallel, as such I am seeing a lot of network subnet flakes as they were using the same one and thus failed since there can only be one config using it at a time. Now hard coding this here is ugly, yes. But for now I just need to get the flakes down in the new CI. Long term we should likely have a helper that hands out known unused subnets for the tests. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
This started to fail on fedora rawhide with kernel 7.1. I have not looked into why exactly why but the theory from commit 12d4077 is likely related. What I do not get is why this tests seem to pass elsewhere, i.e. it passes in openQA and testing farm but not in our custom lima based VMs. Lets hope this works better. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
The main gh action is just there to install lima and then call the main ci.sh script which uses lima to start the right VM and then run the tests inside there. Inside the VM we use the runner.sh script to setup the env and launch the final test. Signed-off-by: Paul Holzinger <pholzing@redhat.com>
Signed-off-by: Paul Holzinger <pholzing@redhat.com>
67f351d to
f12d7ca
Compare
Add a reusable .github/workflows/windows.yml that runs four jobs on
GitHub-hosted windows-2025-vs2026 runners:
- localunit: winmake.ps1 localunit
- ginkgo (non-machine e2e): winmake.ps1 ginkgo-run
- installer (hyperv|wsl): builds the MSI for both versions and runs
the installer test under each provider
- machine (hyperv|wsl): runs winmake.ps1 localmachine
windows.yml uses workflow_call so the central ci.yml owns triggers and
concurrency. ci.yml calls it once with a path-filter gate (on the new
windows / installer filters and the existing machine / code / all
filters) and adds it to the success ("Total Success") job's needs.
Signed-off-by: Tim Zhou <tizhou@redhat.com>
f12d7ca to
b0f4d3d
Compare
e5471a0 to
64b3bf5
Compare
8415d47 to
9d9de89
Compare
Author
|
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
integrated windows into central ci.yml
work completed : #1