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

ci: Test pathogen repo CI builds with the final image #148

Merged
merged 1 commit into from
May 8, 2023
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,37 @@ jobs:
env:
DOCKER_DEFAULT_PLATFORM: ${{ matrix.platform }}

# Run pathogen repo CI builds with the final image
test-pathogen-repo-ci:
needs: build
strategy:
# XXX TODO: Test on multiple platforms via the matrix too, as above?
Copy link
Member

Choose a reason for hiding this comment

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

Yeah that sounds reasonable!

Copy link
Member Author

Choose a reason for hiding this comment

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

To do this we'd first need to add a platform input to the pathogen-repo-ci.yaml shared workflow and update that workflow to DTRT with it, namely: set DOCKER_DEFAULT_PLATFORM and run docker/setup-qemu-action@v2 if the desired platform is not the native platform.

I'm going to leave that for a separate PR, and I may not do it myself right away. Someone else should feel free to beat me to it. :-)

matrix:
include:
- { pathogen: avian-flu, build-args: auspice/flu_avian_h5n1_ha.json }
- { pathogen: ebola }
- { pathogen: lassa }
- { pathogen: monkeypox }
- { pathogen: mumps }
- { pathogen: ncov, build-args: all_regions -j 2 --profile nextstrain_profiles/nextstrain-ci }
Copy link
Member

Choose a reason for hiding this comment

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

Really nice config with the build-args, brilliant!

- { pathogen: seasonal-flu, build-args: --configfile profiles/ci/builds.yaml -p }
- { pathogen: zika }
name: test-pathogen-repo-ci (${{ matrix.pathogen }})
uses: nextstrain/.github/.github/workflows/pathogen-repo-ci.yaml@master
with:
repo: nextstrain/${{ matrix.pathogen }}
build-args: ${{ matrix.build-args }}
env: |
NEXTSTRAIN_DOCKER_IMAGE: ghcr.io/nextstrain/base:${{ needs.build.outputs.tag }}

# XXX FIXME: Jobs which call reusable workflows (uses: …) can't specify
# continue-on-error.¹ That's unfortunate, as we don't want to fail the
# workflow because of these. They're more smoke tests than gating tests.
# -trs, 5 May 2023
#
# ¹ <https://docs.github.com/en/actions/using-workflows/reusing-workflows#supported-keywords-for-jobs-that-call-a-reusable-workflow>
#continue-on-error: true

validate-platforms:
name: Validate platforms
needs: build
Expand Down