new ci for skopeo#9
Conversation
Mirrors validate, doccheck, cross, osx, test_skopeo, and ostree_rs_ext from containers/skopeo's .cirrus.yml into a GH Actions workflow on podman-io/skopeo-sandbox. Signed-off-by: Tim Zhou <tizhou@redhat.com>
Signed-off-by: Tim Zhou <tizhou@redhat.com>
Signed-off-by: Tim Zhou <tizhou@redhat.com>
| - name: Check all required jobs | ||
| run: | | ||
| if [[ "${{ contains(needs.*.result, 'failure') }}" == "true" ]] || \ | ||
| [[ "${{ contains(needs.*.result, 'cancelled') }}" == "true" ]]; then |
There was a problem hiding this comment.
Non-blocking: I’d slightly prefer an allow-list of success states here.
| runs-on: oracle-vm-4cpu-16gb-x86-64 | ||
| timeout-minutes: 45 | ||
| container: | ||
| image: quay.io/libpod/skopeo_cidev:${{ vars.IMAGE_TAG }} |
There was a problem hiding this comment.
(Where does IMAGE_TAG come from now? Will we still get Renovate PRs for that?)
There was a problem hiding this comment.
there is currently no automation for building containers images, that needs to be re-added into https://github.com/podman-container-tools/automation/
For now hard code to the last known tag
| cancel-in-progress: true | ||
|
|
||
| jobs: | ||
| path-filter: |
There was a problem hiding this comment.
(I didn’t review this mechanism in detail.)
| # Set this to a skopeo_cidev image (e.g. quay.io/libpod/skopeo_cidev:<tag>) | ||
| # when running those targets locally. If unset, the wrapper targets will fail | ||
| # loudly with an empty image reference. | ||
| SKOPEO_CIDEV_CONTAINER_FQIN ?= |
There was a problem hiding this comment.
(I guess this is related to the IMAGE_TAG question … but then I know about no-one using these containerized targets manually, they tend to be broken most of the time.)
| @@ -1,61 +0,0 @@ | |||
| #!/usr/bin/env bash | |||
There was a problem hiding this comment.
(This is happening consistently in the other repos? (I have ~never used the script and I don’t have an opinion on it existing.))
| - '**/*.go' | ||
| - '!**/*_test.go' | ||
| - '!systemtest/**' | ||
| - '!integration/**' |
There was a problem hiding this comment.
Note I switched this in my podman work, in short this does not really work because any match == true so any go file changes triggers all and you do not exclude tests like that.
Also it cannot work without specific test matchers, i.e. in podman it was setup to only run sys tests when only a sys test file was changed.
If all tests are excluded you would skip them if someone only touches a test file which is not right,
| # Production Go source. Tests and bats are excluded so a test-only diff | ||
| # does not force every "code" gated job to run. |
There was a problem hiding this comment.
If we change tests, we definitely do want the test passing before we merge a PR.
(Overall, I’m not sure the path filter is worth the complexity here. There are not that many PRs in this repo, and it’s all fairly small. [It would definitely be useful in container-libs, with the 3 separate modules and many more test jobs.])
|
close in favor of : podman-container-tools/skopeo#2883 |
follow up on #1