3 Commits

Author SHA1 Message Date
Adrian Zürcher
a648be3bcb improve build
All checks were successful
Build Quasar SPA and Go Backend for lightController / build-spa (push) Successful in 2m11s
Build Quasar SPA and Go Backend for lightController / build-backend (amd64, .exe, windows) (push) Successful in 4m11s
Build Quasar SPA and Go Backend for lightController / build-backend (amd64, , linux) (push) Successful in 4m22s
Build Quasar SPA and Go Backend for lightController / build-backend (arm, 6, , linux) (push) Successful in 3m55s
Build Quasar SPA and Go Backend for lightController / build-backend (arm64, , linux) (push) Successful in 3m51s
2025-08-11 12:07:53 +02:00
Adrian Zürcher
33f7775800 .
Some checks failed
Build Quasar SPA and Go Backend for lightController / build (arm, 6, , linux, ubuntu-latest) (push) Successful in 6m30s
Build Quasar SPA and Go Backend for lightController / build (amd64, , linux, ubuntu-latest) (push) Successful in 6m39s
Build Quasar SPA and Go Backend for lightController / build (arm64, , linux, ubuntu-latest) (push) Successful in 4m30s
Build Quasar SPA and Go Backend for lightController / build (amd64, .exe, windows, windows-latest) (push) Has been cancelled
2025-08-11 10:52:31 +02:00
Adrian Zürcher
ac412bbffb fix npm for windows 2025-08-11 10:51:50 +02:00
2 changed files with 49 additions and 32 deletions

View File

@@ -6,26 +6,8 @@ on:
- '*' - '*'
jobs: jobs:
build: build-spa:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
include:
- os: windows
arch: amd64
ext: .exe
- os: linux
arch: amd64
ext: ""
- os: linux
arch: arm64
ext: ""
- os: linux
arch: arm
arm_version: 6
ext: ""
steps: steps:
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v4 uses: actions/checkout@v4
@@ -35,15 +17,52 @@ jobs:
with: with:
node-version: '20' node-version: '20'
- name: Install dependecies - name: Install dependencies
run: npm install run: npm install
- name: Install Quasar CLI - name: Install Quasar CLI
run: npm install -g @quasar/cli run: |
npm cache clean --force
npm install -g @quasar/cli --force
- name: Build Quasar SPA - name: Build Quasar SPA
run: quasar build run: quasar build
- name: Upload SPA artifact
uses: actions/upload-artifact@v3
with:
name: quasar-dist
path: ./dist/spa
build-backend:
needs: build-spa
runs-on: ubuntu-latest
strategy:
matrix:
include:
- goos: windows
arch: amd64
ext: .exe
- goos: linux
arch: amd64
ext: ""
- goos: linux
arch: arm64
ext: ""
- goos: linux
arch: arm
arm_version: 6
ext: ""
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Download SPA artifact
uses: actions/download-artifact@v3
with:
name: quasar-dist
path: ./dist/spa
- 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
@@ -54,10 +73,8 @@ jobs:
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
@@ -78,7 +95,7 @@ jobs:
go mod tidy -v go mod tidy -v
go mod download go mod download
- name: Build go backend binary - name: Build Go backend binary
working-directory: ./backend working-directory: ./backend
run: | run: |
export GOROOT=/data/go/go export GOROOT=/data/go/go
@@ -87,17 +104,17 @@ jobs:
export GOMODCACHE=/data/gomodcache export GOMODCACHE=/data/gomodcache
mkdir -p $GOCACHE $GOMODCACHE mkdir -p $GOCACHE $GOMODCACHE
OUTPUT="../server-${{ matrix.goos }}-${{ matrix.goarch }}" OUTPUT="../server-${{ matrix.goos }}-${{ matrix.arch }}${{ matrix.ext }}"
if [ "${{ matrix.goos }}" == "windows" ]; then if [ "${{ matrix.arch }}" = "arm" ]; then
OUTPUT="${OUTPUT}.exe" GOARM=${{ matrix.arm_version }}
fi fi
GOOS=${{ matrix.goos }} GOARCH=${{ matrix.goarch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT" main.go GOOS=${{ matrix.goos }} GOARCH=${{ matrix.arch }} go build -ldflags="-s -w" -trimpath -o "$OUTPUT" main.go
- name: Upload build artifacts - name: Upload combined package
uses: actions/upload-artifact@v3 uses: actions/upload-artifact@v3
with: with:
name: lightcontroller-${{ matrix.goos }}-${{ matrix.goarch }} name: lightcontroller-${{ matrix.goos }}-${{ matrix.arch }}
path: | path: |
./dist/spa ./dist/spa
server-${{ matrix.goos }}-${{ matrix.goarch }}${{ (matrix.goos == 'windows' && '.exe') || '' }} server-${{ matrix.goos }}-${{ matrix.arch }}${{ matrix.ext }}

View File

@@ -1,6 +1,6 @@
{ {
"name": "lightcontrol", "name": "lightcontrol",
"version": "0.1.0", "version": "0.1.2",
"description": "A Tecamino App", "description": "A Tecamino App",
"productName": "Light Control", "productName": "Light Control",
"author": "A. Zuercher", "author": "A. Zuercher",