feat: webcontentsview extension ipcpromise #225
Workflow file for this run
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
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 --project $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 |