31 lines
1.4 KiB
YAML
31 lines
1.4 KiB
YAML
# `bun run ci` after .forgejo/actions/linux-setup: the target / timings caches, bun install, Node 20 (the npm bundle's oldest supported Node) and the full CI. Shared by ci.yml and release.yml.
|
|
name: ci-run
|
|
description: storebound's full CI (bun run ci) on the Linux runner
|
|
runs:
|
|
using: composite
|
|
steps:
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: apps/desktop/src-tauri/target
|
|
key: ci-target-${{ runner.os }}-${{ hashFiles('apps/desktop/src-tauri/Cargo.lock') }}
|
|
restore-keys: ci-target-${{ runner.os }}-
|
|
# recorded test durations (shard balance) and tsc's incremental build info
|
|
- uses: actions/cache@v4
|
|
with:
|
|
path: node_modules/.cache/storebound-ci
|
|
key: ci-timings-${{ runner.os }}-${{ github.sha }}
|
|
restore-keys: ci-timings-${{ runner.os }}-
|
|
- name: Install
|
|
shell: bash
|
|
run: |
|
|
bun --version && cargo --version
|
|
bun install --frozen-lockfile
|
|
# the npm bundle runs on Node 20+: tools/ci.ts smoke-tests dist/storebound.mjs with the oldest supported Node
|
|
- uses: actions/setup-node@v4
|
|
with:
|
|
node-version: '20'
|
|
# no browser tests in CI (tests/browser/ runs only with `bun run test:browser`); the changes of this push (against
|
|
# its parent; the checkout has fetch-depth 2) decide the Rust steps, as on a laptop against origin/main
|
|
- name: bun run ci
|
|
shell: bash
|
|
run: STOREBOUND_CI_BASE=HEAD~1 bun run ci
|