diff --git a/.github/workflows/draft-new-release.yaml b/.github/workflows/draft-new-release.yaml deleted file mode 100644 index dffc0f4f64..0000000000 --- a/.github/workflows/draft-new-release.yaml +++ /dev/null @@ -1,35 +0,0 @@ -name: 🏭 Draft Release - -on: - workflow_dispatch: - inputs: - bump: - description: 'Semver Bump Type' - required: true - default: 'patch' - type: choice - options: - - patch - - minor - - major - -jobs: - cut-release: - runs-on: ubuntu-latest - steps: - # Docs - https://github.com/mathieudutour/github-tag-action - # Workflows cannot trigger other workflows implicitly - # - https://github.community/t/github-actions-workflow-not-triggering-with-tag-push/17053/7 - - name: Bump Version and Push Tag - if: github.repository == 'open-goal/jak-project' - id: tag_version - uses: mathieudutour/github-tag-action@v6.2 - with: - github_token: ${{ secrets.BOT_PAT }} - tag_prefix: v - default_bump: ${{ github.event.inputs.bump }} - - - name: Create Release - env: - GITHUB_TOKEN: ${{ secrets.BOT_PAT }} - run: gh release create ${{ steps.tag_version.outputs.new_tag }} --generate-notes --draft --repo open-goal/jak-project diff --git a/.github/workflows/release-pipeline.yaml b/.github/workflows/release-pipeline.yaml index 6ed126518e..dcd7a65e50 100644 --- a/.github/workflows/release-pipeline.yaml +++ b/.github/workflows/release-pipeline.yaml @@ -1,11 +1,48 @@ -name: 🏭 Release Pipeline +name: 🏭 Draft Release on: - push: - tags: - - v* + workflow_dispatch: + inputs: + bump: + description: 'Semver Bump Type' + required: true + default: 'patch' + type: choice + options: + - patch + - minor + - major + +permissions: + contents: write jobs: + cut_release: + name: Cut Release + runs-on: ubuntu-latest + outputs: + new_tag: ${{ steps.set_tag.outputs.new_tag }} + steps: + # Docs - https://github.com/mathieudutour/github-tag-action + - name: Bump Version and Push Tag + if: github.repository == 'open-goal/jak-project' + id: tag_version + uses: mathieudutour/github-tag-action@v6.2 + with: + github_token: ${{ secrets.GITHUB_TOKEN }} + tag_prefix: v + default_bump: ${{ github.event.inputs.bump }} + + - name: Create Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: gh release create ${{ steps.tag_version.outputs.new_tag }} --generate-notes --draft --repo ${{ github.repository }} + + - name: Output new tag + id: set_tag + run: | + echo "new_tag=${{ steps.tag_version.outputs.new_tag }}" >> $GITHUB_OUTPUT + # Windows build_windows_clang: name: "🖥️ Windows" @@ -40,6 +77,7 @@ jobs: upload_artifacts: if: github.repository == 'open-goal/jak-project' needs: + - cut_release - build_windows_clang - build_linux_clang - build_macos_intel @@ -47,6 +85,8 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 + with: + ref: ${{ needs.cut_release.outputs.new_tag }} - name: Prepare Artifact Folder run: mkdir -p ./ci-artifacts/final @@ -64,7 +104,7 @@ jobs: mkdir -p ./ci-artifacts/linux ./.github/scripts/releases/extract_build_unix.sh ./ci-artifacts/linux ./ci-artifacts/opengoal-linux-static ./ pushd ci-artifacts/linux - TAG_VAL=$(echo ${{ github.REF }} | awk -F'refs/tags/' '{print $2}') + TAG_VAL=${{ needs.cut_release.outputs.new_tag }} tar czf ../final/opengoal-linux-${TAG_VAL}.tar.gz . popd chmod +x ./ci-artifacts/opengoal-linux-static/lsp/lsp @@ -74,7 +114,7 @@ jobs: run: | mkdir -p ./ci-artifacts/windows ./.github/scripts/releases/extract_build_windows.sh ./ci-artifacts/windows ./ci-artifacts/opengoal-windows-static ./ - TAG_VAL=$(echo ${{ github.REF }} | awk -F'refs/tags/' '{print $2}') + TAG_VAL=${{ needs.cut_release.outputs.new_tag }} 7z a -tzip ./ci-artifacts/final/opengoal-windows-${TAG_VAL}.zip ./ci-artifacts/windows/* cp ./ci-artifacts/opengoal-windows-static/lsp.exe ./ci-artifacts/final/opengoal-lsp-windows-${TAG_VAL}.exe @@ -83,7 +123,7 @@ jobs: mkdir -p ./ci-artifacts/macos ./.github/scripts/releases/extract_build_unix.sh ./ci-artifacts/macos ./ci-artifacts/opengoal-macos-static ./ pushd ci-artifacts/macos - TAG_VAL=$(echo ${{ github.REF }} | awk -F'refs/tags/' '{print $2}') + TAG_VAL=${{ needs.cut_release.outputs.new_tag }} tar czf ../final/opengoal-macos-intel-${TAG_VAL}.tar.gz . popd chmod +x ./ci-artifacts/opengoal-macos-static/lsp/lsp @@ -93,12 +133,12 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - TAG_VAL=$(echo ${{ github.REF }} | awk -F'refs/tags/' '{print $2}') + TAG_VAL=${{ needs.cut_release.outputs.new_tag }} gh release upload "${TAG_VAL}" ${{ github.WORKSPACE }}/ci-artifacts/final/* --repo open-goal/jak-project --clobber - name: Publish Release env: - GITHUB_TOKEN: ${{ secrets.BOT_PAT }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | - TAG_VAL=$(echo ${{ github.REF }} | awk -F'refs/tags/' '{print $2}') + TAG_VAL=${{ needs.cut_release.outputs.new_tag }} gh release edit ${TAG_VAL} --draft=false --repo open-goal/jak-project