Skip to content

clients/bitwindow: add subtitle to all cards #182

clients/bitwindow: add subtitle to all cards

clients/bitwindow: add subtitle to all cards #182

Workflow file for this run

name: Build Clients
on:
push:
branches: [master]
paths:
- 'servers/**'
- 'clients/scripts/**'
- 'clients/bitwindow/**'
- 'clients/sidesail/**'
- '.github/workflows/**'
pull_request:
branches: [master]
paths:
- 'servers/**'
- 'clients/scripts/**'
- 'clients/bitwindow/**'
- 'clients/sidesail/**'
- '.github/workflows/**'
jobs:
build:
continue-on-error: true
strategy:
fail-fast: false
matrix:
include:
# Sidesail testchain builds for all os'es
- os: ubuntu-latest
client: sidesail
chain: testchain
- os: macos-latest
client: sidesail
chain: testchain
- os: windows-latest
client: sidesail
chain: testchain
# Sidesail ethereum builds for all os'es
- os: ubuntu-latest
client: sidesail
chain: ethereum
- os: macos-latest
client: sidesail
chain: ethereum
- os: windows-latest
client: sidesail
chain: ethereum
# Sidesail zcash does not build for windows
- os: ubuntu-latest
client: sidesail
chain: zcash
- os: macos-latest
client: sidesail
chain: zcash
# BitWindow builds for all os'es
- os: ubuntu-latest
client: bitwindow
chain: ''
- os: macos-latest
client: bitwindow
chain: ''
- os: windows-latest
client: bitwindow
chain: ''
name: Build ${{ matrix.client }} ${{ matrix.chain }} on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash
working-directory: clients
steps:
- uses: actions/checkout@v4
- uses: subosito/flutter-action@v2
- uses: extractions/setup-just@v1
# Setup go for building bitwindowd
- uses: actions/setup-go@v5
with:
go-version: "1.23"
# Setup go for building bdk-cli
- uses: dtolnay/rust-toolchain@master
with:
toolchain: stable
- name: Create assets/bin directory
run: |
mkdir -p ${{ matrix.client }}/assets/bin
# This workflow uses the latest stable version of the Dart SDK.
- uses: dart-lang/setup-dart@v1
- name: Install dependencies
run: |
cd ${{ matrix.client }}
flutter pub get
# standard macOS sed has subtle differences from gnu
- name: Install GNU sed on macOS
if: runner.os == 'macOS'
run: |
brew install gnu-sed
echo "$(brew --prefix)/opt/gnu-sed/libexec/gnubin" >> $GITHUB_PATH
# https://docs.flutter.dev/get-started/install/linux/desktop
# prettier-ignore
- run: sudo apt-get update -y && sudo apt-get upgrade -y && sudo apt-get install -y curl git unzip xz-utils zip libglu1-mesa && sudo apt-get install clang cmake git ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev
if: runner.os == 'Linux'
- name: Setup macOS app signing
if: runner.os == 'macOS'
run: |
# import certificate into the keychain
echo "${{ secrets.MACOS_CERTIFICATE }}" | base64 --decode > certificate.p12
KEYCHAIN_PASSWORD=$(uuidgen)
echo "Creating keychain"
security create-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
echo "Setting default keychain"
security default-keychain -s build.keychain
echo "Unlocking keychain"
security unlock-keychain -p "$KEYCHAIN_PASSWORD" build.keychain
echo "Setting keychain timeout to 20 minutes"
security set-keychain-settings -t 1200 -l ~/Library/Keychains/build.keychain
echo "Importing certificate into keychain"
security import ./certificate.p12 -k ~/Library/Keychains/build.keychain -P ${{ secrets.MACOS_CERTIFICATE_PASSWORD }} -T /usr/bin/codesign
echo "Setting key partition list"
security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" ~/Library/Keychains/build.keychain
# Find the Common Name of the certificate we just imported
security find-certificate -a -p build.keychain > certificate.pem
cert_subject=$(openssl x509 -in certificate.pem -noout -subject)
echo Certificate subject: "'$cert_subject'"
cn_part=$(grep -o 'CN = "[^"]*"' <<< "$cert_subject")
cn_value=$(sed 's/CN = "\(.*\)"/\1/' <<< "$cn_part")
echo "Determined code sign identity"
echo "CODESIGN_IDENTITY=$cn_value" >> $GITHUB_ENV
echo "Creating notarization API key file"
echo ${{ secrets.GODOT_MACOS_NOTARIZATION_API_KEY }} | base64 --decode > notarization_api_key.p8
- name: Build app
run: |
chain_param="${{ matrix.chain }}"
if [ -z "$chain_param" ]; then
chain_param="none"
fi
# Everything after the first line is only relevant for macOS
./scripts/build-app.sh ${{ runner.os }} ${{ matrix.client }} "$chain_param" \
"$CODESIGN_IDENTITY" $PWD/notarization_api_key.p8 \
${{ secrets.GODOT_MACOS_NOTARIZATION_API_KEY_ID }} \
${{ secrets.GODOT_MACOS_NOTARIZATION_API_UUID }}
- uses: actions/upload-artifact@v4
with:
name: ${{ matrix.client }}-binaries-${{ runner.os }}${{ matrix.chain != '' && format('-{0}', matrix.chain) || '' }}
if-no-files-found: error
path: clients/${{ matrix.client }}/release/*
upload-artifacts-to-releases-drivechain-info:
name: Upload artifacts to releases.drivechain.info
runs-on: ubuntu-latest
needs: build
defaults:
run:
working-directory: clients
# Modified if condition to run even with partial failures
if: |
always() &&
github.event_name == 'push' &&
github.ref == 'refs/heads/master' &&
github.repository_owner == 'LayerTwo-Labs'
steps:
- name: Download artifacts
uses: actions/download-artifact@v4
continue-on-error: true
- name: Rename and move artifacts
working-directory: .
continue-on-error: true
run: |
# Testchain
mv sidesail-binaries-macOS-testchain/testsail-osx64.zip L2-S0-TestSail-latest-x86_64-apple-darwin.zip || true
mv sidesail-binaries-Linux-testchain/testsail-x86_64-linux-gnu.zip L2-S0-TestSail-latest-x86_64-unknown-linux-gnu.zip || true
mv sidesail-binaries-Windows-testchain/testsail-win64.zip L2-S0-TestSail-latest-x86_64-pc-windows-msvc.zip || true
# ZCash
mv sidesail-binaries-macOS-zcash/zsail-osx64.zip L2-S5-ZSail-latest-x86_64-apple-darwin.zip || true
mv sidesail-binaries-Linux-zcash/zsail-x86_64-linux-gnu.zip L2-S5-ZSail-latest-x86_64-unknown-linux-gnu.zip || true
# Ethereum
mv sidesail-binaries-macOS-ethereum/ethsail-osx64.zip L2-S6-EthSail-latest-x86_64-apple-darwin.zip || true
mv sidesail-binaries-Linux-ethereum/ethsail-x86_64-linux-gnu.zip L2-S6-EthSail-latest-x86_64-unknown-linux-gnu.zip || true
mv sidesail-binaries-Windows-ethereum/ethsail-win64.zip L2-S6-EthSail-latest-x86_64-pc-windows-msvc.zip || true
# BitWindow
mv bitwindow-binaries-macOS/bitwindow-osx64.zip BitWindow-latest-x86_64-apple-darwin.zip || true
mv bitwindow-binaries-Linux/bitwindow-x86_64-linux-gnu.zip BitWindow-latest-x86_64-unknown-linux-gnu.zip || true
mv bitwindow-binaries-Windows/bitwindow-win64.zip BitWindow-latest-x86_64-pc-windows-msvc.zip || true
- name: Upload artifacts to releases.drivechain.info
uses: cross-the-world/ssh-scp-ssh-pipelines@latest
continue-on-error: true
with:
host: 45.33.96.47
user: root
pass: ${{ secrets.RELEASES_SERVER_PW }}
port: 22
scp: |
'L2-S*.zip' => '/var/www/html/'
'BitWindow-*.zip' => '/var/www/html/'