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 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' - uses: actions/checkout@v2 - 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