51 lines
1.3 KiB
YAML
51 lines
1.3 KiB
YAML
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
|