Skip to content

Update all non-major dependencies #746

Update all non-major dependencies

Update all non-major dependencies #746

Workflow file for this run

name: ci&cd
on:
push:
branches:
- master
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: BeeeQueue/setup-node@corepack
with:
node-version: 20
corepack: true
- name: find pnpm cache path
id: cache
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
with:
path: ${{ steps.cache.outputs.path }}
key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-pnpm-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- run: pnpm lint --format compact
- uses: dprint/[email protected]
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: BeeeQueue/setup-node@corepack
with:
node-version: 20
corepack: true
- name: find pnpm cache path
id: cache
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
with:
path: ${{ steps.cache.outputs.path }}
key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-pnpm-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- run: pnpm typecheck
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: BeeeQueue/setup-node@corepack
with:
node-version: 20
corepack: true
- name: find pnpm cache path
id: cache
run: echo "path=$(pnpm store path)" >> $GITHUB_OUTPUT
- uses: actions/cache@v3
with:
path: ${{ steps.cache.outputs.path }}
key: v1-pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
v1-pnpm-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- run: pnpm test
env:
NODE_ENV: test
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
id-token: write
steps:
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: |
ghcr.io/${{ github.repository }}
tags: |
type=raw,value={{sha}}
type=raw,value=latest
- name: Set up depot
uses: depot/setup-action@v1
- name: Login to GHCR
if: github.ref == 'refs/heads/master'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and maybe Push Docker image
uses: depot/build-push-action@v1
with:
project: ks849krng9
push: ${{ github.ref == 'refs/heads/master' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
deploy:
if: github.ref == 'refs/heads/master'
needs: [lint, test, typecheck, build]
runs-on: ubuntu-latest
permissions:
packages: read
concurrency:
group: deploy
environment:
name: prod
url: https://arm.haglund.dev/api
steps:
- name: Login to GitHub Container Registry
if: github.ref == 'refs/heads/master'
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- uses: actions/checkout@v3
- name: Declare some variables
id: sha
shell: bash
run: echo "short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT
- name: Push to dokku
uses: dokku/[email protected]
with:
git_remote_url: "ssh://dokku@${{ secrets.SERVER_IP }}:22/arm-server"
deploy_docker_image: "ghcr.io/beeequeue/arm-server:${{ steps.sha.outputs.short }}"
ssh_private_key: ${{ secrets.DOKKU_PRIVATE_KEY }}