Skip to content

1734 registration2 ci cd #5

1734 registration2 ci cd

1734 registration2 ci cd #5

Workflow file for this run

name: Build BCIERS containers
on:
push:
branches: [develop, main]
pull_request:
branches: [develop, main]
workflow_dispatch:
# Cancel current job when pushing new commit into the PR
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
backend-docker-build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v3
with:
install: true
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/bcgov/cas-reg-backend
tags: |
type=sha,format=long,prefix=
latest
type=ref,event=pr
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Cache Docker layers
uses: actions/cache@v4
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-bc_obps-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-bc_obps
- name: Build image
uses: docker/build-push-action@v5
with:
context: bc_obps
builder: ${{ steps.buildx.outputs.name }}
push: true
file: bc_obps/Dockerfile
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
# nx-docker-build-registration:
# runs-on: ubuntu-latest
# defaults:
# run:
# working-directory: ./bciers
# needs: backend-docker-build
# steps:
# - name: Checkout
# uses: actions/checkout@v4
# with:
# fetch-depth: 0
# - name: Setup Docker Buildx
# uses: docker/setup-buildx-action@v2
# - name: Docker metadata
# id: meta
# uses: docker/metadata-action@v3
# with:
# images: ghcr.io/bcgov/cas-reg-frontend
# tags: |
# type=sha,format=long,prefix=
# latest
# type=ref,event=pr
# - name: Login to GitHub Container Registry
# uses: docker/login-action@v2
# with:
# registry: ghcr.io
# username: ${{ github.repository_owner }}
# password: ${{ secrets.GITHUB_TOKEN }}
# - name: Install dependencies
# run: |
# corepack enable
# yarn install --immutable
# cd ../bciers && yarn install --immutable
# - uses: actions/setup-node@v3
# - name: Derive appropriate SHAs for base and head for `nx affected` commands
# uses: nrwl/nx-set-shas@v4
# with:
# # This will need to be updated when giraffe-develop merges with develop
# main-branch-name: "develop"
# - name: Cache Docker layers
# uses: actions/cache@v3
# with:
# path: /tmp/.buildx-cache
# key: ${{ runner.os }}-buildx-bciers-registration${{ github.sha }}
# restore-keys: |
# ${{ runner.os }}-buildx-bciers-registration
# - name: Build images
# env:
# INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# INPUT_PUSH: true
# INPUT_TAGS: ${{ steps.meta.outputs.tags }}
# INPUT_LABELS: ${{ steps.meta.output.labels }}
# INPUT_CACHE_FROM: type=local,src=/tmp/.buildx-cache
# INPUT_CACHE_TO: type=local,dest=/tmp/.buildx-cache-new
# run: |
# npx nx container registration --skip-nx-cache
# # Temp fix
# # https://github.com/docker/build-push-action/issues/252
# # https://github.com/moby/buildkit/issues/1896
# - name: Move cache
# run: |
# rm -rf /tmp/.buildx-cache
# mv /tmp/.buildx-cache-new /tmp/.buildx-cache
nx-docker-build-registration1:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./bciers
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: ghcr.io/bcgov/cas-reg1-frontend
tags: |
type=sha,format=long,prefix=
latest
type=ref,event=pr
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
corepack enable
yarn install --immutable
cd ../bciers && yarn install --immutable
- uses: actions/setup-node@v3
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4
with:
# This will need to be updated when giraffe-develop merges with develop
main-branch-name: "develop"
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-bciers-registration1${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-bciers-registration1
- name: Build images
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_PUSH: true
INPUT_TAGS: ${{ steps.meta.outputs.tags }}
INPUT_LABELS: ${{ steps.meta.output.labels }}
INPUT_CACHE_FROM: type=local,src=/tmp/.buildx-cache
INPUT_CACHE_TO: type=local,dest=/tmp/.buildx-cache-new
run: |
npx nx container registration1 --skip-nx-cache
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
nx-docker-build-reporting:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./bciers
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Docker metadata
id: meta
uses: docker/metadata-action@v3
with:
images: ghcr.io/bcgov/cas-rep-frontend
tags: |
type=sha,format=long,prefix=
latest
type=ref,event=pr
- name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install dependencies
run: |
corepack enable
yarn install --immutable
cd ../bciers && yarn install --immutable
- uses: actions/setup-node@v3
- name: Derive appropriate SHAs for base and head for `nx affected` commands
uses: nrwl/nx-set-shas@v4
with:
# This will need to be updated when giraffe-develop merges with develop
main-branch-name: "develop"
- name: Cache Docker layers
uses: actions/cache@v3
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-bciers-reporting${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-bciers-reporting
- name: Build images
env:
INPUT_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
INPUT_PUSH: true
INPUT_TAGS: ${{ steps.meta.outputs.tags }}
INPUT_LABELS: ${{ steps.meta.output.labels }}
INPUT_CACHE_FROM: type=local,src=/tmp/.buildx-cache
INPUT_CACHE_TO: type=local,dest=/tmp/.buildx-cache-new
run: |
npx nx container reporting --skip-nx-cache
# Temp fix
# https://github.com/docker/build-push-action/issues/252
# https://github.com/moby/buildkit/issues/1896
- name: Move cache
run: |
rm -rf /tmp/.buildx-cache
mv /tmp/.buildx-cache-new /tmp/.buildx-cache
# Call the test containers workflow after all the containers have been built
test-containers:
needs:
[
backend-docker-build,
nx-docker-build-registration1,
nx-docker-build-reporting,
]
uses: ./.github/workflows/test-containers.yaml
secrets: inherit