Files
yellowjacket/.github/workflows/wails.yml
T
logan 2616b80d31 Build release pipeline (#22)
* added package flag to build ci

* bump wails-build-action version

* updated dependencies and go version to 1.24

* fixed wails build action version and point to go1.24

* using main version of wails build action

* added dependencies step

* added write permission for workflow

* switched alsa dep for proper dep

* added pnpm install step

* added pnpm version

* added os name to binary output

* undo last commit

* renamed windows binary, manually handle release

* fixed github ref name variable

* moved release to different job

* set build pre-req for release

* fixing artifact handling, manual upload

* fixed working directory

* fixed artifact naming

* fixing upload and download

* fixed artifact upload name

* fixed upload artifact name again

* upload all binaries

* fixed input and output binary files

* removed temporary artifact deletion

* trying to fix the artifact path for upload

* fix release glob pattern

* fixed glob path for subdirectories from download step

* fixed release version

* oops wrong release action version

* lets put all artifacts in the same directory

* remove prerelease

* set static run name
2025-04-14 22:55:57 -05:00

99 lines
2.6 KiB
YAML

name: Release YellowJacket
run-name: Release ${{ github.ref_name }}
permissions:
contents: write
on:
push:
tags:
# Match any new tag
- '*'
env:
# Necessary for most environments as build failure can occur due to OOM issues
NODE_OPTIONS: "--max-old-space-size=4096"
jobs:
build:
strategy:
# Failure in one platform build won't impact the others
fail-fast: false
matrix:
build:
- name: 'yellowjacket'
platform: 'linux/amd64'
os: 'ubuntu-latest'
bin-name: 'yellowjacket'
artifact-name: 'yellowjacket'
- name: 'yellowjacket'
platform: 'windows/amd64'
os: 'windows-latest'
bin-name: 'yellowjacket'
artifact-name: 'yellowjacket.exe'
- name: 'yellowjacket'
platform: 'darwin/universal'
os: 'macos-latest'
bin-name: 'yellowjacket.app'
artifact-name: 'yellowjacket.app'
runs-on: ${{ matrix.build.os }}
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: recursive
- name: Dependencies
uses: ConorMacBride/install-package@v1
with:
apt: libasound2-dev
- name: Install pnpm
uses: pnpm/action-setup@v4
with:
version: 10
- name: Build wails
uses: dAppServer/wails-build-action@main
id: build
with:
build-name: ${{ matrix.build.name }}
build-platform: ${{ matrix.build.platform }}
go-version: '1.24'
package: false
app-working-directory: ${{ github.workspace }}
- name: Upload Binaries
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.build.artifact-name }}
path: ${{ github.workspace }}/build/bin/${{ matrix.build.bin-name }}
release:
runs-on: ubuntu-latest
needs: build
steps:
- name: Download Artifacts
uses: actions/download-artifact@v4
with:
merge-multiple: true
path: ${{ github.workspace }}/bin
- name: Release
uses: softprops/action-gh-release@v2
if: github.ref_type == 'tag'
with:
body: |
# YellowJacket Release ${{ github.ref_name }}
This is an early preview of YellowJacket. Please report any bugs to [our issues] page.
Thanks for trying out our app!
## Which do I click?
- Linux: `yellowjacket`
- Windows: `yellowjacket.exe`
- MacOS: `yellowjacket.app`
files: ${{ github.workspace }}/bin/*