name: release-desktop on: release: types: [created] # will be triggered when a NON-draft release is created and published. jobs: publish-desktop-app: name: ${{ matrix.os }} strategy: matrix: os: [macos, ubuntu, windows] fail-fast: false # So publish runs for other OSes if one fails runs-on: ${{ matrix.os }}-latest steps: - uses: actions/checkout@v4 with: ref: master # otherwise it defaults to the version tag missing bump commit fetch-depth: 0 # fetch all history - name: Checkout to bump commit shell: bash run: git checkout "$(git rev-list "${{ github.event.release.tag_name }}"..master | tail -1)" - name: Setup node uses: ./.github/actions/setup-node - name: Install dependencies uses: ./.github/actions/npm-install-dependencies - name: Run unit tests run: npm run test:unit - name: Prebuild run: npm run electron:prebuild - name: Build and publish run: npm run electron:build -- --publish always env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} EP_GH_IGNORE_TIME: true # Otherwise publishing fails if GitHub release is more than 2 hours old https://github.com/electron-userland/electron-builder/issues/2074