name: Semantic Release on: workflow_run: workflows: - Lint types: - completed permissions: actions: write contents: write issues: write pull-requests: write jobs: release: if: ${{ github.event.workflow_run.conclusion == 'success' }} runs-on: ubuntu-latest steps: - name: Checkout repo uses: actions/checkout@v3 - name: Set up Node.js uses: actions/setup-node@v3 with: node-version: "20" - name: Install dependencies run: npm install - name: Run tests run: npm test - name: Generate release notes and version 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: Create release metadata files run: | # Determine FRAPPE_BRANCH if not already set FRAPPE_BRANCH=${{ vars.FRAPPE_BRANCH || 'version-15' }} echo "FRAPPE_BRANCH=$FRAPPE_BRANCH" >> $GITHUB_ENV # Save metadata to files echo "${RELEASE_TAG}" > release_tag.txt echo "${FRAPPE_BRANCH}" > frappe_branch.txt - name: Upload release metadata uses: actions/upload-artifact@v4 with: name: release-metadata path: | release_tag.txt frappe_branch.txt