feat: upgrade to Electron 41 (v0.1.0) #34
Workflow file for this run
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: 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 |