Repository navigation
ci: add go test -race and shellcheck - #144
Merged
Merged
Conversation
go test -race runs on every package that passes under the race detector locally (all but ./server, which needs a -race check against postgres first). A new shell job runs shellcheck on install.sh, update.sh, start.sh and scripts/backup.sh.
The first run reported only info-level notes (SC2015 in update.sh, SC2012 and SC2086 on the intentional glob in backup.sh), which made the job fail.
BaaRai
added a commit
that referenced
this pull request
Nov 3, 2026
The -race step reused the job's ARTEX_PG_DSN, so it ran against the database the plain test step had just populated. The db tests are not idempotent across runs and failed on duplicate llm_profiles names, turning main red right after #144 merged.
Merged
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Gap
CI (
.github/workflows/ci.yml) runs neither the race detector nor any shell linting. The install and maintenance scripts (install.sh,update.sh,start.sh,scripts/backup.sh) are only exercised by hand.Change
gojob: new stepgo test -race -p 1over./agent ./cmd/artex ./config ./db ./evidence ./guard ./intercept ./llmpool ./llmrec ./mcphttp ./notify ./sidequestion ./traffic. That is every package with tests except./server. It keeps-p 1for the same shared-postgres reason as the existing test step.shelljob:shellcheck -S warning install.sh update.sh start.sh scripts/backup.sh. shellcheck is preinstalled onubuntu-latest. The severity iswarningbecause the first run, at the default severity, failed only on info-level notes in code that is intentional as written:A && B || Cinupdate.shlines 17 and 35.backup.sh'sprune.govulncheckand adocker buildjob. The CI workflow has no infrastructure for either yet (no Go tool install step, no buildx setup or binary artifact inci.yml), so they are left for a separate change.Verification
go test -race -count=1was run per package. Every package above passed with noDATA RACEreport../serverfails locally only because its 34 database tests have no Postgres, and it showed no race report either. It is excluded until someone checks it with-raceagainst Postgres.go testandgo test -raceboth succeeded.shellfailed on the info-level notes listed above.-S warning):go,shellandweball succeeded.yaml.safe_loadparses the workflow.Not verified:
install.shandbackup.shfixes) are not covered until they are rebased onto this.