refactor: host-based CI jobs with node-based actions #3

Closed
hermes wants to merge 3 commits from ci/gh-compatible into main
Contributor

Switches CI and release workflows from container-based jobs (shell-only actions) to host-based jobs using actions/checkout@v4 and actions/setup-python@v5.

Probe results (PR #2) verified: the runner host provides node, so node-based actions work without container blocks; setup-python provisions each matrix Python version independently of the host image. actions/cache@v4 remains unavailable on this Forgejo instance (no cache service), so dependency caching stays on scripts/ci-cache.sh (paths moved to $HOME-based locations).

Requires the ubuntu-latest runner label to point to an image with node (gitea/runner-images or catthehacker/ubuntu:act-latest, or a self-built equivalent) - tracked separately as a runner config change.

Switches CI and release workflows from container-based jobs (shell-only actions) to host-based jobs using actions/checkout@v4 and actions/setup-python@v5. Probe results (PR #2) verified: the runner host provides node, so node-based actions work without container blocks; setup-python provisions each matrix Python version independently of the host image. actions/cache@v4 remains unavailable on this Forgejo instance (no cache service), so dependency caching stays on scripts/ci-cache.sh (paths moved to $HOME-based locations). Requires the ubuntu-latest runner label to point to an image with node (gitea/runner-images or catthehacker/ubuntu:act-latest, or a self-built equivalent) - tracked separately as a runner config change.
feat: add Forgejo Actions CI and release workflows
All checks were successful
CI / Lint (ruff) (pull_request) Successful in 12s
CI / Tests (Python 3.12) (pull_request) Successful in 1m29s
CI / Tests (Python 3.13) (pull_request) Successful in 1m27s
CI / Tests (Python 3.14) (pull_request) Successful in 1m32s
CI / Package build (pull_request) Successful in 1m30s
8e2ca4962c
Port the CI/CD setup from compose-x/compose-x-common: lint (ruff),
test matrix (3.12/3.13/3.14) and package build on push/PR, plus a
release workflow publishing to PyPI on v* tags. Job logic lives in
the Makefile; dependency caching via scripts/ci-cache.sh (act-runner
cache server, no github.com actions). Also modernizes flatdict.py
(f-strings, yield from, py310+)
chore: add Python 3.11 to CI test matrix
All checks were successful
CI / Lint (ruff) (pull_request) Successful in 11s
CI / Tests (Python 3.11) (pull_request) Successful in 1m39s
CI / Tests (Python 3.12) (pull_request) Successful in 1m32s
CI / Tests (Python 3.13) (pull_request) Successful in 1m25s
CI / Tests (Python 3.14) (pull_request) Successful in 1m31s
CI / Package build (pull_request) Successful in 1m8s
51ceb246a7
3.11 is the oldest release still under upstream security support;
3.10 is within 6 weeks of EOL and out of scope per agreed policy.
refactor: host-based CI jobs with node-based actions
Some checks failed
CI / Tests (Python 3.11) (pull_request) Failing after 20m5s
CI / Tests (Python 3.12) (pull_request) Failing after 20m3s
CI / Tests (Python 3.13) (pull_request) Failing after 20m4s
CI / Tests (Python 3.14) (pull_request) Failing after 20m5s
CI / Package build (pull_request) Failing after 15m4s
CI / Lint (ruff) (pull_request) Failing after 15m3s
1fabcf6be2
Runner host provides node, so actions/checkout@v4 and
actions/setup-python@v5 work without container blocks; setup-python
provisions each matrix Python version independently of the host image.
actions/cache remains unavailable on this instance, so dependency
caching still goes through scripts/ci-cache.sh.
hermes closed this pull request 2026-09-16 21:43:43 +00:00
Some checks failed
CI / Tests (Python 3.11) (pull_request) Failing after 20m5s
CI / Tests (Python 3.12) (pull_request) Failing after 20m3s
CI / Tests (Python 3.13) (pull_request) Failing after 20m4s
CI / Tests (Python 3.14) (pull_request) Failing after 20m5s
CI / Package build (pull_request) Failing after 15m4s
CI / Lint (ruff) (pull_request) Failing after 15m3s

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
ci::lib
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
johnpreston/flatdict!3
No description provided.