Skip to content

feat: builder add win arm64 #205

feat: builder add win arm64

feat: builder add win arm64 #205

Workflow file for this run

on:
push:
# Sequence of patterns matched against refs/tags
tags:
- "v*" # Push events to matching v*, i.e. v1.0, v20.15.10
jobs:
build:
runs-on: ${{ matrix.os }}
# Platforms to build on/for
strategy:
matrix:
os: [windows-latest, ubuntu-latest, macos-13]
node-version: [20.18.0]
steps:
- name: Check out Git repository
uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
# install dbus-1 dep for xosms
- if: matrix.os == 'ubuntu-latest'
name: install ubuntu deps
run: |
sudo apt update
sudo apt install libdbus-1-dev snapd
sudo snap install snapcraft --classic
- if: matrix.os == 'windows-latest'
name: install windows deps
uses: GuillaumeFalourd/[email protected]
with:
sdk-version: 19041
- if: github.ref_type == 'tag'
id: getVersion
uses: actions/[email protected]
env:
REF_NAME: ${{ github.ref_name }}
with:
script: |
const isVersion = /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/
const id = process.env.REF_NAME && process.env.REF_NAME.split('v')[1] || process.env.REF_NAME
core.setOutput("value", id);
core.setOutput("ok", isVersion.test(id))
- if: github.ref_type == 'tag' && steps.getVersion.outputs.ok
name: set app version
uses: jossef/[email protected]
with:
file: package.json
field: version
value: ${{ steps.getVersion.outputs.value }}
- name: Install dependencies
run: |
yarn config set ignore-engines true
yarn --frozen-lockfile
- name: Build Electron release
run: yarn release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
VITE_SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
VITE_DISCORD_CLIENT_ID: ${{ secrets.DISCORD_CLIENT_ID }}
VITE_LASTFM_API: ${{ secrets.LASTFM_API }}
VITE_LASTFM_SECRET: ${{ secrets.LASTFM_SECRET }}
VITE_GITHUB_REPOSITORY: ${{ github.repository }}
- if: matrix.os == 'ubuntu-latest'
name: Upload release source maps to sentry
continue-on-error: true
env:
SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }}
SENTRY_PROJECT: ytmdesktop
SENTRY_ORG: venipa.net
SENTRY_DEPLOY_ENVIRONMENT: production
SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
SENTRY_URL: ${{ secrets.SENTRY_URL }}
run: |
# Install Sentry CLI
curl -sL https://sentry.io/get-cli/ | bash
# Create new Sentry release
# export SENTRY_RELEASE=$(sentry-cli releases propose-version)
sentry-cli releases new -p $SENTRY_PROJECT $SENTRY_RELEASE
sentry-cli releases set-commits --auto $SENTRY_RELEASE
sentry-cli releases finalize $SENTRY_RELEASE
# Create new deploy for this Sentry release
sentry-cli releases deploys $SENTRY_RELEASE new -e $SENTRY_DEPLOY_ENVIRONMENT