Skip to content

The checks can run here, before a push - #761

Merged
sridharkalaibala merged 1 commit into
developfrom
ci/the-checks-run-here-first
Sep 15, 2026
Merged

sridharkalaibala merged 1 commit into
developfrom
ci/the-checks-run-here-first

Conversation

@sridharkalaibala

Copy link
Copy Markdown
Contributor

Owner: "better run all ci stuff inside commit. github bill came around 200 usd", and on scope: "deploy stuff is okay. other check only i said."

npm run check runs the check half of ci.yml against the tree in front of you. About 25 seconds.

▶ Human attribution guard
▶ Lint and formatting (ESLint)
▶ Lint and formatting (Prettier)
▶ API docs are current
▶ Packaging checks (every required module is packaged)
▶ Packaging checks (no runtime require on a dev package)
▶ Packaging checks (every required package is declared)
○ Desktop tests (skipped)

All 7 check(s) passed in 25s.

Deploys, releases and installer packaging stay where they are: they need secrets, signing keys and three operating systems.

Opt-in with --all: the API unit suite, the REST suite against a real database, and the scan of every blob ever committed. Minutes each, and a check nobody waits for is a check nobody runs.

Pre-push, not pre-commit

A commit is how you save your place - twenty an hour, half of them on a branch nobody will ever see. A minute of checks in front of each one is how a hook ends up permanently disabled with -n, and then it protects nothing. A push is when the work leaves, which is the moment worth checking. git push --no-verify is the deliberate escape hatch.

The hook proved itself on its own first push: it ran, and this branch went out behind it.

A missing prerequisite skips, it does not fail

Three desktop tests need the pages CI builds first (npm run build:assets in frontend/), which a working copy does not have. Failing on that every time would make this hook the first thing anybody bypasses, so it says what is missing and gets out of the way.

What this does not do

Replace the checks on the pull request, and it is not meant to. Those run on a clean machine with a clean checkout - the only thing that catches a file never committed, a dependency installed globally, or a stale build left in a folder. This asks a weaker question of the tree you have, deliberately.

On the bill itself: this repository is public, and GitHub does not charge for standard runners on public repositories - so POS minutes are not what the $200 is. See the conversation for where to look. This is still worth having for the round trip it saves.

Owner: "better run all ci stuff inside commit. github bill came around 200
usd", and on scope: "deploy stuff is okay. other check only i said."

`npm run check` runs the CHECK half of ci.yml against the tree in front of you:
the attribution guard, ESLint, Prettier, the API docs comparison, the three
packaging checks and the desktop suite. About twenty-five seconds. The deploys,
the releases and the installer packaging stay where they are - they need
secrets, signing keys and three operating systems.

The slow ones are opt-in with --all: the API unit suite, the REST suite against
a real database, and the scan of every blob ever committed. A check nobody
waits for is a check nobody runs.

PRE-PUSH, NOT PRE-COMMIT. A commit is how you save your place - twenty an hour,
half of them on a branch nobody will see. A minute of checks in front of each
is how a hook ends up permanently disabled with -n, and then it protects
nothing. A push is when the work leaves.

A missing prerequisite SKIPS rather than fails. Three desktop tests need the
pages CI builds first, which a working copy does not have; failing on that
every time would make this hook the first thing anybody bypasses.

This does not replace the checks on the pull request, and is not meant to. They
run on a clean machine with a clean checkout, which is the only thing that
catches a file never committed or a stale build left in a folder.
@sridharkalaibala
sridharkalaibala merged commit b6ac7b5 into develop Sep 15, 2026
8 of 9 checks passed
@github-actions github-actions Bot added the ready for QA Merged to develop and live on develop.posnic.io - anyone can test it label Sep 15, 2026
@github-actions

Copy link
Copy Markdown
Contributor

Merged to develop. Anyone can test this - you do not need write access.

Try it at https://develop.posnic.io, or run it yourself:

git fetch origin develop && git checkout develop
npm install && npm --prefix api install
npm run dev   # then http://localhost:3000

When you have tested it, say what you did and what happened, and set
QA passed or QA failed. If you cannot set labels, just comment -
a maintainer will.

Reporting that something is broken is as useful as fixing it. It is
better found here than by a shopkeeper.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ready for QA Merged to develop and live on develop.posnic.io - anyone can test it

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant