Skip to content

website: Fix manual linkt #666

website: Fix manual linkt

website: Fix manual linkt #666

Workflow file for this run

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"