Bygg og deploy #4
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: Bygg og deploy | |
on: | |
workflow_dispatch: | |
push: | |
branches: | |
- 'master' | |
jobs: | |
build: | |
name: Bygg | |
permissions: | |
contents: read | |
id-token: write | |
outputs: | |
image: ${{ steps.docker-build-push.outputs.image }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Setup node.js | |
uses: actions/setup-node@v3 | |
with: | |
registry-url: 'https://npm.pkg.github.com' | |
- name: Install | |
run: npm ci | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} | |
- name: Server install | |
working-directory: ./server | |
run: npm ci | |
env: | |
NODE_AUTH_TOKEN: ${{ secrets.READER_TOKEN }} | |
- name: Typescript | |
run: npm run ts | |
- name: Prettier | |
run: npm run prettier | |
- name: Kjør tester | |
run: npm run test | |
- name: Build | |
run: npm run build | |
- name: Server build | |
working-directory: ./server | |
run: npm run build | |
- name: Sentry release | |
run: npm run release | |
- name: Fjerne source maps | |
run: | | |
rm dist/client/assets/*.map | |
- name: Push docker image to GAR | |
uses: nais/docker-build-push@v0 | |
id: docker-build-push | |
with: | |
team: arbeidsgiver | |
identity_provider: ${{ secrets.NAIS_WORKLOAD_IDENTITY_PROVIDER }} | |
project_id: ${{ vars.NAIS_MANAGEMENT_PROJECT_ID }} | |
deploy-dev-gcp-intern: | |
name: Deploy til dev-gcp intern | |
runs-on: ubuntu-latest | |
needs: build | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Deploy til dev-gcp intern | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: dev-gcp | |
RESOURCE: nais/nais-gcp-intern.yaml | |
VARS: nais/dev-gcp-intern.yaml | |
VAR: image=${{ needs.build.outputs.image }} | |
deploy-dev-gcp-ekstern: | |
name: Deploy til dev-gcp ekstern | |
runs-on: ubuntu-latest | |
needs: build | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Deploy til dev-gcp ekstern | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: dev-gcp | |
RESOURCE: nais/nais-gcp-ekstern.yaml | |
VARS: nais/dev-gcp-ekstern.yaml | |
VAR: image=${{ needs.build.outputs.image }} | |
deploy-dev-gcp-labs: | |
name: Deploy til dev-gcp (labs) | |
runs-on: ubuntu-latest | |
needs: build | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Deploy til dev-gcp | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: dev-gcp | |
RESOURCE: nais/dev-gcp-labs.yaml | |
VARS: nais/dev-gcp-labs.json | |
VAR: image=${{ needs.build.outputs.image }} | |
deploy-prod-gcp-intern: | |
name: Deploy til prod-gcp intern | |
if: github.ref == 'refs/heads/master' | |
needs: [build, deploy-dev-gcp-intern, deploy-dev-gcp-ekstern, deploy-dev-gcp-labs] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Deploy til prod-gcp intern | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: prod-gcp | |
RESOURCE: nais/nais-gcp-intern.yaml | |
VARS: nais/prod-gcp-intern.yaml | |
VAR: image=${{ needs.build.outputs.image }} | |
deploy-prod-gcp-ekstern: | |
name: Deploy til prod-gcp ekstern | |
if: github.ref == 'refs/heads/master' | |
needs: [build, deploy-dev-gcp-intern, deploy-dev-gcp-ekstern, deploy-dev-gcp-labs] | |
runs-on: ubuntu-latest | |
permissions: | |
contents: read | |
id-token: write | |
steps: | |
- name: Sjekk ut kode | |
uses: actions/checkout@v4 | |
- name: Deploy til prod-gcp ekstern | |
uses: nais/deploy/actions/deploy@v2 | |
env: | |
CLUSTER: prod-gcp | |
RESOURCE: nais/nais-gcp-ekstern.yaml | |
VARS: nais/prod-gcp-ekstern.yaml | |
VAR: image=${{ needs.build.outputs.image }} |