Skip to content

1.10.0-beta.1

1.10.0-beta.1 #76

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, ubuntu-latest, windows-latest]
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: npm
- name: Install dependencies
run: npm ci
- name: Fetch
run: npm run fetch
- name: Compile
run: npm run webpack:prod
- name: Package Windows
if: runner.os == 'Windows'
run: |
npx electron-builder --windows nsis --x64 --publish always --config.extraMetadata.tw_dist=prod-win-nsis-x64 --config.extraMetadata.tw_update=yes
npx electron-builder --windows nsis --ia32 --publish always --config.extraMetadata.tw_dist=prod-win-nsis-ia32 --config.extraMetadata.tw_update=yes
npx electron-builder --windows nsis --arm64 --publish always --config.extraMetadata.tw_dist=prod-win-nsis-arm64 --config.extraMetadata.tw_update=yes
npx electron-builder --windows portable --x64 --publish always --config.extraMetadata.tw_dist=prod-win-portable-x64 --config.extraMetadata.tw_update=yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Package Microsoft Store
if: runner.os == 'Windows'
# Updates are handled by the Microsoft Store
run: |
npx electron-builder --windows appx --x64 --publish never --config.extraMetadata.tw_dist=prod-appx-x64
npx electron-builder --windows appx --ia32 --publish never --config.extraMetadata.tw_dist=prod-appx-ia32
npx electron-builder --windows appx --arm64 --publish never --config.extraMetadata.tw_dist=prod-appx-arm64
- name: Upload Microsoft Store Artifact
if: runner.os == 'Windows'
uses: actions/upload-artifact@v4
with:
name: appx
path: dist/*.appx
- name: Package macOS
if: runner.os == 'macOS'
run: |
npx electron-builder --mac dmg --universal --publish always --config.extraMetadata.tw_dist=prod-mac --config.extraMetadata.tw_update=yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
APPLE_ID_USERNAME: ${{ secrets.APPLE_ID_USERNAME }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
CSC_LINK: ${{ secrets.CSC_LINK }}
- name: Package Linux
if: runner.os == 'Linux'
run: |
npx electron-builder --linux deb --x64 --publish always --config.extraMetadata.tw_dist=prod-linux-deb-x64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux deb --arm64 --publish always --config.extraMetadata.tw_dist=prod-linux-deb-arm64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux deb --armv7l --publish always --config.extraMetadata.tw_dist=prod-linux-deb-armv7l --config.extraMetadata.tw_update=yes
npx electron-builder --linux tar.gz --x64 --publish always --config.extraMetadata.tw_dist=prod-linux-tar-x64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux tar.gz --arm64 --publish always --config.extraMetadata.tw_dist=prod-linux-tar-arm64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux tar.gz --armv7l --publish always --config.extraMetadata.tw_dist=prod-linux-tar-armv7l --config.extraMetadata.tw_update=yes
npx electron-builder --linux AppImage --x64 --publish always --config.extraMetadata.tw_dist=prod-linux-appimage-x64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux AppImage --arm64 --publish always --config.extraMetadata.tw_dist=prod-linux-appimage-arm64 --config.extraMetadata.tw_update=yes
npx electron-builder --linux AppImage --armv7l --publish always --config.extraMetadata.tw_dist=prod-linux-appimage-armv7l --config.extraMetadata.tw_update=yes
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}