Some checks failed
Build and Release / build-and-release (386, linux, linux-386) (push) Failing after 3s
Build and Release / build-and-release (386, windows, windows-386) (push) Failing after 3s
Build and Release / build-and-release (amd64, linux, linux-amd64) (push) Failing after 4s
Build and Release / build-and-release (amd64, windows, windows-amd64) (push) Failing after 3s
Build and Release / build-and-release (arm, 7, linux, linux-armv7) (push) Failing after 3s
Build and Release / build-and-release (arm64, linux, linux-arm64) (push) Failing after 4s
Build and Release / build-and-release (ppc64le, linux, linux-ppc64le) (push) Failing after 3s
98 lines
2.8 KiB
YAML
98 lines
2.8 KiB
YAML
name: Build and Release
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- 'v*'
|
|
|
|
jobs:
|
|
build-and-release:
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
matrix:
|
|
include:
|
|
# Linux architectures
|
|
- goos: linux
|
|
goarch: amd64
|
|
name: linux-amd64
|
|
- goos: linux
|
|
goarch: arm64
|
|
name: linux-arm64
|
|
- goos: linux
|
|
goarch: arm
|
|
goarm: '7'
|
|
name: linux-armv7
|
|
- goos: linux
|
|
goarch: '386'
|
|
name: linux-386
|
|
- goos: linux
|
|
goarch: ppc64le
|
|
name: linux-ppc64le
|
|
# Windows architectures
|
|
- goos: windows
|
|
goarch: amd64
|
|
name: windows-amd64
|
|
- goos: windows
|
|
goarch: '386'
|
|
name: windows-386
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: '1.23'
|
|
|
|
- name: Get version
|
|
id: version
|
|
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_OUTPUT
|
|
|
|
- name: Build binary
|
|
env:
|
|
GOOS: ${{ matrix.goos }}
|
|
GOARCH: ${{ matrix.goarch }}
|
|
GOARM: ${{ matrix.goarm }}
|
|
VERSION: ${{ steps.version.outputs.VERSION }}
|
|
BUILD_TIME: ${{ github.event.head_commit.timestamp }}
|
|
run: |
|
|
mkdir -p bin
|
|
OUTPUT_NAME="safelineApi-${{ matrix.name }}"
|
|
if [ "${{ matrix.goos }}" = "windows" ]; then
|
|
OUTPUT_NAME="${OUTPUT_NAME}.exe"
|
|
fi
|
|
go build -ldflags "-X main.Version=${VERSION} -X main.BuildTime=${BUILD_TIME}" \
|
|
-o bin/${OUTPUT_NAME} ./cmd/safelineApi
|
|
echo "BINARY_NAME=${OUTPUT_NAME}" >> $GITHUB_ENV
|
|
|
|
- name: Upload Release Asset
|
|
uses: gitea-github-actions/actions/gitea-release@main
|
|
with:
|
|
files: bin/${{ env.BINARY_NAME }}
|
|
draft: false
|
|
prerelease: false
|
|
allowUpdates: true
|
|
title: Release ${{ steps.version.outputs.VERSION }}
|
|
body: |
|
|
# SafelineAPI ${{ steps.version.outputs.VERSION }}
|
|
|
|
## Available Downloads
|
|
|
|
### Linux
|
|
- **amd64**: safelineApi-linux-amd64
|
|
- **ARM64**: safelineApi-linux-arm64
|
|
- **ARMv7**: safelineApi-linux-armv7
|
|
- **386**: safelineApi-linux-386
|
|
- **PowerPC 64LE**: safelineApi-linux-ppc64le
|
|
|
|
### Windows
|
|
- **amd64**: safelineApi-windows-amd64.exe
|
|
- **386**: safelineApi-windows-386.exe
|
|
|
|
Built at: ${{ github.event.head_commit.timestamp }}
|
|
env:
|
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
|
GITEA_SERVER: ${{ gitea.server_url }}
|