Generate correct URL for feeds #739
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: | |
concurrency: | |
group: cd-${{ github.ref }} | |
jobs: | |
check-dependencies: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v5 | |
with: | |
python-version: 3.12 | |
- uses: snok/install-poetry@v1 | |
- name: Check Poetry dependencies | |
run: poetry show -o | |
# - name: Check npm dependencies | |
# run: | | |
# npm install | |
# npm outdated | |
# npm audit | |
test-node: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run tests | |
uses: ./.github/actions/node-tests | |
test-python: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Run tests | |
uses: ./.github/actions/python-tests | |
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-python | |
- test-node | |
- check-dependencies | |
- 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-frontend" | |
git config user.email "<>" | |
- name: Install jq | |
run: sudo apt-get install jq | |
- name: Update config | |
run: jq --indent 4 '(.services.frontend.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 frontend 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-frontend" | |
git config user.email "<>" | |
- name: Install yq | |
uses: dcarbone/install-yq-action@v1.1.1 | |
- name: Update config | |
run: | | |
yq '(.services.frontend.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 | |
yq '(.services.frontend-develop.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 frontend to v${{ needs.version.outputs.version }}" | |
git push origin proof-of-concept |