45 lines
1 KiB
YAML
45 lines
1 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
|
|
~/.bun/bin/bun --version
|
|
|
|
- name: Install dependencies
|
|
run: ~/.bun/bin/bun install --frozen-lockfile
|
|
|
|
- name: Run tests
|
|
run: ~/.bun/bin/bun test
|
|
|
|
- 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
|