feat: Helium Status Display #159
This file contains hidden or 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: | |
- main | |
jobs: | |
build: | |
name: Build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
- name: Install Node.js, NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
cache: 'npm' | |
- name: Install libs | |
run: sudo apt-get install libudev-dev | |
- name: Install Dependencies | |
run: | | |
npm install --force | |
npm install --force @rollup/rollup-linux-x64-gnu | |
- name: Semantic Release | |
run: | | |
npm run semantic-release | |
- name: Archive production artifacts | |
uses: actions/upload-artifact@v4 | |
with: | |
name: build | |
path: build | |
release: | |
runs-on: ${{ matrix.os }} | |
needs: build | |
strategy: | |
matrix: | |
include: | |
- os: macos-latest | |
arch: x64 | |
- os: macos-latest | |
arch: arm64 | |
- os: windows-latest | |
arch: x64 | |
steps: | |
- name: Check out Git repository | |
uses: actions/checkout@v4 | |
with: | |
ref: "main" | |
- name: Install Node.js, NPM | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: Install Dependencies | |
run: | | |
npm install --force | |
- uses: actions/setup-python@v4 | |
if: startsWith(matrix.os, 'macos') | |
with: | |
python-version: "3.9" # Needed for the older version of Node Gyp | |
- name: Download production artifacts | |
uses: actions/download-artifact@v4 | |
with: | |
name: build | |
path: build | |
- name: Prepare for app signing | |
if: startsWith(matrix.os, 'macos') | |
run: ./scripts/add-osx-cert.sh | |
env: | |
CERTIFICATE_OSX_P12: ${{ secrets.mac_cert }} | |
CERTIFICATE_PASSWORD: ${{ secrets.mac_cert_password }} | |
- name: Prepare for app notarization | |
if: startsWith(matrix.os, 'macos') | |
# Import Apple API key for app notarization on macOS | |
run: | | |
mkdir -p ~/private_keys/ | |
echo '${{ secrets.api_key }}' > ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8 | |
- name: Build/release Electron app | |
run: npm run publish -- --arch=${{ matrix.arch }} | |
if: always() | |
env: | |
# macOS notarization API key | |
CSC_LINK: ${{ secrets.mac_cert }} | |
CSC_KEY_PASSWORD: ${{ secrets.mac_cert_password }} | |
APPLE_API_KEY: ~/private_keys/AuthKey_${{ secrets.api_key_id }}.p8 | |
APPLE_API_KEY_ID: ${{ secrets.api_key_id }} | |
APPLE_API_ISSUER: ${{ secrets.api_key_issuer_id }} | |
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
ENGINE_API_KEY: ${{ secrets.ENGINE_API_KEY }} | |
ERROR_REPORTING_ORGANIZATION: | |
${{ secrets.ERROR_REPORTING_ORGANIZATION }} | |
ERROR_REPORTING_PROJECT: ${{ secrets.ERROR_REPORTING_PROJECT }} | |
ERROR_REPORTING_API_TOKEN: ${{ secrets.ERROR_REPORTING_API_TOKEN }} | |
GOOGLE_SHEETS_PROJECT_ID: ${{ secrets.GOOGLE_SHEETS_PROJECT_ID }} | |
GOOGLE_SHEETS_SECRET: ${{ secrets.GOOGLE_SHEETS_SECRET }} | |
GOOGLE_SHEETS_CLIENT_ID: ${{ secrets.GOOGLE_SHEETS_CLIENT_ID }} | |
GH_ISSUE_TOKEN: ${{ secrets.GH_ISSUE_TOKEN }} | |
- name: Setup tmate session | |
uses: mxschmitt/action-tmate@v2 | |
if: failure() |