name: Release on: push: tags: - "v*" workflow_dispatch: jobs: release: runs-on: ubuntu-latest env: GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }} steps: - name: Checkout uses: actions/checkout@v4 - name: Install dependencies run: npm install - name: Validate run: npm run release:check - 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: Create Gitea release and upload assets run: | test -n "$GITEA_TOKEN" server="${GITHUB_SERVER_URL:-https://git.wilkensxl.de}" repo="${GITHUB_REPOSITORY:-Code-Inc/Coworker}" tag="${GITHUB_REF_NAME:-manual}" body="$(python3 - <<'PY' from pathlib import Path print(Path("docs/release-notes.md").read_text(encoding="utf-8")) PY )" release_json="$(python3 - <