Skip to content

Commit

Permalink
Run release from CI workflow
Browse files Browse the repository at this point in the history
This leverages the existing test matrix setup for CI which can
sufficiently replace devel/test. A downside is that it does not test the
changes created by devel/release, but those should not have an impact on
test results.
  • Loading branch information
victorlin committed Sep 17, 2024
1 parent 1995748 commit e7931cf
Show file tree
Hide file tree
Showing 2 changed files with 55 additions and 43 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,12 @@ on:

workflow_dispatch:

workflow_call:
inputs:
version:
required: true
type: string

jobs:
mypy:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -348,3 +354,49 @@ jobs:
echo "If there are changes to the Augur CLI, please manually adjust files under 'docs/usage/cli/'." >&2
exit 1
fi
release:
needs: [pytest-cram]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
# Fetch all branches and tags.
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Set Nextstrain bot as git user
run: |
git config --global user.email "[email protected]"
git config --global user.name "Nextstrain bot"
- run: python3 -m pip install --upgrade build twine
- run: devel/release ${{ github.event.inputs.version }}
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
- run: git push origin master tag ${{ github.event.inputs.version }}
- name: Publish to PyPI
run: twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/
- name: Create GitHub Release
run: ./devel/create-github-release "${{github.event.inputs.version }}" dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

rebuild-docker-image:
needs: [release]
runs-on: ubuntu-latest
steps:
# Delay for 10 minutes to allow the PyPI package to be available.
# See https://github.com/nextstrain/docker-base/issues/128
- name: Sleep for 10 minutes
run: sleep 600
shell: bash
- run: gh workflow run ci.yml --repo nextstrain/docker-base
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN_NEXTSTRAIN_BOT_WORKFLOW_DISPATCH }}
46 changes: 3 additions & 43 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,46 +10,6 @@ on:
type: string
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
# Fetch all branches and tags.
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: '3.10'
- name: Set Nextstrain bot as git user
run: |
git config --global user.email "[email protected]"
git config --global user.name "Nextstrain bot"
- run: python3 -m pip install --upgrade build twine
- run: devel/release ${{ github.event.inputs.version}}
- run: devel/test
- uses: actions/upload-artifact@v4
with:
name: dist
path: dist/
- run: git push origin master tag ${{ github.event.inputs.version}}
- name: Publish to PyPI
run: twine upload dist/*
env:
TWINE_USERNAME: __token__
TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }}
TWINE_REPOSITORY_URL: https://upload.pypi.org/legacy/
- name: Create GitHub Release
run: ./devel/create-github-release "${{github.event.inputs.version}}" dist/*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
rebuild-docker-image:
needs: [run]
runs-on: ubuntu-latest
steps:
# Delay for 10 minutes to allow the PyPI package to be available.
# See https://github.com/nextstrain/docker-base/issues/128
- name: Sleep for 10 minutes
run: sleep 600
shell: bash
- run: gh workflow run ci.yml --repo nextstrain/docker-base
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN_NEXTSTRAIN_BOT_WORKFLOW_DISPATCH }}
uses: ./.github/workflows/ci.yaml
with:
version: ${{ inputs.version }}

0 comments on commit e7931cf

Please sign in to comment.