From 2564b947ec5c48aa6059a4a9355f241e826d8e0e Mon Sep 17 00:00:00 2001 From: Yuqiang Wang <10815391+schchit@users.noreply.github.com> Date: Sun, 13 Sep 2026 11:07:06 +0800 Subject: [PATCH] Prepare verified distributions and complete deployment support --- .github/workflows/release.yml | 45 +++++++++++++++++++++++++++++++++++ RELEASE-NOTES.md | 5 ++++ VERSION | 1 + package-lock.json | 4 ++-- package.json | 2 +- 5 files changed, 54 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/release.yml create mode 100644 RELEASE-NOTES.md create mode 100644 VERSION diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..3bec49c --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,45 @@ +name: Publish versioned release +on: + push: + branches: [main] + paths: [VERSION, '.github/workflows/release.yml'] + workflow_dispatch: +permissions: + contents: read +concurrency: + group: release-${{ github.repository }} + cancel-in-progress: false +jobs: + release: + if: github.ref == 'refs/heads/main' + runs-on: ubuntu-latest + permissions: + contents: write + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-python@v5 + with: + python-version: '3.12' + - uses: actions/setup-node@v4 + with: + node-version: '24' + - run: npm ci && npm test + - run: git diff --exit-code -- dist + - run: mkdir -p dist && npm pack --pack-destination dist + - name: Validate release version + run: | + python -c "import pathlib,re; v=pathlib.Path('VERSION').read_text().strip(); assert re.fullmatch(r'[0-9]+\.[0-9]+\.[0-9]+(?:a[0-9]+)?',v)" + - uses: actions/upload-artifact@v4 + with: + name: distributions + path: dist/ + - name: Publish versioned GitHub release + env: + GH_TOKEN: ${{ github.token }} + run: | + version=$(cat VERSION) + if gh release view "v$version" >/dev/null 2>&1; then + echo 'This version already has a release; refusing to overwrite it.' + exit 1 + fi + gh release create "v$version" --target "$GITHUB_SHA" --title "v$version" --notes-file RELEASE-NOTES.md dist/* diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md new file mode 100644 index 0000000..b1c086d --- /dev/null +++ b/RELEASE-NOTES.md @@ -0,0 +1,5 @@ +# Release 0.6.1 + +Includes the reviewed September 2026 integrity, replay, persistence, async-lifecycle and compatibility repairs applicable to this repository. Wire/profile versions are unchanged unless explicitly described in the repository hardening notes. + +See HARDENING.md for supported verification scopes and migration boundaries. Registry publication and service deployment are reported by their workflows; a source merge alone is not a published package. diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..ee6cdce --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +0.6.1 diff --git a/package-lock.json b/package-lock.json index 32629bf..da745d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "jep-github-action", - "version": "0.6.0", + "version": "0.6.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "jep-github-action", - "version": "0.6.0", + "version": "0.6.1", "license": "Apache-2.0", "dependencies": { "@actions/artifact": "6.2.1", diff --git a/package.json b/package.json index 0c549ee..927ad2d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "jep-github-action", - "version": "0.6.0", + "version": "0.6.1", "description": "GitHub Action seed for generating JEP v0.6 event artifacts", "main": "dist/index.mjs", "type": "commonjs",