From 6581b826cb039f9cf058c127474fea6415cb4a24 Mon Sep 17 00:00:00 2001 From: Raven Scott Date: Thu, 30 Jul 2026 17:08:52 -0400 Subject: [PATCH] only keep release CI --- .gitea/workflows/ci.yml | 51 ------------------------ .github/workflows/ci.yml | 83 ---------------------------------------- docs/CI.md | 6 +-- docs/RELEASE.md | 1 - docs/TESTING.md | 2 +- 5 files changed, 3 insertions(+), 140 deletions(-) delete mode 100644 .gitea/workflows/ci.yml delete mode 100644 .github/workflows/ci.yml diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml deleted file mode 100644 index 7e641e6..0000000 --- a/.gitea/workflows/ci.yml +++ /dev/null @@ -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://git@github.com/" - git config --global url."https://github.com/".insteadOf "git@github.com:" - 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 diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml deleted file mode 100644 index 5b74302..0000000 --- a/.github/workflows/ci.yml +++ /dev/null @@ -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://git@github.com/" - git config --global url."https://github.com/".insteadOf "git@github.com:" - 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 diff --git a/docs/CI.md b/docs/CI.md index d8fe02e..bfc0e9f 100644 --- a/docs/CI.md +++ b/docs/CI.md @@ -13,14 +13,13 @@ PearData mirrors the PearDock-style **cross-compile from one Linux runner** pipe | 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`** | Rolling job (ubuntu-latest, ~180m timeout): 1. System deps for Electron packaging 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) 5. `scripts/gitea-rolling-release.sh` - `make.cjs server` → `peardata-server-*.tar.gz` @@ -35,8 +34,7 @@ Manual inputs: `skip_client`, `server_hosts`, `client_hosts`, `dry_run`. | Workflow | Trigger | Jobs | |----------|---------|------| -| `.github/workflows/ci.yml` | push / PR / manual | **test** (Node 20+22), **lint-docs** | -| `.github/workflows/release.yml` | `v*` tags / manual | Same binary matrix → GitHub Release assets | +| `.github/workflows/release.yml` | `v*` tags / manual | Build matrix → GitHub Release assets | ## Local parity diff --git a/docs/RELEASE.md b/docs/RELEASE.md index 3276f41..c8d7ca0 100644 --- a/docs/RELEASE.md +++ b/docs/RELEASE.md @@ -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`** | | **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) Orchestrator: [`scripts/make.cjs`](../scripts/make.cjs) diff --git a/docs/TESTING.md b/docs/TESTING.md index 48a7ead..9c3fe33 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -112,7 +112,7 @@ Reports sent / received / errors. Use before release when changing session or ro ## 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).