bitfinexcom / bfx-report-electron

Apache License 2.0
22 stars 11 forks source link

bfx-report-electron

Binaries

Already complied binaries can be found on release section release section

Download the correspondent binary according your operating system. Available the following binaries:

I get some errors related to something called “FUSE”

AppImages require a Linux technology called Filesystem in Userspace (or short FUSE). The majority of systems ships with a working FUSE setup. However, sometimes, it doesn’t quite work. This section explains a few solutions that fix the most frequently reported problems.

Setup

Functionality has been tested on Ubuntu 22.04 LTS

Main Structure

To simplify setup/build/publish processes the following bash scripts are provided:

Additional bash scripts:

Requirements

The setup was tested with the following dependencies:

To install Docker/Docker Compose check the corresponding sections of the official docs:

Setup electron app

After cloning the repository there's needed to configure the app. For it can be used ./scripts/setup.sh bash script. Available the following arguments:

./scripts/setup.sh -h

Usage: ./scripts/setup.sh [options] [-h]

Options:
  -r    Sync all repositories
  -o    Sync only sub-modules
  -s    Use staging BFX API
  -d    Set development environment
  -u    Turn off auto-update
  -h    Display help

Also there will be executed the following steps:

To launch ./scripts/setup.sh script also can be used the following NPM script:

npm run setup -- -r

Sync repo process

In case needs to fetch the last changes all repository/sub-modules might be used ./scripts/sync-repo.sh bash script. Available the following arguments:

./scripts/sync-repo.sh -h

Usage: ./scripts/sync-repo.sh [options] | [-h]

Options:
  -a    Sync all repositories
  -m    Sync bfx-report-electron only
  -w    Sync bfx-reports-framework only
  -u    Sync bfx-report-ui only
  -e    Sync bfx-report-express only
  -h    Display help

To launch ./scripts/sync-repo.sh script also can be used the following NPM script:

npm run sync-repo -- -wue

Launch Electron App for dev purpose

For Dev purpose to launch the Electron app locally might be used the following NPM script:

npm start

Also, there's available an option to debug the auto-update flow non-packaged build, in that case, just need to set the corresponding environment variable before running npm start:

export IS_AUTO_UPDATE_BEING_TESTED=true

Launch build process

For doing builds for other platforms please have Multi Platform Build in consideration

To launch Docker Compose services to build releases and publish executable artifacts of the electron app available the ./scripts/launch.sh bash script. Available the following arguments:

./scripts/launch.sh -h

Usage: ./scripts/launch.sh [options] [-h]

Options:
  -a    Build all releases
  -l    Build Linux release
  -w    Build Windows release
  -m    Build Mac release
  -r    Sync all repositories
  -o    Sync only sub-modules
  -s    Use staging BFX API
  -d    Set development environment
  -u    Turn off auto-update
  -p    Publish artifacts
  -h    Display help

It provides the following steps:

To launch ./scripts/launch.sh script also can be used the following NPM script:

npm run launch -- -aop

Also, we provide GitHub Actioins workflows configs for automated building and publishing of the Electron app artifacts using the above-described scripts ./scripts/launch.sh and ./scripts/build-release.sh, see the corresponding file .github/workflows/build-electron-app.yml