build(deps): bump @babel/traverse from 7.17.10 to 7.23.2 #99
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: | |
branches: | |
- master | |
tags: | |
- v* | |
pull_request: | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- uses: actions/cache@v1 | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Install | |
run: yarn --frozen-lockfile | |
- name: lint | |
run: yarn lint | |
build: | |
needs: lint | |
name: Build (${{ matrix.os }} - ${{ matrix.arch }}) | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
# Build for supported platforms | |
# https://github.com/electron/electron-packager/blob/ebcbd439ff3e0f6f92fa880ff28a8670a9bcf2ab/src/targets.js#L9 | |
# 32-bit Linux unsupported as of 2019: https://www.electronjs.org/blog/linux-32bit-support | |
os: [ macOS-latest, ubuntu-latest, windows-latest ] | |
arch: [ x64, arm64 ] | |
include: | |
- os: windows-latest | |
arch: ia32 | |
- os: ubuntu-latest | |
arch: armv7l | |
# Publishing artifacts for multiple Windows architectures has | |
# a bug which can cause the wrong architecture to be downloaded | |
# for an update, so until that is fixed, only build Windows x64 | |
exclude: | |
- os: windows-latest | |
arch: arm64 | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Setup Node.js | |
uses: actions/setup-node@v1 | |
with: | |
node-version: 18.x | |
- name: Get yarn cache directory path | |
id: yarn-cache-dir-path | |
run: echo "::set-output name=dir::$(yarn cache dir)" | |
- uses: actions/cache@v1 | |
if: matrix.os != 'macOS-latest' | |
id: yarn-cache # use this to check for `cache-hit` (`steps.yarn-cache.outputs.cache-hit != 'true'`) | |
with: | |
path: ${{ steps.yarn-cache-dir-path.outputs.dir }} | |
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }} | |
restore-keys: | | |
${{ runner.os }}-yarn- | |
- name: Set MacOS signing certs | |
if: matrix.os == 'macOS-latest' | |
run: chmod +x tools/add-macos-cert.sh && ./tools/add-macos-cert.sh | |
env: | |
MACOS_CERT_P12: ${{ secrets.MACOS_CERT_P12 }} | |
MACOS_CERT_PASSWORD: ${{ secrets.MACOS_CERT_PASSWORD }} | |
- name: Set Windows signing certificate | |
if: matrix.os == 'windows-latest' | |
continue-on-error: true | |
id: write_file | |
uses: timheuer/base64-to-file@v1 | |
with: | |
fileName: 'win-certificate.pfx' | |
encodedString: ${{ secrets.WINDOWS_CODESIGN_P12 }} | |
- name: Download disk image (ps1) | |
run: tools/download-disk.ps1 | |
if: matrix.os == 'windows-latest' && startsWith(github.ref, 'refs/tags/') | |
env: | |
DISK_URL: ${{ secrets.DISK_URL }} | |
- name: Download disk image (sh) | |
run: chmod +x tools/download-disk.sh && ./tools/download-disk.sh | |
if: matrix.os != 'windows-latest' && startsWith(github.ref, 'refs/tags/') | |
env: | |
DISK_URL: ${{ secrets.DISK_URL }} | |
- name: Install | |
run: yarn | |
- name: Make | |
if: startsWith(github.ref, 'refs/tags/') | |
run: yarn make --arch=${{ matrix.arch }} | |
env: | |
APPLE_ID: ${{ secrets.APPLE_ID }} | |
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
WINDOWS_CODESIGN_FILE: ${{ steps.write_file.outputs.filePath }} | |
WINDOWS_CODESIGN_PASSWORD: ${{ secrets.WINDOWS_CODESIGN_PASSWORD }} | |
- name: Release | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
draft: true | |
files: | | |
out/**/*.deb | |
out/**/*.dmg | |
out/**/*setup*.exe | |
out/**/*.rpm | |
out/**/*.zip |