Skip to content

feat: add incoming calls settings dialog #463

feat: add incoming calls settings dialog

feat: add incoming calls settings dialog #463

Workflow file for this run

name: Build and release dev apps
on:
pull_request:
branches: [main]
types: [opened, reopened, synchronize]
jobs:
release-dev:
runs-on: ${{ matrix.os }}
strategy:
matrix:
include:
- os: macos-latest
arch: x64
- os: macos-latest
arch: arm64
- os: ubuntu-latest
arch: x64
- os: windows-latest
arch: x64
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v4
with:
node-version: 22
- 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
xcrun --find notarytool
- name: Enable code signing only for current repo
if: github.event.pull_request.head.repo.full_name == github.repository
run: echo "CSC_FOR_PULL_REQUEST=true" >> $GITHUB_ENV
- name: Set dev version
run: |
echo "Creating patch-version.js"
cat << 'EOF' > patch-version.js
const fs = require('fs');
const pkg = require('./package.json');
const sha = process.env.COMMIT_SHA.slice(0, 7);
const pr = process.env.PR_NUMBER;
const baseVersion = pkg.version.replace(/-dev.*$/, '');
pkg.version = `${baseVersion}-dev.pr${pr}.${sha}`;
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
console.log("Updated version:", pkg.version);
EOF
node patch-version.js
shell: bash
env:
GITHUB_SHA: ${{ github.sha }}
PR_NUMBER: ${{ github.event.pull_request.number }}
COMMIT_SHA: ${{ github.event.pull_request.head.sha }}
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
with:
# GitHub token, automatically provided to the action
# (No need to define this secret in the repo settings)
github_token: ${{ secrets.github_token }}
# If the commit is tagged with a version (e.g. "v1.0.0"),
# release the app after building
release: false
# macOS certificate files
mac_certs: ${{ secrets.mac_certs }}
mac_certs_password: ${{ secrets.mac_certs_psw }}
# Pass arch here
args: --${{ matrix.arch }}
env:
# macOS signing env
APPLE_TEAM_ID: 8D66VDADVH
DEBUG: electron-notarize*
- name: Upload artifacts for Linux
uses: actions/upload-artifact@v4
if: matrix.os == 'ubuntu-latest'
with:
name: linux-app.AppImage
path: 'dist/*.AppImage'
if-no-files-found: error
- name: Upload artifacts for MacOS
uses: actions/upload-artifact@v4
if: matrix.os == 'macos-latest'
with:
name: macos-app-${{ matrix.arch }}.dmg
path: 'dist/*.dmg'
if-no-files-found: error
- name: Upload artifacts for Windows
uses: actions/upload-artifact@v4
if: matrix.os == 'windows-latest'
with:
name: win-app.exe
path: 'dist\*.exe'
if-no-files-found: error