frappe_docker/.github/workflows/semantic-release.yml
Digikwal 46748bbb5b
ci: semantic-release workflow with safe sequencing and test gate
- Triggers only after 'Release Trigger' workflow confirms 'Check' passed
- Runs full semantic-release with test gate
- Removes redundant changelog plugin install
- Exports release tag as artifact for use in downstream Docker build
2025-06-26 17:26:04 +02:00

51 lines
1.2 KiB
YAML

# .github/workflows/semantic-release.yml
name: Semantic Release
on:
workflow_run:
workflows:
- Release Trigger
types:
- completed
permissions:
contents: write
issues: write
pull-requests: write
jobs:
release:
if: github.event.workflow_run.conclusion == 'success'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: "20"
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm test
- name: Run Semantic Release
id: semantic_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
RELEASE_TAG=$(npx semantic-release | tee /dev/stderr | grep -oP '(?<=next release version is )[^ ]+')
echo "RELEASE_TAG=${RELEASE_TAG}" >> $GITHUB_ENV
- name: Save release tag
run: echo "${RELEASE_TAG}" > release_tag.txt
- name: Upload release metadata
uses: actions/upload-artifact@v4
with:
name: release-metadata
path: release_tag.txt