Skip to content

Navngiving vedtakstyper #38

Navngiving vedtakstyper

Navngiving vedtakstyper #38

Workflow file for this run

name: Build and deploy
on:
push:
branches:
- '**'
env:
app_name: bidrag_admin_ui
bucket_name_dev: bidrag-ui-static-files-dev
bucket_name_prod: bidrag-ui-static-files-prod
IS_FEATURE: ${{ github.ref != 'refs/heads/release' && github.ref != 'refs/heads/main'}}
IS_DEV: ${{ github.ref == 'refs/heads/main' }}
NPM_TOKEN: ${{ secrets.READER_TOKEN }}
jobs:
build:
name: Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: actions/cache@v3
id: yarn-cache
with:
path: .yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Set environment variables for frontend build
# Use environment variables from feature just for the build to go green. Using actual env variables in deploy step
run: cat env/.env.dev >> $GITHUB_ENV
- name: Install yarn dependencies
run: yarn --immutable
- name: Check lint
run: yarn lint
- name: Run tests and build
run: yarn test && yarn build
deploy-to-feature:
name: Deploy to feature
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: actions/cache@v3
id: yarn-cache
with:
path: .yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install yarn dependencies
run: yarn --immutable
- name: Set environment variables for build
run: cat env/.env.dev >> $GITHUB_ENV
- name: Build app
run: yarn build
- name: Login GCP dev
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCP_SERVICEUSER_KEY_DEV }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Upload static files to feature GCP bucket
run: gsutil -m rsync -R -d dist gs://${{env.bucket_name_dev}}/${{env.app_name}}/feature/static
deploy-to-main:
name: Deploy to main
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: actions/cache@v3
id: yarn-cache
with:
path: .yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install yarn dependencies
run: yarn --immutable
- name: Set environment variables for build
run: cat env/.env.main >> $GITHUB_ENV
- name: Build app
run: yarn build
- name: Login GCP dev
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCP_SERVICEUSER_KEY_DEV }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Upload static files to dev GCP bucket
run: gsutil -m rsync -R -d dist gs://${{env.bucket_name_dev}}/${{env.app_name}}/main/static
deploy-to-prod:
name: Deploy to prod
runs-on: ubuntu-latest
needs: build
if: github.ref == 'refs/heads/main'
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20.x
- uses: actions/cache@v3
id: yarn-cache
with:
path: .yarn/cache
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
restore-keys: |
${{ runner.os }}-yarn-
- name: Install yarn dependencies
run: yarn --immutable
- name: Set environment variables for build
run: cat env/.env.prod >> $GITHUB_ENV
- name: Build app
run: yarn build
- name: Login GCP dev
uses: google-github-actions/auth@v1
with:
credentials_json: ${{ secrets.GCP_SERVICEUSER_KEY_PROD }}
- name: Set up Cloud SDK
uses: google-github-actions/setup-gcloud@v1
- name: Upload static files to prod GCP bucket
run: gsutil -m rsync -R -d dist gs://${{env.bucket_name_prod}}/${{env.app_name}}/static