ci: Forgejo Actions workflows (nodeless shell CI + cross-job dependency caching + PyPI release) #1

Open
hermes wants to merge 1 commit from ci/forgejo-actions into main
Member

Ports the Forgejo Actions CI setup already running in compose-x/ecs-files-composer (PR compose-x/ecs-files-composer#2) to ecs_composex.

  • .forgejo/workflows/ci.yml: lint (black/isort), tests matrix py3.10-3.14 (behave + pytest via make test), docs (sphinx), build — nodeless shell checkout (no JS actions, no node in containers), job logic via Makefile entry points, public ECR python containers
  • scripts/ci-cache.sh: shell client for the act-runner artifactcache REST protocol (actions/cache@v4 unreachable from this network), keyed on poetry.lock hash, best-effort, cache version ecs-composex-v1, keys ecx-poetry-*
  • .forgejo/workflows/release.yml: publish to PyPI on v* tags (PYPI_TOKEN secret)
  • Removed .github/workflows/pre-commit.yml and .github/workflows/codeql-analysis.yml (github.com actions unreachable from runner network); .pre-commit-config.yaml kept for local use; .cicd CodeBuild specs untouched

Adapted for this repo: lint is black + isort (this repo's conventions, per make conform / .pre-commit-config.yaml) rather than ruff; twine pip-installed in the build job (not a dev dependency here).

First run: cache save-only (miss on first run); savings from second run on.

Ports the Forgejo Actions CI setup already running in compose-x/ecs-files-composer (PR compose-x/ecs-files-composer#2) to ecs_composex. - .forgejo/workflows/ci.yml: lint (black/isort), tests matrix py3.10-3.14 (behave + pytest via make test), docs (sphinx), build — nodeless shell checkout (no JS actions, no node in containers), job logic via Makefile entry points, public ECR python containers - scripts/ci-cache.sh: shell client for the act-runner artifactcache REST protocol (actions/cache@v4 unreachable from this network), keyed on poetry.lock hash, best-effort, cache version ecs-composex-v1, keys ecx-poetry-* - .forgejo/workflows/release.yml: publish to PyPI on v* tags (PYPI_TOKEN secret) - Removed .github/workflows/pre-commit.yml and .github/workflows/codeql-analysis.yml (github.com actions unreachable from runner network); .pre-commit-config.yaml kept for local use; .cicd CodeBuild specs untouched Adapted for this repo: lint is black + isort (this repo's conventions, per make conform / .pre-commit-config.yaml) rather than ruff; twine pip-installed in the build job (not a dev dependency here). First run: cache save-only (miss on first run); savings from second run on.
ci: add Forgejo Actions workflows (nodeless shell CI, caching, PyPI release)
Some checks failed
CI / Lint (black/isort) (pull_request) Successful in 49s
CI / Tests (Python 3.10) (pull_request) Failing after 7m40s
CI / Tests (Python 3.11) (pull_request) Failing after 7m25s
CI / Tests (Python 3.14) (pull_request) Has been cancelled
CI / Docs build (pull_request) Has been cancelled
CI / Package build (pull_request) Has been cancelled
CI / Tests (Python 3.13) (pull_request) Has been cancelled
CI / Tests (Python 3.12) (pull_request) Has been cancelled
ab8335074d
Some checks failed
CI / Lint (black/isort) (pull_request) Successful in 49s
CI / Tests (Python 3.10) (pull_request) Failing after 7m40s
CI / Tests (Python 3.11) (pull_request) Failing after 7m25s
CI / Tests (Python 3.14) (pull_request) Has been cancelled
CI / Docs build (pull_request) Has been cancelled
CI / Package build (pull_request) Has been cancelled
CI / Tests (Python 3.13) (pull_request) Has been cancelled
CI / Tests (Python 3.12) (pull_request) Has been cancelled
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
View command line instructions

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u origin 'ci/forgejo-actions:ci/forgejo-actions'
git switch 'ci/forgejo-actions'

Merge

Merge the changes and update on Forgejo.

Warning: The "Autodetect manual merge" setting is not enabled for this repository, you will have to mark this pull request as manually merged afterwards.

git switch 'main'
git merge --no-ff 'ci/forgejo-actions'
git switch 'ci/forgejo-actions'
git rebase 'main'
git switch 'main'
git merge --ff-only 'ci/forgejo-actions'
git switch 'ci/forgejo-actions'
git rebase 'main'
git switch 'main'
git merge --no-ff 'ci/forgejo-actions'
git switch 'main'
git merge --squash 'ci/forgejo-actions'
git switch 'main'
git merge --ff-only 'ci/forgejo-actions'
git switch 'main'
git merge 'ci/forgejo-actions'
git push origin 'main'
Sign in to join this conversation.
No reviewers
No labels
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
compose-x/ecs_composex!1
No description provided.