only keep release CI
Release rolling / release (push) Successful in 12m23s

This commit is contained in:
Raven Scott
2026-07-30 17:08:52 -04:00
parent 143ce8eb8e
commit 6581b826cb
5 changed files with 3 additions and 140 deletions
-51
View File
@@ -1,51 +0,0 @@
name: CI
on:
push:
branches: [main, master]
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
NODE_OPTIONS: '--dns-result-order=ipv4first'
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
steps:
- uses: actions/checkout@v4
- name: Use Node.js 22
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Install dependencies
timeout-minutes: 10
env:
GIT_TERMINAL_PROMPT: '0'
npm_config_fetch_retries: '3'
npm_config_fetch_timeout: '120000'
run: |
set -euo pipefail
git config --global url."https://github.com/".insteadOf "ssh://[email protected]/"
git config --global url."https://github.com/".insteadOf "[email protected]:"
npm install --no-audit --no-fund --loglevel=info
- name: Test
env:
SKIP_INTEGRATION: '1'
run: npm test
- name: Syntax check packaging entrypoints
run: |
node --check bin/peardata-server.mjs
node --check scripts/make.cjs
node --check scripts/bare-standalone.cjs
node --check forge.config.cjs
node --check electron/main.cjs
-83
View File
@@ -1,83 +0,0 @@
name: CI
on:
push:
branches: [main, master]
pull_request:
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
NODE_OPTIONS: '--dns-result-order=ipv4first'
jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 20
strategy:
matrix:
node: ['20', '22']
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Install dependencies
run: |
set -euo pipefail
git config --global url."https://github.com/".insteadOf "ssh://[email protected]/"
git config --global url."https://github.com/".insteadOf "[email protected]:"
npm install --no-audit --no-fund
- name: Unit tests
run: npm test
env:
# Integration may hang without UDP; unit suite still runs
SKIP_INTEGRATION: '0'
- name: Syntax check entrypoints
run: |
node --check server/server.js
node --check client/connection.js
node --check app.js
node --check shared/crypto-auth.js
lint-docs:
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- uses: actions/checkout@v4
- name: Required docs present
run: |
set -euo pipefail
for f in \
README.md \
LICENSE \
docs/ARCHITECTURE.md \
docs/PROTOCOL.md \
docs/DATA-MODEL.md \
docs/REST-API.md \
docs/ROADMAP.md \
docs/TECH-CHOICES.md \
docs/STORAGE-HYPERDB.md \
docs/GETTING-STARTED.md \
docs/SECURITY.md \
docs/DESKTOP.md \
docs/CONFIGURATION.md \
docs/TESTING.md \
docs/CI.md \
docs/RELEASE.md \
docs/EXTENDING.md \
.env.example
do
test -f "$f" || { echo "missing $f"; exit 1; }
done
# Desktop chrome must stay documented in the HTML shell
grep -q 'pear-ctrl' index.html
grep -q 'webkit-app-region: drag' ui/styles.css
+2 -4
View File
@@ -13,14 +13,13 @@ PearData mirrors the PearDock-style **cross-compile from one Linux runner** pipe
| Workflow | Trigger | Job | | Workflow | Trigger | Job |
|----------|---------|-----| |----------|---------|-----|
| `.gitea/workflows/ci.yml` | push / PR / manual | install, `npm test` |
| `.gitea/workflows/release-rolling.yml` | **every** push to `main`/`master` + manual | test → build matrix → Gitea tag **`rolling`** | | `.gitea/workflows/release-rolling.yml` | **every** push to `main`/`master` + manual | test → build matrix → Gitea tag **`rolling`** |
Rolling job (ubuntu-latest, ~180m timeout): Rolling job (ubuntu-latest, ~180m timeout):
1. System deps for Electron packaging 1. System deps for Electron packaging
2. `npm ci --ignore-scripts` + esbuild install 2. `npm ci --ignore-scripts` + esbuild install
3. `SKIP_INTEGRATION=1 npm test` 3. `SKIP_INTEGRATION=1 npm test` (inside the release job)
4. Install vendored `tools/rcodesign` (darwin client seal-sign) 4. Install vendored `tools/rcodesign` (darwin client seal-sign)
5. `scripts/gitea-rolling-release.sh` 5. `scripts/gitea-rolling-release.sh`
- `make.cjs server``peardata-server-*.tar.gz` - `make.cjs server``peardata-server-*.tar.gz`
@@ -35,8 +34,7 @@ Manual inputs: `skip_client`, `server_hosts`, `client_hosts`, `dry_run`.
| Workflow | Trigger | Jobs | | Workflow | Trigger | Jobs |
|----------|---------|------| |----------|---------|------|
| `.github/workflows/ci.yml` | push / PR / manual | **test** (Node 20+22), **lint-docs** | | `.github/workflows/release.yml` | `v*` tags / manual | Build matrix → GitHub Release assets |
| `.github/workflows/release.yml` | `v*` tags / manual | Same binary matrix → GitHub Release assets |
## Local parity ## Local parity
-1
View File
@@ -66,7 +66,6 @@ Desktop clients ship **QVAC** (`@qvac/sdk` + forge plugin) unless `PEARDATA_SKIP
|-------|----------|---------|--------| |-------|----------|---------|--------|
| **Gitea** | `.gitea/workflows/release-rolling.yml` | push `main`/`master` + manual | Build matrix → prerelease tag **`rolling`** | | **Gitea** | `.gitea/workflows/release-rolling.yml` | push `main`/`master` + manual | Build matrix → prerelease tag **`rolling`** |
| **GitHub** | `.github/workflows/release.yml` | `v*` tags + manual | Same matrix → GitHub Release assets | | **GitHub** | `.github/workflows/release.yml` | `v*` tags + manual | Same matrix → GitHub Release assets |
| Both | `.gitea/workflows/ci.yml` / `.github/workflows/ci.yml` | PR / push | Unit tests |
Rolling script: [`scripts/gitea-rolling-release.sh`](../scripts/gitea-rolling-release.sh) Rolling script: [`scripts/gitea-rolling-release.sh`](../scripts/gitea-rolling-release.sh)
Orchestrator: [`scripts/make.cjs`](../scripts/make.cjs) Orchestrator: [`scripts/make.cjs`](../scripts/make.cjs)
+1 -1
View File
@@ -112,7 +112,7 @@ Reports sent / received / errors. Use before release when changing session or ro
## CI ## CI
GitHub CI runs `npm test` on Node 20 and 22. Gitea CI runs `npm test` on Node 22 plus a liveness `healthcheck`. There is no separate test-only pipeline. Unit tests run as part of the **release** workflows (Gitea rolling / GitHub tagged release). Locally: `npm test` or `SKIP_INTEGRATION=1 npm test`.
See [CI.md](./CI.md). See [CI.md](./CI.md).