name: Build on: push: branches: [main, master] tags: ["v*"] pull_request: workflow_dispatch: permissions: contents: write jobs: check: name: Typecheck & tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - run: npm run typecheck - run: npm test - run: npm run build:renderer build-windows: name: Build Windows installer needs: check if: github.event_name != 'pull_request' runs-on: windows-latest env: CSC_IDENTITY_AUTO_DISCOVERY: "false" steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 with: node-version: 22 cache: npm - run: npm ci - run: npm run build - name: Package Windows EXE run: npx electron-builder --win --publish never env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} - uses: actions/upload-artifact@v4 with: name: EveFlow-Windows-${{ github.ref_name }} path: | out/*.exe out/*.exe.blockmap out/latest.yml if-no-files-found: error - name: Publish GitHub release if: startsWith(github.ref, 'refs/tags/v') uses: softprops/action-gh-release@v2 with: files: | out/*.exe out/*.exe.blockmap out/latest.yml