Skip to content

feat: upgrade to Electron 41 (v0.1.0) #34

feat: upgrade to Electron 41 (v0.1.0)

feat: upgrade to Electron 41 (v0.1.0) #34

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
workflow_dispatch:
permissions:
contents: write
jobs:
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Install Python setuptools
run: pip install setuptools
- uses: actions/setup-node@v6
with:
node-version: 20
- name: Enable Corepack
run: corepack enable
- name: Import code signing certificate
env:
MAC_CERTIFICATE: ${{ secrets.MAC_CERTIFICATE }}
MAC_CERTIFICATE_PASSWORD: ${{ secrets.MAC_CERTIFICATE_PASSWORD }}
run: |
echo "$MAC_CERTIFICATE" | base64 --decode > certificate.p12
security create-keychain -p actions build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p actions build.keychain
security import certificate.p12 -k build.keychain -P "$MAC_CERTIFICATE_PASSWORD" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k actions build.keychain
rm certificate.p12
- name: Install dependencies
run: yarn install
- name: Build
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
run: |
yarn build
yarn dist --publish never
- name: Upload to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
tag="${GITHUB_REF_NAME}"
else
tag="v$(node -p 'require("./package.json").version')"
fi
for f in dist/*.dmg dist/*.dmg.blockmap dist/*.zip dist/*.zip.blockmap dist/latest-mac.yml; do
[ -f "$f" ] && gh release upload "$tag" "$f" --clobber
done
- name: Clean up keychain
if: always()
run: security delete-keychain build.keychain || true
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Install Python setuptools
run: pip install setuptools
- uses: actions/setup-node@v6
with:
node-version: 20
- name: Enable Corepack
run: corepack enable
- name: Install dependencies
run: yarn install
- name: Build
run: |
yarn build
yarn dist --publish never
- name: Upload to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if ($env:GITHUB_REF -match '^refs/tags/') {
$tag = $env:GITHUB_REF_NAME
} else {
$tag = "v" + (node -p "require('./package.json').version")
}
Get-ChildItem dist\*.exe, dist\*.blockmap, dist\latest*.yml | ForEach-Object {
gh release upload $tag $_.FullName --clobber
}
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- name: Install Python setuptools
run: pip install setuptools
- uses: actions/setup-node@v6
with:
node-version: 20
- name: Enable Corepack
run: corepack enable
- name: Install dependencies
run: yarn install
- name: Build
run: |
yarn build
yarn dist --publish never
- name: Upload to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
tag="${GITHUB_REF_NAME}"
else
tag="v$(node -p 'require("./package.json").version')"
fi
for f in dist/*.AppImage dist/*.deb dist/*.rpm dist/latest-linux.yml; do
[ -f "$f" ] && gh release upload "$tag" "$f" --clobber
done