Skip to content

Commit

Permalink
Refactor pathogen-repo-ci to be smarter [#89]
Browse files Browse the repository at this point in the history
  • Loading branch information
genehack committed May 31, 2024
1 parent 6d8f901 commit c775c07
Show file tree
Hide file tree
Showing 3 changed files with 60 additions and 10 deletions.
30 changes: 20 additions & 10 deletions .github/workflows/pathogen-repo-ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,15 @@
# workflow) in this repo for an example of what the caller workflow looks like.
name: CI

defaults:
run:
# This is the same as GitHub Action's `bash` keyword as of 20 June 2023:
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell
#
# Completely spelling it out here so that GitHub can't change it out from under us
# and we don't have to refer to the docs to know the expected behavior.
shell: bash --noprofile --norc -eo pipefail {0}

on:
workflow_call:
inputs:
Expand Down Expand Up @@ -232,16 +241,17 @@ jobs:
with:
runtime: ${{ matrix.runtime }}

- name: Run ingest
uses: nextstrain/.github/actions/run-nextstrain-build@update-ci-89
with:
step: ingest

- run: nextstrain build . ${{ inputs.build-args }}
- name: Run phylogenetic
uses: nextstrain/.github/actions/run-nextstrain-build@update-ci-89
with:
step: phylogenetic

- if: always()
uses: actions/upload-artifact@v4
- name: Run nextclade
uses: nextstrain/.github/actions/run-nextstrain-build@update-ci-89
with:
name: ${{ inputs.artifact-name }}-${{ matrix.runtime }}
path: |
auspice/
results/
benchmarks/
logs/
.snakemake/log/
step: nextclade
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ See also GitHub's [documentation on issue and PR templates](https://docs.github.

Invoked by our GitHub Actions workflows, including the reusable workflows below.

- [Run Nextstrain Build Step](actions/run-nextstrain-build-step/action.yaml)
- [Setup Nextstrain CLI](actions/setup-nextstrain-cli/action.yaml)
- [shellcheck](actions/shellcheck/action.yaml)
- [Setup SSH](actions/setup-ssh/action.yaml) access to runner machine
Expand Down
39 changes: 39 additions & 0 deletions actions/run-nextstrain-build-step/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: run-nextstrain-build
description: >-
Runs a single `nextstrain build` command in a given sub-directory of
a pathogen repo. Must be provided with the name of the
sub-directory.
inputs:
step:
description: The name of the sub-directory to run the build from
type: string
required: true

runs:
using: "composite"
steps:
- id: run-build
env:
STEP: ${{ inputs.step }}
run: |
if [[ -f nextstrain-pathogen.yaml && -f $STEP/Snakefile && -f $STEP/build-configs/ci/config.yaml ]]; then
nextstrain build $STEP --configfile build-configs/ci/config.yaml
else
echo "Skipping $STEP build due to one or more missing files."
for i in nextstrain-pathogen.yaml $STEP/Snakefile $STEP/build-configs/ci/config.yaml; do
! test -f $i && echo missing $i
done
fi
shell: bash

- id: upload-artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: ${{inputs.step }}-outputs-${{ matrix.runtime }}
path: |
${{ inputs.step }}/results/
${{ inputs.step }}/benchmarks/
${{ inputs.step }}/logs/
${{ inputs.step }}/.snakemake/log/

0 comments on commit c775c07

Please sign in to comment.