73 lines
1.6 KiB
YAML
73 lines
1.6 KiB
YAML
# build.yml
|
|
|
|
# Workflow's name
|
|
name: Build MediaGo App
|
|
|
|
# Workflow's trigger
|
|
on:
|
|
workflow_dispatch:
|
|
|
|
# Workflow's jobs
|
|
jobs:
|
|
# job's id
|
|
release:
|
|
# job's name
|
|
name: build and release electron app
|
|
|
|
# the type of machine to run the job on
|
|
runs-on: ${{ matrix.os }}
|
|
|
|
# create a build matrix for jobs
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
os: [windows-latest, macos-latest, macos-15-intel, ubuntu-latest]
|
|
|
|
# create steps
|
|
steps:
|
|
- name: Check out git repository
|
|
uses: actions/checkout@v6
|
|
|
|
- uses: pnpm/action-setup@v5
|
|
with:
|
|
version: "10.15.0"
|
|
run_install: false
|
|
|
|
- name: Install Node.js
|
|
uses: actions/setup-node@v6
|
|
with:
|
|
node-version: "24.14.0"
|
|
cache: "pnpm"
|
|
|
|
- name: Install Python
|
|
uses: actions/setup-python@v6
|
|
with:
|
|
python-version: "3.10"
|
|
|
|
- name: Setup Go
|
|
uses: actions/setup-go@v6
|
|
with:
|
|
go-version: "1.25.0"
|
|
cache-dependency-path: |
|
|
apps/core/go.sum
|
|
|
|
- name: Install swag
|
|
run: go install github.com/swaggo/swag/cmd/swag@latest
|
|
|
|
- name: Install dependencies
|
|
run: pnpm install
|
|
|
|
- name: Download third-party deps
|
|
run: pnpm deps:download
|
|
|
|
- name: Build & release app
|
|
run: pnpm release:electron
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GH_TOKEN }}
|
|
APP_TD_APPID: ${{ secrets.APP_TD_APPID }}
|
|
|
|
- uses: actions/upload-artifact@v6
|
|
with:
|
|
name: mediago-${{ matrix.os }}
|
|
path: apps/electron/release/mediago-*
|