name: Build on: push: branches: [main] pull_request: workflow_dispatch: jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Install dependencies run: npm install - name: Lint run: npm run lint - name: Test run: npm run test - name: Build run: npm run build - name: Build Windows installer run: | builder="coworker-builder-${GITHUB_RUN_ID:-manual}-${GITHUB_RUN_ATTEMPT:-1}" rm -rf node_modules release docker create --name "$builder" electronuserland/builder:wine /bin/bash -lc "sleep infinity" trap 'docker rm -f "$builder"' EXIT docker cp . "$builder":/project docker start "$builder" docker exec -w /project "$builder" /bin/bash -lc "npm install && npm run package:win" docker cp "$builder":/project/release ./release - name: Checksums run: | cd release sha256sum Coworker-Setup-*.exe > SHA256SUMS.txt - name: Upload installer artifact uses: actions/upload-artifact@v3 with: name: coworker-windows-installer path: | release/Coworker-Setup-*.exe release/SHA256SUMS.txt