feat: add Forgejo Actions CI and release workflows #1

Merged
johnpreston merged 2 commits from ci/forgejo-actions into main 2026-09-20 18:06:08 +00:00
Contributor

Problem

johnpreston/flatdict has no CI on Forgejo.

Fix

Ports the CI/CD setup from compose-x/compose-x-common:

  • .forgejo/workflows/ci.yml: lint (ruff), test matrix (3.12/3.13/3.14), package build — job logic in the Makefile, shell-only checkout, act-runner cache via scripts/ci-cache.sh
  • .forgejo/workflows/release.yml: publish to PyPI on v* tags (requires PYPI_TOKEN secret)
  • Modernized flatdict.py (f-strings, yield from, py310+) with ruff-clean formatting

Validated locally: ruff clean, 86/86 tests pass, poetry build + twine check PASSED.

## Problem johnpreston/flatdict has no CI on Forgejo. ## Fix Ports the CI/CD setup from compose-x/compose-x-common: - `.forgejo/workflows/ci.yml`: lint (ruff), test matrix (3.12/3.13/3.14), package build — job logic in the Makefile, shell-only checkout, act-runner cache via `scripts/ci-cache.sh` - `.forgejo/workflows/release.yml`: publish to PyPI on `v*` tags (requires `PYPI_TOKEN` secret) - Modernized `flatdict.py` (f-strings, `yield from`, py310+) with ruff-clean formatting Validated locally: ruff clean, 86/86 tests pass, `poetry build` + `twine check` PASSED.
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.
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!1
No description provided.