Merge pull request 'develop' (#16) from develop into master
Some checks failed
CI / Lint (push) Successful in 54s
CI / Test (push) Successful in 4m29s
CI / Build (push) Failing after 10m38s

Reviewed-on: #16
This commit is contained in:
s1d3sw1ped
2024-03-10 22:31:10 +00:00
4 changed files with 241 additions and 64 deletions

View File

@@ -0,0 +1,117 @@
name: CI
on:
pull_request:
jobs:
lint:
name: Lint
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
cache: true
- name: Install go dependencies
run: go mod tidy
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
test:
name: Test
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
cache: true
- name: Setup OS dependencies
run: |
apt-get update
apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev
- name: Get fyne command
run: |
go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Get go dependencies
run: |
go mod tidy
- name: Test
run: go test -race -v -shuffle=on ./...
build:
name: Build
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
cache: true
- name: Setup OS dependencies
run: |
apt-get update
apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev
- name: Get fyne command
run: |
go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Get go dependencies
run: |
go mod tidy
- name: Build for linux
run: |
fyne package --appBuild=${BUILD} --exe bin/swiped-mod-switcher-${VERSION}.${BUILD}-${GOOS}-${GOARCH}${EXE} main.go
env:
BUILD: ${{github.run_number}}
GOOS: linux
GOARCH: amd64
EXE: ""
CGO_ENABLED: 1
CC: gcc
- name: Build for windows
run: |
fyne package --appBuild=${BUILD} --exe bin/swiped-mod-switcher-${VERSION}.${BUILD}-${GOOS}-${GOARCH}${EXE} main.go
env:
BUILD: ${{github.run_number}}
GOOS: windows
GOARCH: amd64
EXE: .exe
CGO_ENABLED: 1
CC: x86_64-w64-mingw32-gcc
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: swiped-mod-switcher-${{github.ref_name}}
path: bin/

View File

@@ -2,18 +2,10 @@ name: CI
on:
push:
branches: [master, develop]
pull_request:
jobs:
lint:
name: Lint
permissions:
# Required: allow read access to the content for analysis.
contents: read
# Optional: allow read access to pull request. Use with `only-new-issues` option.
pull-requests: read
# Optional: Allow write access to checks to allow the action to annotate code in the PR.
checks: write
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
@@ -28,11 +20,13 @@ jobs:
check-latest: true
cache: true
- name: Install go dependencies
run: go mod tidy
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
args: --verbose
test:
name: Test
@@ -99,6 +93,7 @@ jobs:
run: |
fyne package --appBuild=${BUILD} --exe bin/swiped-mod-switcher-${VERSION}.${BUILD}-${GOOS}-${GOARCH}${EXE} main.go
env:
VERSION: ${{github.ref_name}}
BUILD: ${{github.run_number}}
GOOS: linux
GOARCH: amd64
@@ -110,6 +105,7 @@ jobs:
run: |
fyne package --appBuild=${BUILD} --exe bin/swiped-mod-switcher-${VERSION}.${BUILD}-${GOOS}-${GOARCH}${EXE} main.go
env:
VERSION: ${{github.ref_name}}
BUILD: ${{github.run_number}}
GOOS: windows
GOARCH: amd64

View File

@@ -1,55 +0,0 @@
name: Release versioned tag
on:
push:
tags:
- 'v*'
jobs:
release:
name: Build versioned release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Setup OS dependencies
run: |
apt-get update
apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev
- name: Install fyne command
run: |
go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Install go dependencies
run: go mod tidy
- name: Build for linux
run: |
VERSION=${{github.ref_name}}
BUILD=${{github.run_number}}
GOFLAGS="-ldflags=-s -ldflags=-w"
CGO_ENABLED=1
CC=gcc
fyne package --os linux --release --appVersion=${VERSION#v} --appBuild=${BUILD} --exe bin/sw1ped-mod-switcher-${VERSION}.${BUILD}-linux-amd64 main.go
- name: Build for windows
run: |
VERSION=${{github.ref_name}}
BUILD=${{github.run_number}}
GOFLAGS="-ldflags=-H=windowsgui -ldflags=-s -ldflags=-w"
CGO_ENABLED=1
CC=x86_64-w64-mingw32-gcc
fyne package --os windows --release --appVersion=${VERSION#v} --appBuild=${BUILD} --exe bin/sw1ped-mod-switcher-${VERSION}.${BUILD}-windows-amd64.exe main.go
- name: Release binaries
uses: https://gitea.com/actions/release-action@main
with:
files: |-
bin/**
api_key: '${{secrets.RELEASE_TOKEN}}'

View File

@@ -0,0 +1,119 @@
name: Release versioned tag
on:
push:
tags:
- 'v*'
jobs:
lint:
name: Lint
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
cache: true
- name: Install go dependencies
run: go mod tidy
- name: Lint
uses: golangci/golangci-lint-action@v3
with:
version: latest
test:
name: Test
env:
RUNNER_TOOL_CACHE: /toolcache
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
check-latest: true
cache: true
- name: Setup OS dependencies
run: |
apt-get update
apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev
- name: Get fyne command
run: |
go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Get go dependencies
run: |
go mod tidy
- name: Test
run: go test -race -v -shuffle=on ./...
release:
name: Build versioned release
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup go
uses: actions/setup-go@v5
with:
go-version-file: 'go.mod'
- name: Setup OS dependencies
run: |
apt-get update
apt-get install -y gcc-mingw-w64 gcc libgl1-mesa-dev xorg-dev
- name: Install fyne command
run: |
go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Install go dependencies
run: go mod tidy
- name: Build for linux
run: |
fyne package --os linux --release --appVersion=${VERSION#v} --appBuild=${BUILD} --exe bin/sw1ped-mod-switcher-${VERSION#v}.${BUILD}-linux-amd64 main.go
env:
VERSION: ${{github.ref_name}}
BUILD: ${{github.run_number}}
GOOS: linux
GOARCH: amd64
EXE: ""
CGO_ENABLED: 1
CC: gcc
- name: Build for windows
run: |
fyne package --os windows --release --appVersion=${VERSION#v} --appBuild=${BUILD} --exe bin/sw1ped-mod-switcher-${VERSION#v}.${BUILD}-windows-amd64.exe main.go
env:
VERSION: ${{github.ref_name}}
BUILD: ${{github.run_number}}
GOOS: windows
GOARCH: amd64
EXE: ".exe"
CGO_ENABLED: 1
CC: x86_64-w64-mingw32-gcc
- name: Release binaries
uses: https://gitea.com/actions/release-action@main
with:
files: |-
bin/**
api_key: '${{secrets.RELEASE_TOKEN}}'