name: Manual Release on: workflow_dispatch: permissions: contents: write jobs: release: name: Release (${{ matrix.os }}) runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: include: - os: ubuntu-latest args: --linux AppImage - os: windows-latest args: --win nsis - os: macos-latest args: --mac steps: - uses: actions/checkout@v4 with: fetch-depth: 0 lfs: true - name: Set up Node uses: actions/setup-node@v4 with: node-version: 20 cache: npm - name: Install deps run: npm ci - name: Verify version is set run: | node -e "process.exit(require('./package.json').version ? 0 : 1)" - name: Build + publish env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | npx electron-builder ${{ matrix.args }} --publish always