Skip to content

Bump version to 1.0.24 #32

Bump version to 1.0.24

Bump version to 1.0.24 #32

Workflow file for this run

---
name: Build/release
on:
push:
tags:
- "v*"
# Add permissions block
permissions:
contents: write
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
arch: [x64, arm64]
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Install pnpm
uses: pnpm/action-setup@v3
with:
version: 10.4.1
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: Install dependencies
run: pnpm install
- name: Import certificates
if: runner.os == 'macOS'
env:
MACOS_CERTIFICATE: ${{ secrets.MACOS_CERTIFICATE }}
MACOS_CERTIFICATE_PWD: ${{ secrets.MACOS_CERTIFICATE_PWD }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
KEYCHAIN_PASSWORD: ${{ secrets.KEYCHAIN_PASSWORD }}
run: |
# Write certificate to file and decode it
echo "$MACOS_CERTIFICATE" | base64 -D > certificate.p12
# Create keychain
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
security default-keychain -s build.keychain
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
# Import certificate
security import certificate.p12 -k build.keychain -P "$MACOS_CERTIFICATE_PWD" -T /usr/bin/codesign
security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k "$KEYCHAIN_PASSWORD" build.keychain
# Verify certificate import
security find-identity -v -p codesigning build.keychain
- name: Build and package app
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
ARCH: ${{ matrix.arch }}
run: pnpm run make --arch=${{ matrix.arch }}
- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: app-${{ matrix.os }}-${{ matrix.arch }}
path: "out/**/*.zip"
if-no-files-found: error
release:
needs: build
runs-on: ubuntu-latest
steps:
- name: Download all uploaded artifacts
uses: actions/download-artifact@v4
with:
path: ./downloaded-artifacts
- name: Create or update release
uses: ncipollo/release-action@v1
if: startsWith(github.ref, 'refs/tags/')
with:
allowUpdates: true
replacesArtifacts: true
removeArtifacts: true
artifacts: "downloaded-artifacts/**/*.zip"
draft: false
prerelease: false
token: ${{ secrets.GITHUB_TOKEN }}