Skip to content

Update all non-major dependencies #113

Update all non-major dependencies

Update all non-major dependencies #113

Workflow file for this run

name: Deploy
on:
push:
branches:
- main
workflow_dispatch:
jobs:
build:
strategy:
fail-fast: false
matrix:
apps: [api, worker, web]
permissions:
packages: write
name: Build
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/cache@v4
with:
path: app-target
key: ${{ runner.os }}-app-target-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.apps }}
- name: inject /app/target into docker
uses: reproducible-containers/[email protected]
with:
cache-source: app-target
cache-target: /app/${{ matrix.apps }}-build/target/
- uses: actions/cache@v4
with:
path: cargo-registry
key: ${{ runner.os }}-cargo-registry-${{ hashFiles('**/Cargo.lock') }}-${{ matrix.apps }}
- name: inject /usr/local/cargo/registry/ into docker
uses: reproducible-containers/[email protected]
with:
cache-source: cargo-registry
cache-target: /usr/local/cargo/registry/
- name: Docker build
if: ${{ matrix.apps == 'api' || matrix.apps == 'worker' }}
uses: docker/build-push-action@v6
with:
context: .
push: true
tags: ghcr.io/accurate0/perth-transport-map-${{ matrix.apps }}:latest,ghcr.io/accurate0/perth-transport-map-${{ matrix.apps }}:${{ github.sha }}
build-args: |
BINARY_NAME=perthtransport-${{ matrix.apps }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
- name: Docker build
if: ${{ matrix.apps == 'web' }}
uses: docker/build-push-action@v6
with:
context: perthtransport-${{ matrix.apps }}
build-args: |
VITE_MAPS_API_KEY=${{ secrets.VITE_MAPS_API_KEY }}
push: true
tags: ghcr.io/accurate0/perth-transport-map-${{ matrix.apps }}:latest,ghcr.io/accurate0/perth-transport-map-${{ matrix.apps }}:${{ github.sha }}
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,mode=max,dest=/tmp/.buildx-cache-new
# This ugly bit is necessary if you don't want your cache to grow forever
# till it hits GitHub's limit of 5GB.
# 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
deploy:
needs: build
uses: Accurate0/workflows/.github/workflows/deploy-app-k8s.yaml@main
with:
application-name: perth-transport-map
secrets:
TS_OAUTH_CLIENT_ID: ${{ secrets.TS_OAUTH_CLIENT_ID }}
TS_OAUTH_SECRET: ${{ secrets.TS_OAUTH_SECRET }}
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_AUTH_TOKEN }}