# .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