website: Fix manual linkt #666
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build | |
on: [push] | |
jobs: | |
init_release: | |
name: init-release | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: volta-cli/action@v4 | |
- name: Create Sentry release | |
env: | |
SENTRY_ORG: evan-purkhiser | |
SENTRY_PROJECT: prolink-tools | |
SENTRY_AUTH_TOKEN: '${{ secrets.SENTRY_AUTH_TOKEN }}' | |
run: | | |
RELEASE="$(git describe)" | |
curl -sL https://sentry.io/get-cli/ | bash | |
sentry-cli releases new "$RELEASE" | |
sentry-cli releases set-commits "$RELEASE" --auto | |
build: | |
name: build | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, windows-latest, macos-latest] | |
include: | |
- os: ubuntu-latest | |
ext: tar.gz | |
- os: windows-latest | |
ext: exe | |
- os: macos-latest | |
ext: dmg | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: volta-cli/action@v4 | |
# Test | |
- run: yarn install | |
- run: yarn lint | |
# Use the short has for the | |
- name: Set dev-build artifact name | |
shell: bash | |
if: ${{ github.ref == 'refs/heads/main' }} | |
run: echo "$(jq -r '.build.artifactName="${name}-dev-'"$(git rev-parse --short HEAD)"'-${os}.${ext}"' package.json)" > package.json | |
# Build | |
- run: yarn electron-builder install-app-deps | |
- run: yarn build-main | |
- run: yarn build-renderer | |
- run: yarn build-overlay | |
- run: yarn dist | |
# Upload built executables | |
- name: Upload executable | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ matrix.os }} | |
path: ${{ github.workspace }}/release/*.${{ matrix.ext }} | |
# Upload sourcemaps (only once) | |
- name: Upload sourcemaps | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
uses: actions/upload-artifact@v3 | |
with: | |
name: sourcemaps | |
path: | | |
${{ github.workspace }}/dist/**/*.map | |
${{ github.workspace }}/dist/**/*.js | |
publish: | |
needs: [build, init_release] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/download-artifact@v3 | |
with: | |
path: release | |
- name: Locate release files | |
id: locate | |
run: | | |
echo ::set-output name=macos::$(ls ${{ github.workspace }}/release/macos-latest/*) | |
echo ::set-output name=ubuntu::$(ls ${{ github.workspace }}/release/ubuntu-latest/*) | |
echo ::set-output name=windows::$(ls ${{ github.workspace }}/release/windows-latest/*) | |
echo ::set-output name=sourcemaps::${{ github.workspace }}/release/sourcemaps | |
- name: Release latest main | |
uses: marvinpinto/action-automatic-releases@latest | |
if: ${{ github.ref == 'refs/heads/main' }} | |
with: | |
repo_token: '${{ secrets.GITHUB_TOKEN }}' | |
automatic_release_tag: main-build | |
prerelease: true | |
title: Development Build | |
files: | | |
${{ steps.locate.outputs.macos }} | |
${{ steps.locate.outputs.ubuntu }} | |
${{ steps.locate.outputs.windows }} | |
- name: Release new version | |
if: ${{ startsWith(github.ref, 'refs/tags/v') }} | |
uses: marvinpinto/action-automatic-releases@latest | |
with: | |
repo_token: '${{ secrets.GITHUB_TOKEN }}' | |
prerelease: false | |
files: | | |
${{ steps.locate.outputs.macos }} | |
${{ steps.locate.outputs.ubuntu }} | |
${{ steps.locate.outputs.windows }} | |
- name: Finalize Sentry release | |
env: | |
SENTRY_ORG: evan-purkhiser | |
SENTRY_PROJECT: prolink-tools | |
SENTRY_AUTH_TOKEN: '${{ secrets.SENTRY_AUTH_TOKEN }}' | |
run: | | |
RELEASE="$(git describe)" | |
curl -sL https://sentry.io/get-cli/ | bash | |
sentry-cli releases files "$RELEASE" upload-sourcemaps ${{ steps.locate.outputs.sourcemaps }} | |
sentry-cli releases finalize "$RELEASE" |