• v2.8.0 bc6a4607a9

    v2.8.0
    All checks were successful
    published / fetched (push) Successful in 0s
    published / gpg-is-ready (push) Successful in 5s
    published / projectfile-is-valid (push) Successful in 6s
    published / source-is-tested (push) Successful in 6s
    published / signing-is-ready (push) Successful in 6s
    published / source-is-compliant (push) Successful in 7s
    published / projectfile-is-ok (push) Successful in 5s
    published / source-is-secure (push) Successful in 12s
    published / source-passes-lint (push) Successful in 40s
    published / source-is-ok (push) Successful in 0s
    published / documentation-passes-lint (push) Successful in 49s
    published / documentation-is-ok (push) Successful in 0s
    published / inputs-are-ok (push) Successful in 0s
    published / binaries-are-built (arm64, linux) (push) Successful in 5s
    published / binaries-are-built (amd64, linux) (push) Successful in 5s
    published / binaries-are-built (riscv64, linux) (push) Successful in 5s
    published / binaries-are-built (arm64, darwin) (push) Successful in 5s
    published / binaries-are-built (amd64, darwin) (push) Successful in 5s
    published / gsa (riscv64, linux) (push) Successful in 4s
    published / gsa (amd64, darwin) (push) Successful in 4s
    published / gsa (amd64, linux) (push) Successful in 4s
    published / gsa (arm64, linux) (push) Successful in 5s
    published / gsa (arm64, darwin) (push) Successful in 4s
    published / binaries-are-ok (push) Successful in 0s
    published / binaries-are-signed (push) Has been skipped
    published / binaries-are-torrented (push) Has been skipped
    published / binaries-torrent-is-verified (push) Has been skipped
    published / image-is-built (amd64) (push) Successful in 34s
    published / image-has-sbom (amd64) (push) Has been skipped
    published / secrets-ready (push) Successful in 0s
    published / images-are-ok (push) Successful in 0s
    published / container-is-ok (push) Successful in 0s
    published / container-ready-to-test (push) Successful in 0s
    published / image-is-secure (amd64) (push) Successful in 8s
    published / container-is-diagnosed (push) Successful in 0s
    published / container-is-verified (amd64) (push) Successful in 23s
    published / image-is-ready (push) Successful in 0s
    published / artifacts-are-ok (push) Successful in 0s
    published / ready-to-publish (push) Successful in 0s
    published / publish-image (dockerhub) (push) Successful in 3s
    published / publish-image (kiota) (push) Successful in 4s
    published / image-is-signed (push) Has been skipped
    published / release-is-published (push) Has been skipped
    published / release-notes-are-published (push) Has been skipped
    published / published (push) Successful in 0s
    Stable

    damian-buho released this 2026-10-16 19:15:18 +00:00 | 63 commits to dev since this release

    Signed by damian-buho
    GPG key ID: 87B15EAD49FD22AB

    13 commits, 1 contributor, 23 hours since v2.7.0.

    Features

    • render: name a fused job after a node that runs whenever it runs (2c68a5c)
    • matrix: lower matrix: {artifact: NAME} to TARGET_OS/TARGET_ARCH cells from the record (6c0925b)
    • render: leave tag runs to the stable branch when release.stable-dispatch opts in (bf06d66)
    • render: lower an action without a dedicated fragment to a generic uses step (4033bf3)

    Installation

    Container image

    Pull the published container image:

    Pull from DockerHub — linux/amd64

    docker pull damianbuho/projectfile-ci:v2.8.0
    

    If the registries above are unreachable, pull from the origin instead:

    Pull from Kiota — linux/amd64

    docker pull kiota.ch/projectfile/ci:v2.8.0
    

    Prebuilt binary

    Download the prebuilt binary for your platform from this release:

    mkdir -p ~/.local/bin
    curl --fail --location --output ~/.local/bin/pf-ci https://kiota.ch/projectfile/ci/releases/download/v2.8.0/pf-ci-$(uname -s | tr A-Z a-z)-$(uname -m)
    chmod +x ~/.local/bin/pf-ci
    ~/.local/bin/pf-ci --help
    

    Published for: linux/amd64, linux/arm64, linux/riscv64, darwin/amd64, darwin/arm64

    To uninstall, delete that one file: rm ~/.local/bin/pf-ci.

    Usage

    Lower the CI DAG to a forge’s workflow files:

    pf-ci resolve
    pf-ci generate -target forgejo
    pf-ci generate -target gha -check
    

    Verify

    Check that what you downloaded is what this project published.

    Container image

    The signature proves this project’s CI built and pushed the image; the attestation carries its software bill of materials.

    COSIGN_KEY=https://kiota.ch/damian-buho/metadata/raw/branch/main/keys/ci-cosign-key.pub
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true docker.io/damianbuho/projectfile-ci:v2.8.0
    cosign verify --key "$COSIGN_KEY" --insecure-ignore-tlog=true kiota.ch/projectfile/ci:v2.8.0
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx docker.io/damianbuho/projectfile-ci:v2.8.0
    cosign verify-attestation --key "$COSIGN_KEY" --insecure-ignore-tlog=true --type cyclonedx kiota.ch/projectfile/ci:v2.8.0
    

    Prebuilt binary

    The signature proves the binary is the one the maintainer’s release key signed.

    gpg --keyserver hkps://keys.openpgp.org --recv-keys 8F89CBF7C8D51F8BEC7533C00925F8F79EBD3257
    curl --fail --location --output pf-ci.asc https://kiota.ch/projectfile/ci/releases/download/v2.8.0/pf-ci-$(uname -s | tr A-Z a-z)-$(uname -m).asc
    gpg --verify pf-ci.asc pf-ci
    
    # every downloaded asset at once
    gpg --verify pf-ci-SHA256SUMS.asc pf-ci-SHA256SUMS
    sha256sum --check --ignore-missing pf-ci-SHA256SUMS
    

    Download via BitTorrent

    Fetch this release over BitTorrent with a magnet link, or with the attached .torrent file:

    Full changes: https://kiota.ch/projectfile/ci/compare/2.6.1...v2.8.0

    Downloads