68 lines
2.0 KiB
YAML
68 lines
2.0 KiB
YAML
name: rats
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ${{ matrix.os }}
|
|
continue-on-error: true
|
|
strategy:
|
|
matrix:
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
node_version:
|
|
- 14
|
|
- 16
|
|
architecture:
|
|
- x64
|
|
# - arm64 precompiled bits may not allow for this
|
|
# an extra windows-x86 run:
|
|
# include:
|
|
# - os: windows-latest
|
|
# node_version: 15
|
|
# architecture: arm64
|
|
# - os: macos-latest
|
|
# node_version: 15
|
|
# architecture: arm64
|
|
name: Node ${{ matrix.node_version }} - ${{ matrix.architecture }} on ${{ matrix.os }}
|
|
env:
|
|
GH_TOKEN: ${{ SECRETS.GH_TOKEN }}
|
|
DISPLAY: :0
|
|
steps:
|
|
- name: Setup xvfb (Linux)
|
|
if: runner.os == 'Linux'
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y xvfb g++-multilib
|
|
sudo /usr/bin/Xvfb $DISPLAY -screen 0 1280x1024x24 &
|
|
- name: Prepare python3.10
|
|
if: runner.os == 'macOS'
|
|
uses: actions/setup-python@v4
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Checkout repository and submodules
|
|
uses: actions/checkout@v2
|
|
with:
|
|
submodules: recursive
|
|
- name: Setup node
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: ${{ matrix.node_version }}
|
|
architecture: ${{ matrix.architecture }}
|
|
- run: npm install --force
|
|
- run: npm run postinstall
|
|
- run: npm run prebuild
|
|
- run: npm run buildweb
|
|
- run: npm run test
|
|
- run: npm run build
|
|
- uses: actions/upload-artifact@v2
|
|
with:
|
|
name: executable
|
|
path: dist/
|
|
- uses: nelonoel/branch-name@v1.0.1
|
|
- name: Deploy release (MacOS)
|
|
if: matrix.node_version == 16 && env.BRANCH_NAME == 'master' && runner.os == 'macOS' && github.event.head_commit.message == 'release'
|
|
run: |
|
|
npx semantic-release@17
|