2021-08-11 14:23:45 +08:00

64 lines
1.4 KiB
YAML

# main.yml
# Workflow's name
name: Build
# Workflow's trigger
on:
push:
branches:
- master
# 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: [macos-latest, windows-2019]
# create steps
steps:
# step1: check out repository
- name: Check out git repository
uses: actions/checkout@v2
# step2: install node env
- name: Install Node.js
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node }}
- name: Install system deps
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get install --no-install-recommends -y icnsutils graphicsmagick xz-utils
# step3: yarn
- name: macos Yarn install
if: ${{runner.os == 'macOS'}}
run: |
yarn
yarn global add xvfb-maybe
npm run rebuild
- name: windows Yarn install
if: ${{runner.os == 'Windows'}}
run: |
yarn
yarn global add xvfb-maybe
npm run rebuild_win
- name: Build & release app
run: |
npm run release
env:
GH_TOKEN: ${{ secrets.GH_TOKEN }}