diff --git a/.forgejo/workflows/release.yml b/.forgejo/workflows/release.yml index 5f64d36..2cf585a 100644 --- a/.forgejo/workflows/release.yml +++ b/.forgejo/workflows/release.yml @@ -7,105 +7,132 @@ on: jobs: build: + name: GoReleaser build runs-on: ubuntu-22.04 - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - goos: [linux, darwin, windows] - exclude: - - os: ubuntu-latest - goos: darwin - - os: ubuntu-latest - goos: windows - - os: macos-latest - goos: linux - - os: macos-latest - goos: windows - - os: windows-latest - goos: linux - - os: windows-latest - goos: darwin steps: - - name: Check out repository - uses: actions/checkout@v4 + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + with: + fetch-depth: 0 - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '1.24' + - name: Set up Go 1.24 + uses: actions/setup-go@v2 + with: + go-version: 1.24 + id: go - - name: Get dependencies - run: go mod tidy + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@master + with: + version: latest + args: release --rm-dist + env: + GITEA_TOKEN: ${{ secrets.GITEATOKEN }} - - name: Build for ${{ matrix.goos }} - run: | - BUILD_NAME="workctl-${{ matrix.goos }}" - if [ "${{ matrix.goos }}" = "windows" ]; then - BUILD_NAME="${BUILD_NAME}.exe" - fi - GOOS=${{ matrix.goos }} GOARCH=amd64 go build -o ${BUILD_NAME} . - ls -la +# jobs: +# build: +# runs-on: ubuntu-22.04 +# strategy: +# matrix: +# os: [ubuntu-latest, macos-latest, windows-latest] +# goos: [linux, darwin, windows] +# exclude: +# - os: ubuntu-latest +# goos: darwin +# - os: ubuntu-latest +# goos: windows +# - os: macos-latest +# goos: linux +# - os: macos-latest +# goos: windows +# - os: windows-latest +# goos: linux +# - os: windows-latest +# goos: darwin + +# steps: +# - name: Check out repository +# uses: actions/checkout@v4 + +# - name: Set up Go +# uses: actions/setup-go@v5 +# with: +# go-version: '1.24' + +# - name: Get dependencies +# run: go mod tidy + +# - name: Build for ${{ matrix.goos }} +# run: | +# BUILD_NAME="workctl-${{ matrix.goos }}" +# if [ "${{ matrix.goos }}" = "windows" ]; then +# BUILD_NAME="${BUILD_NAME}.exe" +# fi +# GOOS=${{ matrix.goos }} GOARCH=amd64 go build -o ${BUILD_NAME} . +# ls -la - - name: Upload artifact - uses: actions/upload-artifact@v3 - with: - name: workctl-${{ matrix.goos }} - path: workctl-${{ matrix.goos }}${{ matrix.goos == 'windows' && '.exe' || '' }} - retention-days: 7 +# - name: Upload artifact +# uses: actions/upload-artifact@v3 +# with: +# name: workctl-${{ matrix.goos }} +# path: workctl-${{ matrix.goos }}${{ matrix.goos == 'windows' && '.exe' || '' }} +# retention-days: 7 - create_release: - needs: build - runs-on: ubuntu-22.04 - steps: - - name: Create Release - id: create_release - uses: actions/create-release@v1 - env: - # Dies ist der Token, der Forgejo erlaubt, das Release zu erstellen - # Du musst einen Gitea/Forgejo API-Token als Repository Secret (z.B. GITEA_TOKEN) hinterlegen. - # Der Token benötigt die Berechtigung "write:releases" oder "repo". - GITEA_TOKEN: ${{ secrets.GITEATOKEN }} - with: - url: https://git.patanix.de - tag_name: ${{ github.ref }} - release_name: Release ${{ github.ref }} - body: | - Dies ist ein automatisches Release von ${{ github.ref }}. - draft: false - prerelease: false +# create_release: +# needs: build +# runs-on: ubuntu-22.04 +# steps: +# - name: Create Release +# id: create_release +# uses: actions/create-release@v1 +# env: +# # Dies ist der Token, der Forgejo erlaubt, das Release zu erstellen +# # Du musst einen Gitea/Forgejo API-Token als Repository Secret (z.B. GITEA_TOKEN) hinterlegen. +# # Der Token benötigt die Berechtigung "write:releases" oder "repo". +# GITEA_TOKEN: ${{ secrets.GITEATOKEN }} +# with: +# url: https://git.patanix.de +# tag_name: ${{ github.ref }} +# release_name: Release ${{ github.ref }} +# body: | +# Dies ist ein automatisches Release von ${{ github.ref }}. +# draft: false +# prerelease: false - - name: Download all workflow artifacts - uses: actions/download-artifact@v3 - with: - path: ./artifacts +# - name: Download all workflow artifacts +# uses: actions/download-artifact@v3 +# with: +# path: ./artifacts - - name: Upload Release Asset (Linux) - uses: actions/upload-release-asset@v1 - env: - GITEA_TOKEN: ${{ secrets.GITEATOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./artifacts/workctl-linux/workctl-linux - asset_name: workctl-linux - asset_content_type: application/octet-stream +# - name: Upload Release Asset (Linux) +# uses: actions/upload-release-asset@v4 +# env: +# GITEA_TOKEN: ${{ secrets.GITEATOKEN }} +# with: +# name: workctl-linux +# path: ./artifacts/workctl-linux/workctl-linux +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: ./artifacts/workctl-linux/workctl-linux +# asset_name: workctl-linux +# asset_content_type: application/octet-stream - - name: Upload Release Asset (macOS) - uses: actions/upload-release-asset@v1 - env: - GITEA_TOKEN: ${{ secrets.GITEATOKEN }}$ - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./artifacts/workctl-darwin/workctl-darwin - asset_name: workctl-darwin - asset_content_type: application/octet-stream +# - name: Upload Release Asset (macOS) +# uses: actions/upload-release-asset@v1 +# env: +# GITEA_TOKEN: ${{ secrets.GITEATOKEN }}$ +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: ./artifacts/workctl-darwin/workctl-darwin +# asset_name: workctl-darwin +# asset_content_type: application/octet-stream - - name: Upload Release Asset (Windows) - uses: actions/upload-release-asset@v1 - env: - GITEA_TOKEN: ${{ secrets.GITEATOKEN }}$ - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./artifacts/workctl-windows/workctl-windows.exe - asset_name: workctl-windows.exe - asset_content_type: application/octet-stream +# - name: Upload Release Asset (Windows) +# uses: actions/upload-release-asset@v1 +# env: +# GITEA_TOKEN: ${{ secrets.GITEATOKEN }}$ +# with: +# upload_url: ${{ steps.create_release.outputs.upload_url }} +# asset_path: ./artifacts/workctl-windows/workctl-windows.exe +# asset_name: workctl-windows.exe +# asset_content_type: application/octet-stream