Skip to content

ci: replace ad-hoc linting job with citus/stylechecker:no-py style check - #1126

Merged
dimitri merged 2 commits into
mainfrom
ci-modernisation
Jul 6, 2026
Merged

ci: replace ad-hoc linting job with citus/stylechecker:no-py style check#1126
dimitri merged 2 commits into
mainfrom
ci-modernisation

Conversation

@dimitri

@dimitri dimitri commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Move C formatting and banned-function checks out of the test matrix into a dedicated style_checker job that runs in the official citus/stylechecker:no-py container. This guarantees the same citus_indent version is used locally and in CI, and removes an awkward conditional matrix entry that was skipping the build steps.

Changes

.github/workflows/run-tests.yml

  • Add style_checker job: citus_indent --check + ci/banned.h.sh in the stylechecker container
  • Remove PGVERSION: 14 / TEST: linting matrix entry and its three conditional steps (install tools, make lint, build-docs)
  • Remove LINTING and TRAVIS_BUILD_DIR environment variables (dead code from the Travis era)
  • Remove if: ${{ env.TEST != 'linting' }} guards on build and test steps
  • Update actions/checkout from v3 to v4.2.2
  • Fix YAML indentation on branch triggers (cosmetic)

Makefile

  • Remove linting case from ci-test and test targets
  • Add CITUS_INDENT_DOCKER variable and docker-indent / docker-check targets so contributors can run the exact CI formatter locally without installing citus_indent
  • Update spellcheck target to use $(CITUS_INDENT_DOCKER) so make spellcheck matches CI

Before / after

Before: the linting job installed black, uncrustify, and Citus tools on the raw GitHub runner, adding ~2 minutes of setup and using whatever version of citus_indent was built from ci/tools.mk. The matrix had an awkward conditional entry that skipped the Docker build entirely.

After: style check runs in citus/stylechecker:no-py — the same pinned container used by the Citus project — taking ~20 seconds. The test matrix is uniform: every entry builds and runs.

dimitri added 2 commits July 6, 2026 14:11
Move C formatting and banned-function checks out of the test matrix into a
dedicated style_checker job that runs in the official citus/stylechecker:no-py
container.  This guarantees the same citus_indent version is used locally
(via the new docker-check / docker-indent Makefile targets) and in CI.

Changes:
- Add style_checker job: citus_indent --check + ci/banned.h.sh
- Remove PGVERSION=14 TEST=linting matrix entry and its three conditional steps
  (install tools, make lint, build-docs)
- Remove LINTING and TRAVIS_BUILD_DIR env vars (dead code from the Travis era)
- Remove linting case from ci-test and test Makefile targets
- Update actions/checkout from v3 to v4.2.2
- Add docker-indent / docker-check Makefile targets for local use
- Fix YAML indentation on branch triggers (cosmetic)
PG13 reached EOL in November 2025.
PG18 is not yet supported (packages missing on Debian bullseye).

Supported matrix is now PG14–17.
@dimitri
dimitri merged commit 15153cd into main Jul 6, 2026
42 of 44 checks passed
@dimitri
dimitri deleted the ci-modernisation branch July 6, 2026 14:57
@dimitri dimitri self-assigned this Jul 6, 2026
@dimitri dimitri added the Packaging and CI Enhancements to our CI integration label Jul 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Packaging and CI Enhancements to our CI integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant