pf-ci lowers the vendor-neutral org.projectfile.ci signal DAG to concrete CI workflow files for Forgejo Actions and GitHub Actions, dispatching each provider leaf to its recipe in projectfile/actions. Companion binary to pf-cli for the projectfile.org tooling.
- CI DAG to workflow lowering
See Features for the full list.
- Executable
pf-ci— commandpf-ci - Container image
ghcr.io/projectfile-org/ci:latest - Container image
damianbuho/projectfile-ci:latest
Pull the published container image:
docker pull ghcr.io/projectfile-org/ci:latestdocker pull damianbuho/projectfile-ci:latestStable releases also publish X.Y.Z, X.Y and X tags — pull the precision you want to pin.
If the registries above are unreachable, pull from the origin instead:
docker pull kiota.ch/projectfile/ci:latestInstall with the Go toolchain:
go install projectfile.org/projectfile/ci/v3/cmd/pf-ci@latestThen run pf-ci --help.
Download the prebuilt binary for your platform from GitHub Releases:
mkdir -p ~/.local/bin
curl --fail --location --output ~/.local/bin/pf-ci https://github.com/projectfile-org/ci/releases/latest/download/pf-ci-$(uname -s | tr A-Z a-z)-$(uname -m)
chmod +x ~/.local/bin/pf-ci
~/.local/bin/pf-ci --helpPublished for: linux/amd64, linux/arm64, linux/riscv64, darwin/amd64, darwin/arm64
To uninstall, delete that one file: rm ~/.local/bin/pf-ci.
Lower the CI DAG to a forge’s workflow files:
pf-ci resolve
pf-ci generate -target forgejo
pf-ci generate -target gha -checkClone the repository with its submodules:
git clone --recurse-submodules https://codeberg.org/projectfile/ci ci && cd ciBuild the container image locally:
make container-buildRun make with no arguments for the default target; run make help to list every target.
For the local dev loop, make dev-container brings up the dev-container.
Pipeline entry points:
make analyzed— Run the heavy analysis sweep (mutation testing, benchmarks)make audited— Re-scan the pinned dependencies and published artifacts for new vulnerabilitiesmake check-outdated— Report every pinned dependency that lags upstreammake release-is-ready— Run the pseudo-CI pipeline locally — build, test and scan, without publishing
This project is licensed under MIT — see the LICENSE file for details.