Files
picoGraph/.github/workflows/windows-build.yml

69 lines
1.9 KiB
YAML

name: Build/Release
permissions:
contents: write
on:
push:
branches:
- main
jobs:
release:
runs-on: windows-latest
steps:
- name: Check out repository
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: npm
- name: Install dependencies
run: npm ci
- name: Calculate release version
id: version
shell: pwsh
env:
GH_TOKEN: ${{ secrets.GH_TOKEN != '' && secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
node scripts/ci/update-version.js $env:GITHUB_OUTPUT
if ($LASTEXITCODE -ne 0) { exit $LASTEXITCODE }
- name: Build/release Electron app
uses: samuelmeuli/action-electron-builder@v1
with:
github_token: ${{ secrets.GH_TOKEN != '' && secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
release: false
args: --win --x64 --publish never
env:
GH_TOKEN: ${{ secrets.GH_TOKEN != '' && secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Create GitHub release
uses: softprops/action-gh-release@v1
with:
tag_name: v${{ steps.version.outputs.tag }}
name: ${{ steps.version.outputs.tag }}
prerelease: false
draft: false
files: |
dist/**/*.exe
dist/**/*.blockmap
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN != '' && secrets.GH_TOKEN || secrets.GITHUB_TOKEN }}
- name: Upload installer artifact
if: always()
uses: actions/upload-artifact@v4
with:
name: windows-installer-${{ steps.version.outputs.tag }}
path: |
dist/**/*.exe
dist/**/*.blockmap