Release to main (#1742) #510
This file contains 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
name: Build and deploy | |
on: | |
workflow_dispatch: | |
push: | |
# TODO: Remove when we test and build on all branches - at the moment the tests are run as part of pr.yml | |
branches: | |
- main | |
release: | |
types: | |
- published | |
concurrency: | |
group: cd-${{ github.ref }} | |
jobs: | |
test: | |
name: Tests | |
uses: ./.github/workflows/_tests.yml | |
with: | |
python-version: ${{ vars.CI_PYTHON_VERSION }} | |
poetry-version: ${{ vars.CI_POETRY_VERSION }} | |
version: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get tag | |
id: version-tag | |
uses: nationalarchives/ds-docker-actions/.github/actions/get-version-tag@main | |
outputs: | |
version: ${{ steps.version-tag.outputs.version-tag }} | |
build: | |
runs-on: ubuntu-latest | |
needs: | |
- test | |
- version | |
permissions: | |
packages: write | |
contents: read | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Build Docker image | |
uses: nationalarchives/ds-docker-actions/.github/actions/docker-build@main | |
with: | |
version: ${{ needs.version.outputs.version }} | |
latest: ${{ github.ref == 'refs/heads/main' }} | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
docker-image-name: ${{ vars.DOCKER_IMAGE_NAME }} | |
update-ds-infrastructure-web: | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- version | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: nationalarchives/ds-infrastructure-web | |
ref: main | |
token: ${{ secrets.ACTIONS_GITHUB_TOKEN }} | |
- name: Set up git config | |
run: | | |
git config user.name "ds-wagtail" | |
git config user.email "<>" | |
- name: Install jq | |
run: sudo apt-get install jq | |
- name: Update config | |
run: jq --indent 4 '(.services.cms.version|="${{ needs.version.outputs.version }}")' config/develop.json > tmp.$$.json && mv tmp.$$.json config/develop.json | |
- name: Push new version | |
run: | | |
git add config/develop.json | |
git commit -m "Update cms to v${{ needs.version.outputs.version }}" | |
git push origin main | |
update-dblclk: | |
runs-on: ubuntu-latest | |
needs: | |
- build | |
- version | |
if: github.ref == 'refs/heads/main' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
repository: nationalarchives/ds-etna | |
ref: proof-of-concept | |
token: ${{ secrets.ACTIONS_GITHUB_TOKEN }} | |
- name: Set up git config | |
run: | | |
git config user.name "ds-wagtail" | |
git config user.email "<>" | |
- name: Install yq | |
uses: dcarbone/install-yq-action@v1.1.1 | |
- name: Update config | |
run: yq '(.services.cms.image|="ghcr.io/${{ github.repository_owner }}/${{ vars.DOCKER_IMAGE_NAME }}:${{ needs.version.outputs.version }}")' docker-compose.yml > tmp.$$.yml && mv tmp.$$.yml docker-compose.yml | |
- name: Push new version | |
run: | | |
git add docker-compose.yml | |
git commit -m "Update cms to v${{ needs.version.outputs.version }}" | |
git push origin proof-of-concept |