2 Commits

Author SHA1 Message Date
f9a92e4e4a Fix appname artifact
All checks were successful
Build Slideshow App / build (amd64, .exe, windows) (push) Successful in 1m56s
Build Slideshow App / build (amd64, , linux) (push) Successful in 2m2s
Build Slideshow App / build (arm, 6, , linux) (push) Successful in 1m42s
Build Slideshow App / build (arm64, , linux) (push) Successful in 1m48s
2026-01-17 18:12:49 +01:00
40b13a0661 Change upload v4 to v3
All checks were successful
Build Slideshow App / build (amd64, .exe, windows) (push) Successful in 2m2s
Build Slideshow App / build (amd64, , linux) (push) Successful in 2m16s
Build Slideshow App / build (arm, 6, , linux) (push) Successful in 1m50s
Build Slideshow App / build (arm64, , linux) (push) Successful in 1m45s
2026-01-17 15:10:58 +01:00

View File

@@ -1,93 +1,93 @@
name: Build Slideshow App name: Build Slideshow App
on: on:
push: push:
tags: tags:
- '*' - '*'
env: env:
APP_NAME: slideshowApp APP_NAME: slideshowApp
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
include: include:
- os: windows - os: windows
arch: amd64 arch: amd64
ext: .exe ext: .exe
- os: linux - os: linux
arch: amd64 arch: amd64
ext: "" ext: ""
- os: linux - os: linux
arch: arm64 arch: arm64
ext: "" ext: ""
- os: linux - os: linux
arch: arm arch: arm
arm_version: 6 arm_version: 6
ext: "" ext: ""
steps: steps:
- name: Checkout repo - name: Checkout repo
uses: actions/checkout@v4 uses: actions/checkout@v3
- name: Ensure latest Go is installed in /data/go - name: Ensure latest Go is installed in /data/go
run: | run: |
export GOROOT=/data/go/go export GOROOT=/data/go/go
export PATH=$GOROOT/bin:$PATH export PATH=$GOROOT/bin:$PATH
export GOCACHE=/data/gocache export GOCACHE=/data/gocache
export GOMODCACHE=/data/gomodcache export GOMODCACHE=/data/gomodcache
mkdir -p $GOCACHE $GOMODCACHE mkdir -p $GOCACHE $GOMODCACHE
if [ ! -x "$GOROOT/bin/go" ]; then if [ ! -x "$GOROOT/bin/go" ]; then
echo "Go not found in $GOROOT, downloading latest stable..." echo "Go not found in $GOROOT, downloading latest stable..."
GO_VERSION=$(curl -s https://go.dev/VERSION?m=text | head -n1) GO_VERSION=$(curl -s https://go.dev/VERSION?m=text | head -n1)
echo "Latest version is $GO_VERSION" echo "Latest version is $GO_VERSION"
mkdir -p /data/go mkdir -p /data/go
curl -sSL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" -o /tmp/go.tar.gz curl -sSL "https://go.dev/dl/${GO_VERSION}.linux-amd64.tar.gz" -o /tmp/go.tar.gz
tar -C /data/go -xzf /tmp/go.tar.gz tar -C /data/go -xzf /tmp/go.tar.gz
else else
echo "Using cached Go from $GOROOT" echo "Using cached Go from $GOROOT"
fi fi
go version go version
- name: Download Go dependencies - name: Download Go dependencies
run: | run: |
export GOROOT=/data/go/go export GOROOT=/data/go/go
export PATH=$GOROOT/bin:$PATH export PATH=$GOROOT/bin:$PATH
export GOCACHE=/data/gocache export GOCACHE=/data/gocache
export GOMODCACHE=/data/gomodcache export GOMODCACHE=/data/gomodcache
mkdir -p $GOCACHE $GOMODCACHE mkdir -p $GOCACHE $GOMODCACHE
go mod download go mod download
- name: Build binary - name: Build binary
run: | run: |
export GOROOT=/data/go/go export GOROOT=/data/go/go
export PATH=$GOROOT/bin:$PATH export PATH=$GOROOT/bin:$PATH
export GOCACHE=/data/gocache export GOCACHE=/data/gocache
export GOMODCACHE=/data/gomodcache export GOMODCACHE=/data/gomodcache
mkdir -p $GOCACHE $GOMODCACHE mkdir -p $GOCACHE $GOMODCACHE
OUTPUT="${APP_NAME}" OUTPUT="${APP_NAME}"
if [ -n "${{ matrix.arm_version }}" ]; then if [ -n "${{ matrix.arm_version }}" ]; then
OUTPUT="${OUTPUT}v${{ matrix.arm_version }}" OUTPUT="${OUTPUT}v${{ matrix.arm_version }}"
export GOARM=${{ matrix.arm_version }} export GOARM=${{ matrix.arm_version }}
fi fi
OUTPUT="${OUTPUT}${{ matrix.ext }}" OUTPUT="${OUTPUT}${{ matrix.ext }}"
echo "Building $OUTPUT" echo "Building $OUTPUT"
GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT" GOOS=${{ matrix.os }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT"
shell: bash shell: bash
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v4 uses: actions/upload-artifact@v3
with: with:
name: ${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }} name: ${{ env.APP_NAME }}-${{ matrix.os }}-${{ matrix.arch }}
path: | path: |
./web ./web
${APP_NAME}${{ matrix.ext }} ${{env.APP_NAME}}${{ matrix.ext }}