This is an automated email from the ASF dual-hosted git repository.
hsluoyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/casbin-mongodb-adapter.git
The following commit(s) were added to refs/heads/master by this push:
new ce40566 ci: replace semantic-release with tag-triggered manual
release (#78)
ce40566 is described below
commit ce40566fdcb447c41b9ce5e3314d8c69ab91f40b
Author: Ziyang Dong <[email protected]>
AuthorDate: Wed Aug 5 16:38:57 2026 +0800
ci: replace semantic-release with tag-triggered manual release (#78)
---
.github/workflows/ci.yml | 15 -------
.github/workflows/release.yml | 95 +++++++++++++++++++++++++++++++++++++++++++
.releaserc.json | 16 --------
DISCLAIMER | 5 +++
NOTICE | 8 ++++
5 files changed, 108 insertions(+), 31 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3644c19..b9dfe60 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -33,18 +33,3 @@ jobs:
- uses: shogo82148/actions-goveralls@v1
with:
path-to-profile: ./profile.cov
-
- semantic-release:
- needs: [test]
- runs-on: ubuntu-latest
- steps:
-
- - uses: actions/checkout@v2
-
- - name: Run semantic-release
- if: github.repository == 'casbin/mongodb-adapter' && github.event_name
== 'push'
- run: |
- npm install --save-dev [email protected]
- npx semantic-release
- env:
- GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
\ No newline at end of file
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..fc33d44
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,95 @@
+name: Release
+
+# Releases are cut manually by pushing a git tag:
+# v1.4.0-rc1 -> GitHub pre-release only (source package for the Apache vote)
+# v1.4.0 -> GitHub release (the Go module is published automatically by
+# proxy.golang.org once the tag exists)
+#
+# The release manager downloads the source package from the release, signs it
+# locally with their own GPG key, and uses it for the vote. This workflow does
+# not sign anything and does not touch any other Apache infrastructure.
+
+on:
+ push:
+ tags:
+ - "v*"
+
+permissions:
+ contents: write
+
+jobs:
+ release:
+ if: ${{ github.repository == 'apache/casbin-mongodb-adapter' }}
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ with:
+ fetch-depth: 0
+
+ - name: Compute release metadata
+ id: meta
+ run: |
+ TAG_NAME="${GITHUB_REF_NAME}"
+
+ if [[ "${TAG_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then
+ PRERELEASE=false
+ elif [[ "${TAG_NAME}" =~ ^v[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+$ ]]; then
+ PRERELEASE=true
+ else
+ echo "Unsupported release tag: ${TAG_NAME}. Use v1.2.3 or
v1.2.3-rc1." >&2
+ exit 1
+ fi
+
+ VERSION="${TAG_NAME#v}"
+ BASENAME="casbin-mongodb-adapter-${VERSION}-incubating-src"
+
+ {
+ echo "tag=${TAG_NAME}"
+ echo "version=${VERSION}"
+ echo "basename=${BASENAME}"
+ echo "prerelease=${PRERELEASE}"
+ } >> "${GITHUB_OUTPUT}"
+
+ - name: Build source release tarball
+ env:
+ BASENAME: ${{ steps.meta.outputs.basename }}
+ TAG: ${{ steps.meta.outputs.tag }}
+ run: |
+ set -euo pipefail
+ mkdir -p dist
+ git archive --format=tar.gz --prefix="${BASENAME}/" -o
"dist/${BASENAME}.tar.gz" "${TAG}"
+ cd dist
+ sha512sum "${BASENAME}.tar.gz" > "${BASENAME}.tar.gz.sha512"
+ sha512sum -c "${BASENAME}.tar.gz.sha512"
+ ls -l
+
+ - name: Write release notes
+ env:
+ VERSION: ${{ steps.meta.outputs.version }}
+ PRERELEASE: ${{ steps.meta.outputs.prerelease }}
+ BASENAME: ${{ steps.meta.outputs.basename }}
+ run: |
+ if [[ "${PRERELEASE}" == "true" ]]; then
+ printf 'Release candidate for version `%s`. This is **not** a
released version; it is the source artifact for the Apache release vote.\n'
"${VERSION%%-rc*}"
+ else
+ printf 'Version `%s`.\n' "${VERSION}"
+ fi
+ printf '\n| Asset | Description |\n| --- | --- |\n'
+ printf '| `%s.tar.gz` | Source release |\n' "${BASENAME}"
+ printf '| `%s.tar.gz.sha512` | SHA-512 checksum |\n\n' "${BASENAME}"
+ printf 'The release manager signs the tarball locally with their own
GPG key before starting the vote.\n'
+ # shellcheck: the script above deliberately keeps release notes minimal
+ # (per the project's policy: no extra Apache processes in CI).
+
+ - name: Create GitHub release
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: ${{ steps.meta.outputs.tag }}
+ name: Casbin MongoDB Adapter ${{ steps.meta.outputs.tag }}
+ body_path: release-notes.md
+ draft: false
+ prerelease: ${{ steps.meta.outputs.prerelease == 'true' }}
+ files: |
+ dist/${{ steps.meta.outputs.basename }}.tar.gz
+ dist/${{ steps.meta.outputs.basename }}.tar.gz.sha512
diff --git a/.releaserc.json b/.releaserc.json
deleted file mode 100644
index 58cb0bb..0000000
--- a/.releaserc.json
+++ /dev/null
@@ -1,16 +0,0 @@
-{
- "debug": true,
- "branches": [
- "+([0-9])?(.{+([0-9]),x}).x",
- "master",
- {
- "name": "beta",
- "prerelease": true
- }
- ],
- "plugins": [
- "@semantic-release/commit-analyzer",
- "@semantic-release/release-notes-generator",
- "@semantic-release/github"
- ]
-}
diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..1ef6eb0
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1,5 @@
+Apache Casbin (Incubating) is an effort undergoing incubation at the Apache
Software Foundation (ASF), sponsored by the Apache Incubator PMC.
+
+Incubation is required of all newly accepted projects until a further review
indicates that the infrastructure, communications, and decision making process
have stabilized in a manner consistent with other successful ASF projects.
+
+While incubation status is not necessarily a reflection of the completeness or
stability of the code, it does indicate that the project has yet to be fully
endorsed by the ASF.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..dfa082b
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,8 @@
+Apache Casbin (Incubating)
+Copyright 2026 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (https://www.apache.org/).
+
+Portions of this software were originally developed by the Casbin project.
+Copyright 2017-2026 The casbin Authors.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]