Skip to content

Update all non-major dependencies #510

Update all non-major dependencies

Update all non-major dependencies #510

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: 18
corepack: true
- name: find pnpm cache path
id: cache
run: echo "::set-output name=path::$(pnpm store path)"
- 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
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: BeeeQueue/setup-node@corepack
with:
node-version: 18
corepack: true
- name: find pnpm cache path
id: cache
run: echo "::set-output name=path::$(pnpm store path)"
- 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: 18
corepack: true
- name: find pnpm cache path
id: cache
run: echo "::set-output name=path::$(pnpm store path)"
- 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
# - uses: codecov/codecov-action@v2
# with:
# files: node_modules/.coverage/lcov.info
# fail_ci_if_error: true
build:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- 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: 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 }}
- name: Build and maybe Push Docker image
uses: docker/build-push-action@v4
with:
push: ${{ github.ref == 'refs/heads/master' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
deploy:
if: github.ref == 'refs/heads/master'
needs: [lint, test, typecheck, build]
runs-on: ubuntu-latest
permissions:
contents: read
packages: read
environment:
name: prod
url: https://siege.stratroulette.net/graphiql
steps:
- uses: actions/checkout@v3
- 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 }}
- name: Declare some variables
id: sha
shell: bash
run: echo "::set-output name=short::$(git rev-parse --short HEAD)"
- name: Push to dokku
uses: dokku/[email protected]
with:
git_remote_url: "ssh://dokku@${{ secrets.SERVER_IP }}:22/siege"
deploy_docker_image: "ghcr.io/sr-net/siege:${{ steps.sha.outputs.short }}"
ssh_private_key: ${{ secrets.DOKKU_PRIVATE_KEY }}