build: update gh actions #38
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build & Release | |
on: [push] | |
env: | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_TOKEN }} | |
jobs: | |
github-release: | |
runs-on: ${{ matrix.os }} | |
# Platforms to build on/for | |
strategy: | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
arch: [x64, arm64, arm] | |
exclude: | |
- os: macos-latest | |
arch: arm | |
- os: macos-latest | |
arch: x64 | |
- os: windows-latest | |
arch: arm | |
- os: windows-latest | |
arch: arm64 | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js, NPM and Yarn | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 20 | |
- name: Install Snapcraft | |
uses: samuelmeuli/action-snapcraft@v2 | |
- name: Install libarchive-tools for pacman build # Related https://github.com/electron-userland/electron-builder/issues/4181 | |
if: startsWith(matrix.os, 'ubuntu') | |
run: sudo apt-get install libarchive-tools | |
- name: Build | |
run: yarn --link-duplicates --pure-lockfile | |
- name: Build for test only linux | |
if: | | |
github.ref != 'refs/heads/main' && | |
startsWith(matrix.os, 'ubuntu') | |
run: yarn dist:linux:${{ matrix.arch }} -- --publish never | |
- name: Release linux | |
if: | | |
github.ref == 'refs/heads/main' && | |
startsWith(matrix.os, 'ubuntu') | |
run: yarn dist:linux:${{ matrix.arch }} -- --publish always | |
- name: Build for test only macos | |
if: | | |
github.ref != 'refs/heads/main' && | |
startsWith(matrix.os, 'macos') | |
run: yarn dist:mac -- --publish never | |
- name: Release macos | |
if: | | |
github.ref == 'refs/heads/main' && | |
startsWith(matrix.os, 'macos') | |
run: yarn dist:mac -- --publish always | |
- name: Build for test only windows | |
if: | | |
github.ref != 'refs/heads/main' && | |
startsWith(matrix.os, 'windows') | |
run: yarn dist:windows -- --publish never | |
- name: Release windows | |
if: | | |
github.ref == 'refs/heads/main' && | |
startsWith(matrix.os, 'windows') | |
run: yarn dist:windows -- --publish always |