138 lines
4.1 KiB
YAML
138 lines
4.1 KiB
YAML
name: Release Builds
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build:
|
|
name: GoReleaser build
|
|
runs-on: ubuntu-22.04
|
|
|
|
steps:
|
|
- name: Check out code into the Go module directory
|
|
uses: actions/checkout@v2
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
- name: Set up Go 1.24
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: 1.24
|
|
id: go
|
|
|
|
- name: Run GoReleaser
|
|
uses: goreleaser/goreleaser-action@master
|
|
with:
|
|
version: latest
|
|
args: release --clean
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.GITEATOKEN }}
|
|
|
|
# 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
|
|
|
|
# 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: 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 (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
|