lbry-desktop/.github/workflows/deploy.yml
Ben van Hartingsveldt f146169259
Switch to Homebrew
2025-09-16 17:45:19 +02:00

123 lines
3.8 KiB
YAML

name: Node.js CI
on:
push:
branches: [master]
pull_request:
branches: [master]
jobs:
lint:
name: lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- run: corepack enable
- run: yarn
- run: yarn lint
build:
needs: ['lint']
name: 'build'
strategy:
matrix:
node-version: [16.x]
os:
- ubuntu-latest
- macos-13
- windows-latest
runs-on: ${{ matrix.os }}
continue-on-error: true
steps:
- uses: actions/checkout@v5
- uses: actions/setup-node@v5
with:
node-version: ${{ matrix.node-version }}
- run: corepack enable
- uses: maxim-lobanov/setup-xcode@v1
if: startsWith(runner.os, 'mac')
with:
xcode-version: '15.2.0'
# This is gonna be hacky.
# Github made us upgrade xcode, which would force an upgrade of electron-builder to fix mac.
# But there were bugs with copyfiles / extraFiles that kept seeing duplicates erroring on ln.
# A flag USE_HARD_LINKS=false in electron-builder.json was suggested in comments, but that broke windows builds.
# So for now we'll install python2 on mac and make sure it can find it.
# Remove this after successfully upgrading electron-builder.
# HACK part 1
- uses: Homebrew/actions/setup-homebrew@master
if: startsWith(runner.os, 'mac')
# HACK part 2
- name: Install Python2
if: startsWith(runner.os, 'mac')
run: |
brew install python@2
- name: Download blockchain headers
run: |
mkdir -p ./static/daemon
curl -o ./static/daemon/headers https://headers.lbry.io/blockchain_headers_latest
ls ./static/daemon
- name: Build
run: |
yarn dlx cross-env
yarn --network-timeout 600000
yarn build
env:
GH_TOKEN: ${{ secrets.GH_TOKEN_NEW }}
NOTARIZATION_USERNAME: ${{ secrets.NOTARIZATION_USERNAME }}
NOTARIZATION_PASSWORD: ${{ secrets.NOTARIZATION_PASSWORD }}
# CSC_LINK: ${{ secrets.CSC_LINK }}
# CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
# WIN_CSC_LINK: ${{ secrets.WIN_CSC_LINK }}
# WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
# UI
MATOMO_URL: https://analytics.lbry.com/
MATOMO_ID: 4
WELCOME_VERSION: 1.0
DOMAIN: lbry.tv
URL: https://lbry.tv
SHARE_DOMAIN_URL: https://open.lbry.com
SITE_TITLE: lbry.tv
SITE_NAME: lbry.tv
SHOW_ADS: false
ENABLE_COMMENT_REACTIONS: true
ENABLE_NO_SOURCE_CLAIMS: false
DEFAULT_LANGUAGE: en
KNOWN_APP_DOMAINS: lbry.tv,lbry.lat,odysee.com
CHANNEL_STAKED_LEVEL_VIDEO_COMMENTS: 0
- uses: actions/upload-artifact@v4
if: |
startsWith(runner.os, 'linux')
with:
name: Linux
path: ./dist/electron/*.*
- uses: actions/upload-artifact@v4
if: |
startsWith(runner.os, 'mac')
with:
name: macOS
path: ./dist/electron/*.*
- uses: actions/upload-artifact@v4
if: |
startsWith(runner.os, 'windows')
with:
name: Windows
path: ./dist/electron/*.*
#- uses: jakejarvis/s3-sync-action@master
# if: |
# startsWith(runner.os, 'linux')
# with:
# args: --acl public-read --follow-symlinks --exclude '*' --include '*.deb' --include '*.AppImage' --include '*.dmg'
# env:
# AWS_S3_BUCKET: ${{ secrets.ARTIFACTS_BUCKET }}
# AWS_ACCESS_KEY_ID: ${{ secrets.ARTIFACTS_KEY }}
# AWS_SECRET_ACCESS_KEY: ${{ secrets.ARTIFACTS_SECRET }}
# AWS_REGION: 'us-east-1'
# SOURCE_DIR: 'dist/electron'
# DEST_DIR: 'app/release'