Files
Coworker/.gitea/workflows/build.yml
MrSphay bed0acb2d7
All checks were successful
Codex Template Compliance / compliance (push) Successful in 5s
Release Dry Run / release-dry-run (push) Successful in 43s
Build / build (push) Successful in 2m22s
Publish installer with Gitea package auth
2026-06-19 15:16:34 +02:00

72 lines
2.2 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: Publish installer package
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
continue-on-error: true
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_USER: ${{ secrets.GITEA_USER }}
run: |
test -n "$GITEA_TOKEN"
version="$(node -p "require('./package.json').version")"
server="${GITHUB_SERVER_URL:-https://git.wilkensxl.de}"
owner="${GITHUB_REPOSITORY_OWNER:-Code-Inc}"
user="${GITEA_USER:-${GITHUB_ACTOR:-MrSphay}}"
package_name="coworker-windows-installer"
for file in release/Coworker-Setup-*.exe release/SHA256SUMS.txt; do
name="$(basename "$file")"
curl --fail-with-body -sS \
-u "$user:$GITEA_TOKEN" \
--upload-file "$file" \
"$server/api/packages/$owner/generic/$package_name/$version/$name"
done
- name: Upload installer artifact
uses: actions/upload-artifact@v3
with:
name: coworker-windows-installer
path: |
release/Coworker-Setup-*.exe
release/SHA256SUMS.txt