feat: work apply again when did not meet min hours #47
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Wails build | |
on: | |
push: | |
branches: | |
- main | |
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: | |
include: | |
- name: 'DMG-${{ github.ref_name }}-Linux-amd64' | |
platform: 'linux/amd64' | |
os: 'ubuntu-latest' | |
wails_os: 'linux' | |
- name: 'DMG-${{ github.ref_name }}-Windows-amd64' | |
platform: 'windows/amd64' | |
os: 'windows-latest' | |
wails_os: 'windows' | |
- name: 'DMG-${{ github.ref_name }}-macOS' | |
platform: 'darwin/universal' | |
os: 'macos-latest' | |
wails_os: 'darwin' | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Cache Bun dependencies | |
uses: actions/cache@v4 | |
with: | |
path: ~/.bun/install/cache | |
key: ${{ runner.os }}-bun-${{ hashFiles('**/bun.lock') }} | |
restore-keys: | | |
${{ runner.os }}-bun- | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.23' | |
- name: Install Bun | |
uses: oven-sh/setup-bun@v2 | |
- name: Install Linux dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev | |
- name: Tidy Go modules | |
run: go mod tidy | |
- name: Install Wails CLI | |
run: go install -v github.com/wailsapp/wails/v3/cmd/wails3@latest | |
- name: Build Wails project (Linux) | |
if: matrix.os == 'ubuntu-latest' | |
run: wails3 task ${{ matrix.wails_os }}:package | |
- name: Build Wails project (Windows, Darwin) | |
if: matrix.os != 'ubuntu-latest' | |
run: wails3 task ${{ matrix.wails_os }}:build | |
- name: Handle Linux AppImage | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
wget -O appimagetool "https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage" | |
chmod +x appimagetool | |
./appimagetool --appimage-extract | |
mv squashfs-root appimagetool-extracted | |
cd bin | |
chmod +x dmg-x86_64.AppImage | |
./dmg-x86_64.AppImage --appimage-extract | |
rm -rf squashfs-root/usr/lib | |
../appimagetool-extracted/AppRun squashfs-root dmg-x86_64.AppImage | |
cd .. | |
- name: Upload Linux binaries to GitHub release | |
if: matrix.os == 'ubuntu-latest' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: DMG-linux | |
path: './bin/dmg-x86_64.AppImage' | |
- name: Upload Windows binaries to GitHub release | |
if: matrix.os == 'windows-latest' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: DMG-windows | |
path: './bin/dmg.exe' | |
- name: Upload Darwin binaries to GitHub release | |
if: matrix.os == 'macos-latest' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: DMG-macos | |
path: './bin/dmg' |