summaryrefslogtreecommitdiffstats
path: root/.github/workflows/build-release.yml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/build-release.yml')
-rw-r--r--.github/workflows/build-release.yml48
1 files changed, 48 insertions, 0 deletions
diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml
new file mode 100644
index 0000000..8086590
--- /dev/null
+++ b/.github/workflows/build-release.yml
@@ -0,0 +1,48 @@
+# This workflow will build a Windows binary for each architecture and upload it as an artifact.
+# If the push is a tag, it will create a release with the binaries attached.
+# This build is currently supported on https://github.com/Crown0815/forgejo-runner-windows
+
+name: Build release
+
+on:
+ push:
+ tags: 'v*'
+jobs:
+ build:
+ name: Build ${{matrix.architecture}}
+ runs-on: ubuntu-latest
+ strategy:
+ matrix:
+ architecture: ['386', amd64, arm, arm64]
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build for ${{matrix.architecture}}
+ run: |
+ env GOOS=windows GOARCH=${{matrix.architecture}} \
+ go build -o forgejo-runner-windows-${{matrix.architecture}}.exe
+
+ - uses: actions/upload-artifact@v4
+ with:
+ name: forgejo-runner-windows-${{matrix.architecture}}
+ path: forgejo-runner-windows-${{matrix.architecture}}.exe
+
+ release:
+ runs-on: ubuntu-latest
+ needs: build
+ if: github.event_name == 'push' && github.ref_type == 'tag'
+ steps:
+ - uses: actions/download-artifact@v4
+ with:
+ path: .
+
+ - name: Create Release
+ uses: softprops/action-gh-release@v2
+ with:
+ tag_name: ${{ github.ref_name }}
+ files: forgejo-runner-windows-*/forgejo-runner-windows-*.exe
+ draft: false
+ prerelease: ${{ contains(github.ref, 'beta') || contains(github.ref, 'alpha') }}
+ token: ${{ secrets.RELEASE_TOKEN }}
+ fail_on_unmatched_files: true
+ body: See [original release notes](https://code.forgejo.org/forgejo/runner/releases/tag/${{ github.ref_name }}).
+