Skip to content

Basic Github actions #7

Basic Github actions

Basic Github actions #7

Workflow file for this run

name: Checks
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
id: setup-bun
- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules/
key: ${{ runner.os }}-${{ steps.setup-bun.bun-version }}-node-modules
- name: Install deps
run: bun install
- name: Check formatting
run: bun run fmt-check
- name: ESLint
run: bun run lint
typecheck:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
id: setup-bun
- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules/
key: ${{ runner.os }}-${{ steps.setup-bun.bun-version }}-node-modules
- name: Install deps
run: bun install
- name: Typecheck
run: bun run typecheck
build:
runs-on: ubuntu-latest
needs:
- lint
- typecheck
steps:
- uses: actions/checkout@v3
- uses: oven-sh/setup-bun@v1
id: setup-bun
- name: Cache node_modules
uses: actions/cache@v3
with:
path: node_modules/
key: ${{ runner.os }}-${{ steps.setup-bun.bun-version }}-node-modules
- name: Install deps
run: bun install
- name: Build
run: bun run build
- name: Archive dist
uses: actions/upload-artifact@v3
with:
name: dist
path: dist
docker:
runs-on: ubuntu-latest
needs:
- build
steps:
- uses: actions/checkout@v3
- uses: actions/download-artifact@v3
with:
name: dist
path: dist/
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: docker build
uses: docker/build-push-action@v5
with:
push: false # Only checking build works for now
tags: lirsacc/siren-chorus:latest
cache-from: type=gha
cache-to: type=gha,mode=max