islandflow/.forgejo/workflows/ci.yml
dirtydishes 44431c4e66
All checks were successful
CI / Validate (push) Successful in 1m13s
expand ci quality gates
2026-05-30 02:34:28 -04:00

58 lines
1.4 KiB
YAML

name: CI
on:
pull_request:
push:
branches:
- main
workflow_dispatch:
permissions:
contents: read
concurrency:
group: ci-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
validate:
name: Validate
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout repository
uses: https://data.forgejo.org/actions/checkout@v4
- name: Install Bun
run: |
set -euo pipefail
apt-get update
apt-get install --yes --no-install-recommends curl unzip
rm -rf /var/lib/apt/lists/*
curl -fsSL https://bun.sh/install | bash
echo "$HOME/.bun/bin" >> "$GITHUB_PATH"
~/.bun/bin/bun --version
- name: Install dependencies
run: ~/.bun/bin/bun install --frozen-lockfile
- name: Check formatting
run: ~/.bun/bin/bun run fmt:check
- name: Run lint
run: ~/.bun/bin/bun run lint
- name: Run typecheck
run: ~/.bun/bin/bun run typecheck
- name: Run tests
run: ~/.bun/bin/bun test
- name: Check public API routes
run: ~/.bun/bin/bun run check:public-api-routes
- name: Check Docker workspace snapshot
run: ~/.bun/bin/bun run check:docker-workspace
- name: Build web app
run: ~/.bun/bin/bun --cwd=apps/web run build