Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions .github/rulesets/tag-semver.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{
"name": "Protect SemVer release tags",
"target": "tag",
"enforcement": "active",
"bypass_actors": [],
"conditions": {
"ref_name": {
"include": ["refs/tags/[0-9]+.[0-9]+.[0-9]+"],
"exclude": []
}
},
"rules": [
{"type": "deletion"},
{"type": "non_fast_forward"},
{"type": "update"},
{"type": "required_signatures"}
]
}
18 changes: 15 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: CI
name: ci

on:
push:
Expand All @@ -14,8 +14,8 @@ concurrency:
cancel-in-progress: false

jobs:
test:
name: test
validate:
name: static validators
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
Expand All @@ -24,3 +24,15 @@ jobs:
persist-credentials: false
- name: Validate public module
run: scripts/validate_module.sh

test:
name: test
needs: validate
if: ${{ always() }}
runs-on: ubuntu-latest
timeout-minutes: 5
steps:
- name: Preserve required check identity
env:
VALIDATE_RESULT: ${{ needs.validate.result }}
run: test "$VALIDATE_RESULT" = success
2 changes: 1 addition & 1 deletion .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
actions: read
contents: read
security-events: write
uses: NDDev-OpenNetwork/ci-workflows/.github/workflows/public-codeql.yml@b50364e2a415267688c1d845cea6866cdb5e53d6 # 0.1.4
uses: NDDev-OpenNetwork/ci-workflows/.github/workflows/public-codeql.yml@1eaaa687f32f81c33ac99be3db0b76d0204420b8 # 0.1.8
with:
# Public repository: `pull_request` runs untrusted fork code. Name the
# hosted runner explicitly — the reusable's default belongs to the pinned
Expand Down
70 changes: 70 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
name: release

on:
push:
tags:
- '[0-9]+.[0-9]+.[0-9]+'

permissions: {}

concurrency:
group: ${{ github.workflow }}-${{ github.run_id }}
cancel-in-progress: false

jobs:
resolve:
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
contents: read
outputs:
version: ${{ steps.version.outputs.version }}
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
persist-credentials: false
- name: Validate exact release identity
id: version
run: |
set -euo pipefail
version="$GITHUB_REF_NAME"
[[ "$version" =~ ^(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)\.(0|[1-9][0-9]*)$ ]]
[ "$(cat VERSION)" = "$version" ]
grep -Fxq "## [$version] - 2026-08-25" CHANGELOG.md
git fetch --no-tags origin main
git merge-base --is-ancestor "$GITHUB_SHA" origin/main
printf 'version=%s\n' "$version" >>"$GITHUB_OUTPUT"

promotion:
needs: resolve
permissions:
actions: read # verify exact public workflow evidence
contents: read # read the signed annotated tag
uses: NDDev-OpenNetwork/ci-workflows/.github/workflows/release-promotion-gate.yml@1eaaa687f32f81c33ac99be3db0b76d0204420b8 # 0.1.8
with:
version: ${{ needs.resolve.outputs.version }}
runner: ubuntu-latest

authorize:
needs: [resolve, promotion]
runs-on: ubuntu-latest
timeout-minutes: 5
environment: release
permissions: {}
steps:
- run: echo 'protected release authority granted'

publish:
needs: [resolve, promotion, authorize]
permissions:
contents: write # create the immutable release
id-token: write # mint Sigstore identity
attestations: write # persist provenance and SBOM attestations
artifact-metadata: write # persist attested artifact metadata
uses: NDDev-OpenNetwork/ci-workflows/.github/workflows/release-supply-chain.yml@1eaaa687f32f81c33ac99be3db0b76d0204420b8 # 0.1.8
with:
version: ${{ needs.resolve.outputs.version }}
package_name: cd-workflows
archive_paths: 'README.md LICENSE SECURITY.md CONTRIBUTING.md VERSION CHANGELOG.md .github schemas scripts tests'
runner: ubuntu-latest
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Versioning.

## [Unreleased]

## [0.1.1] - 2026-08-25

### Fixed

- `cd-apply` now proves a caller-supplied contract commit is an ancestor of
Expand Down
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.1
10 changes: 8 additions & 2 deletions catalog/actions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,5 +21,11 @@ actions:
sha: "043fb46d1a93c77aae656e7c1c64a875d1fc6a0a"
version: "v7.0.1"
- name: NDDev-OpenNetwork/ci-workflows/.github/workflows/public-codeql.yml
sha: "b50364e2a415267688c1d845cea6866cdb5e53d6"
version: "0.1.4"
sha: "1eaaa687f32f81c33ac99be3db0b76d0204420b8"
version: "0.1.8"
- name: NDDev-OpenNetwork/ci-workflows/.github/workflows/release-promotion-gate.yml
sha: "1eaaa687f32f81c33ac99be3db0b76d0204420b8"
version: "0.1.8"
- name: NDDev-OpenNetwork/ci-workflows/.github/workflows/release-supply-chain.yml
sha: "1eaaa687f32f81c33ac99be3db0b76d0204420b8"
version: "0.1.8"