Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 28 additions & 0 deletions .github/workflows/build-gate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,13 @@ concurrency:

jobs:
typecheck:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Typecheck
runs-on: ubuntu-latest
steps:
Expand All @@ -44,6 +51,13 @@ jobs:
- run: npm run typecheck

unit-tests:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Unit tests
runs-on: ubuntu-latest
steps:
Expand All @@ -63,6 +77,13 @@ jobs:
- run: npx vitest run

frontend-build:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Frontend build
runs-on: ubuntu-latest
steps:
Expand All @@ -86,6 +107,13 @@ jobs:
- run: npm run build -w @foxschema/web

lint:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: ESLint
runs-on: ubuntu-latest
steps:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,13 @@ permissions:

jobs:
analyze:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: CodeQL — JavaScript / TypeScript
runs-on: ubuntu-latest

Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/dependency-security.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,13 @@ permissions:
jobs:
# ── npm audit ──────────────────────────────────────────────────────────────
npm-audit:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: npm audit
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -68,6 +75,13 @@ jobs:

# ── ESLint security rules ──────────────────────────────────────────────────
eslint-security:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: ESLint security
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -99,6 +113,13 @@ jobs:
# ── node_modules backdoor / unexpected port scan ───────────────────────────
# Dedicated deep scan also lives in deps-backdoor-scan.yml (scheduled weekly).
deps-backdoor-scan:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Deps backdoor / port scan
runs-on: ubuntu-latest
steps:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/deps-backdoor-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,13 @@ permissions:

jobs:
scan-node-modules:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Scan node_modules (ports / backdoors)
runs-on: ubuntu-latest
steps:
Expand Down
7 changes: 7 additions & 0 deletions .github/workflows/secret-scan.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,13 @@ permissions:

jobs:
gitleaks:
# A version-bump commit changes four package.json version fields and
# nothing else, so there is nothing here for it to check. It used to carry
# `[skip ci]` for this, but that marker also suppresses the *tag* push that
# rides on the same commit, which silently disabled every release — see
# version-bump.yml. Skipping by message keeps the saving without that cost.
# Guarded on event_name so pull_request runs are never skipped.
if: "${{ github.event_name != 'push' || !startsWith(github.event.head_commit.message, 'chore: bump version') }}"
name: Gitleaks
runs-on: ubuntu-latest
steps:
Expand Down
13 changes: 12 additions & 1 deletion .github/workflows/version-bump.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,5 +83,16 @@ jobs:
packages/db/package.json \
apps/web/package.json \
apps/cli/package.json
git commit -m "chore: bump version to $V [skip ci]"
# No [skip ci]. GitHub honours that marker on *every* push event for
# the commit, tag pushes included — and the release tag lands on
# exactly this commit, so the marker silently disabled Release Gate,
# npm Publish and Web Release. v0.2.111 and v0.2.220 were both tagged
# and neither fired anything; the last tag that ran a release was
# v0.2.73, whose commit was an ordinary fix.
#
# The loop this marker looked like it was preventing is already
# prevented by the `if:` on this job, which refuses to bump a
# "chore: bump version" commit. The CI it saved is now saved by a
# matching guard on each push-triggered workflow.
git commit -m "chore: bump version to $V"
git push
Loading