88ac250fee
* fix large file uploads * changelog * update github action xcode version * update electronbuilder for macos * try use_hard_links=false * no USE_HARD_LINKS * upgrate electron-builder 23_3_3 * revert to electron-builder 22_10_5 electron-builder/issues/6124 says regressions happen after this version. * try mac install homebrew, python2 * typo and ln /usr/bin/python * oops * try sudo * try PYTHON_PATH * comment github action mac python hack
127 lines
4.1 KiB
YAML
127 lines
4.1 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@v3
|
|
- run: corepack enable
|
|
- run: yarn
|
|
- run: yarn lint
|
|
|
|
build:
|
|
needs: ['lint']
|
|
name: 'build'
|
|
strategy:
|
|
matrix:
|
|
node-version: [16.x]
|
|
os:
|
|
- ubuntu-latest
|
|
- macos-latest
|
|
- windows-latest
|
|
runs-on: ${{ matrix.os }}
|
|
continue-on-error: true
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{ matrix.node-version }}
|
|
- run: corepack enable
|
|
|
|
- uses: maxim-lobanov/setup-xcode@v1
|
|
if: startsWith(runner.os, 'mac')
|
|
with:
|
|
xcode-version: '13.1.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: |
|
|
/bin/bash -c "$(curl -fsSL https://github.com/alfredapp/dependency-scripts/raw/main/scripts/install-python2.sh)"
|
|
echo "PYTHON_PATH=/usr/local/bin/python" >> $GITHUB_ENV
|
|
|
|
- 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 }}
|
|
WIN_CSC_KEY_PASSWORD: ${{ secrets.WIN_CSC_KEY_PASSWORD }}
|
|
CSC_KEY_PASSWORD: ${{ secrets.CSC_KEY_PASSWORD }}
|
|
|
|
WIN_CSC_LINK: https://raw.githubusercontent.com/lbryio/lbry-desktop/master/build/cert-2021-2022.pfx
|
|
CSC_LINK: https://s3.amazonaws.com/files.lbry.io/cert/osx-csc-2021-2022.p12
|
|
|
|
# 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@v2.2.4
|
|
if: |
|
|
startsWith(runner.os, 'linux')
|
|
with:
|
|
name: Linux
|
|
path: ./dist/electron/*.*
|
|
|
|
- uses: actions/upload-artifact@v2.2.4
|
|
if: |
|
|
startsWith(runner.os, 'mac')
|
|
with:
|
|
name: macOS
|
|
path: ./dist/electron/*.*
|
|
|
|
- uses: actions/upload-artifact@v2.2.4
|
|
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'
|