Files
AynaLivePlayer/.github/workflows/build.yml
aynakeya 61342ebfa2 uw
2024-05-22 20:01:29 +08:00

73 lines
2.1 KiB
YAML

name: Build and Bundle
on: [push]
jobs:
build:
runs-on: ubuntu-latest
timeout-minutes: 10
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
env:
EXECUTABLE_NAME: AynaLivePlayer
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
submodules: recursive
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.20'
- name: Install Fyne CLI
run: go install fyne.io/fyne/v2/cmd/fyne@latest
- name: Set up environment variables
if: matrix.os == 'windows-latest'
run: |
echo "GOOS=windows" >> $GITHUB_ENV
echo "GOARCH=amd64" >> $GITHUB_ENV
echo "EXECUTABLE=$EXECUTABLE_NAME.exe" >> $GITHUB_ENV
- name: Set up environment variables
if: matrix.os == 'ubuntu-latest'
run: |
echo "GOOS=linux" >> $GITHUB_ENV
echo "GOARCH=amd64" >> $GITHUB_ENV
echo "EXECUTABLE=$EXECUTABLE_NAME" >> $GITHUB_ENV
sudo apt-get install -y libmpv-dev libgl-dev libxcursor-dev libxrandr-dev
- name: Set up environment variables
if: matrix.os == 'macos-latest'
run: |
echo "GOOS=darwin" >> $GITHUB_ENV
echo "GOARCH=amd64" >> $GITHUB_ENV
echo "EXECUTABLE=$EXECUTABLE_NAME" >> $GITHUB_ENV
brew install mpv
- name: Tidy go.mod
run: go mod tidy
- name: Bundle assets
run: |
fyne bundle --name resImageIcon --package resource ./assets/icon.png > ./resource/bundle.go
fyne bundle --append --name resFontMSYaHei --package resource ./assets/msyh0.ttf >> ./resource/bundle.go
fyne bundle --append --name resFontMSYaHeiBold --package resource ./assets/msyhbd0.ttf >> ./resource/bundle.go
- name: Build application
run: go build -o ./$EXECUTABLE app/main.go
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: ${{ matrix.os }}-build
path: ./$EXECUTABLE