name: Release on: push: paths: project.toml branches: - main permissions: contents: write jobs: release: runs-on: ubuntu-latest steps: - name: Wait for build workflow to succeed uses: lewagon/wait-on-check-action@v1.3.4 with: ref: ${{ github.ref }} check-regexp: 'with rust' repo-token: ${{ secrets.GITHUB_TOKEN }} wait-interval: 10 - name: Checkout uses: actions/checkout@v4 with: fetch-depth: 0 ref: ${{ github.ref }} - name: Setup python uses: actions/setup-python@v5 with: python-version: "3.11" - name: Read version from project config id: read_toml uses: SebRollen/toml-action@v1.0.2 with: file: project.toml field: project.version - name: Replace template run: python3 scripts/replace-template.py - name: Commit changes uses: EndBug/add-and-commit@v7 with: message: '[Release] ${{ steps.read_toml.outputs.value }}' pull_strategy: 'NO-PULL' push: false - name: Push changes run: | git pull --rebase git push - name: Bump version and push tag id: tag_version uses: mathieudutour/github-tag-action@v6.1 with: github_token: ${{ secrets.GITHUB_TOKEN }} custom_tag: ${{ steps.read_toml.outputs.value }} - name: Create a GitHub release uses: ncipollo/release-action@v1 with: tag: ${{ steps.tag_version.outputs.new_tag }} name: Release ${{ steps.tag_version.outputs.new_tag }} generateReleaseNotes: true