ubilabs / esa-climate-from-space

Climate from Space application for ESA's CCI+ program.
https://cfs.climate.esa.int
Other
11 stars 3 forks source link

Climate from Space application for ESAs CCI+ program.

Web Version

Desktop App

Besides the web version we also deliver a native Electron app to download and run on a local machine. This app also offers a "Safe for Offline Usage" feature which allows to download data and view it later without an active internet connection.

The native app releases can be downloaded from:

Note: Be sure to replace the VERSION number e.g. (0.4.0 -> https://storage.googleapis.com/esa-cfs-versions/electron/0.4.0/esa-climate-from-space-0.4.0-win.exe)

Installation

To run the native app just run the .exe file (Windows) or unpack the .zip archive (Linunx/MacOS) and run the containing app/binary file. Versions < 1.0.0 are not signed and may prompt a Security Warning from your Operating System.

Development

Requirements

Following software is required to develop for this project:

Installation

After cloning the repository, install all dependencies:

npm install # install new dependencies

Run

Run the following command to start the server on localhost:

npm start # start the server

Build Web

Run the following command to build a production ready version of the web part:

npm run build

The final output will be in a folder called dist in the project's root directory.

Build Native Electron App

Run the following command to build a production ready version of the electron part:

npm run electron:build

The final output will be in a folder called dist-electron in the project's root directory.

Release New Version

Run the following command to create a new tagged release.

npm version <major|minor|patch>

A new git branch chore/release-${VERSION} will be pushed. Create PR and merge into develop branch (merge not squash to keep the tag).

Cloud Build will build and upload a new develop version once merged (https://storage.googleapis.com/esa-cfs-versions/web/develop/index.html)

Merge develop into master. Once merged Cloud Build will build and upload new master version (https://storage.googleapis.com/esa-cfs-versions/web/master/index.html).

In addition all remote files on cloud storage have to be updated to the new version folder. Run the follwing command with the correct version numbers:

./scripts/increase-storage-version.sh <old_version> <new_version> # e.g. increase-storage-version 0.9.3 1.0.0

Copy the master web application files into a separate version folder gsutil cp -r gs://esa-cfs-versions/web/master/* gs://esa-cfs-versions/web/{VERSION}/

Trigger the electron build task on Cloud build for the master branch (https://console.cloud.google.com/cloud-build/triggers?project=esa-climate-from-space)

Copy the master electron application files into a separate version folder gsutil cp -r gs://esa-cfs-versions/electron/master/*{VERSION}* gs://esa-cfs-versions/electron/{VERSION}/

Contact