Skip to content

Release - eux-pdf-flattener #30

Release - eux-pdf-flattener

Release - eux-pdf-flattener #30

Workflow file for this run

name: release
run-name: Release - ${{ github.event.head_commit.message }}
permissions:
deployments: write
packages: write
contents: write
id-token: write
on:
push:
branches: [ main ]
concurrency: release
env:
APP_NAME: eux-pdf-flattener
IMAGE: ghcr.io/${{ github.repository }}/eux-pdf-flattener
READER_TOKEN: ${{ secrets.READER_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build:
name: 'Build'
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up java 21
uses: actions/setup-java@v4
with:
java-version: 21
distribution: 'temurin'
cache: 'maven'
- name: Setup Git User
uses: fregante/setup-git-user@v2
- name: Set Next Version
run: >
mvn eux-versions:set-next -B -e -U --settings ./.github/settings.xml
-DnewVersion=${{ github.event.inputs.version }}
--no-transfer-progress
- name: Extract New Version
id: versions
run: >
echo "version=$(mvn -q --no-transfer-progress --settings ./.github/settings.xml
-Dexec.executable=echo -Dexec.args='${project.version}' --non-recursive exec:exec)" >> $GITHUB_OUTPUT
- name: Test and build
run: >
mvn clean package scm:tag -B -e -U
--settings ./.github/settings.xml
--no-transfer-progress
- name: Push docker image to GAR
uses: nais/docker-build-push@v0
id: docker-build-push
with:
team: eessibasis
tag: ${{ steps.versions.outputs.version }}
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }}
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }}
- name: Echo Version
run: echo "### Version ${{ steps.versions.outputs.version }}" >> $GITHUB_STEP_SUMMARY
outputs:
docker-image: >
${{ steps.docker-build-push.outputs.image }}
deploy-q1:
name: 'Deploy to q1'
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: 'Calling nais deploy action for q1'
uses: nais/deploy/actions/deploy@v2
env:
CLUSTER: dev-gcp
RESOURCE: .nais/nais.yaml
VAR: image=${{ needs.build.outputs.docker-image }}
VARS: .nais/q1.yaml
PRINT_PAYLOAD: true
deploy-q2:
name: 'Deploy to q2'
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- name: 'Calling nais deploy action for q2'
uses: nais/deploy/actions/deploy@v2
env:
CLUSTER: dev-gcp
RESOURCE: .nais/nais.yaml
VAR: image=${{ needs.build.outputs.docker-image }}
VARS: .nais/q2.yaml
PRINT_PAYLOAD: true
deploy-prod:
name: 'Deploy to Production'
runs-on: ubuntu-latest
needs: [build, deploy-q1, deploy-q2]
steps:
- uses: actions/checkout@v4
- name: 'Calling nais deploy action for production'
uses: nais/deploy/actions/deploy@v2
env:
CLUSTER: prod-gcp
RESOURCE: .nais/nais.yaml
VAR: image=${{ needs.build.outputs.docker-image }}
VARS: .nais/prod.yaml
PRINT_PAYLOAD: true