35 lines
1.4 KiB
YAML
35 lines
1.4 KiB
YAML
# bun run ci on every push to main and every pull request into main: adapters, desktop version, tests, typecheck,
|
|
# desktop i18n / typecheck / build, desktop boot check (headless Chromium), desktop Rust tests and clippy, scrub. Runs on the VDS runner (docs/desktop-release.md).
|
|
# tools/ci.ts runs the steps as a task graph and the tests as parallel shards (CPU cores - 1, max 8) on the one
|
|
# self-hosted runner, so a job matrix would only queue; CI=full makes it run the Rust steps on every push.
|
|
# Publishes nothing: site/ is still published by Jenkins; releases come from release.yml (a v* tag).
|
|
# release.yml's ci job runs the same steps (the setup is shared: .forgejo/actions/linux-setup).
|
|
name: ci
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
BUN_VERSION: '1.4.0'
|
|
CARGO_TERM_COLOR: never
|
|
CARGO_INCREMENTAL: '0'
|
|
CI: full
|
|
|
|
jobs:
|
|
ci:
|
|
# runner label: ubuntu-22.04:docker://ghcr.io/catthehacker/ubuntu:act-22.04
|
|
runs-on: ubuntu-22.04
|
|
# the self-hosted runner only runs code from this repo: pull requests from forks are skipped
|
|
if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository
|
|
timeout-minutes: 60
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: ./.forgejo/actions/linux-setup
|
|
with:
|
|
cache-key: ci
|
|
rust-components: clippy
|
|
- uses: ./.forgejo/actions/ci-run
|