Commit 1d97f425 authored by Jeremy Bokobza's avatar Jeremy Bokobza

Merge branch 'master' of https://github.com/stratisproject/Breeze

parents bccab88b fa4f52cc
......@@ -7,10 +7,8 @@ matrix:
dist: trusty
sudo: required
dotnet: 2.0.0
env: os_identifier=ubuntu.14.04
- os: osx # OSX 10.12
osx_image: xcode9
env: os_identifier=osx.10.12
before_install:
- brew update
- curl https://dot.net/v1/dotnet-install.sh -o dotnet-install.sh
......@@ -31,7 +29,16 @@ env:
- arch=x64
- configuration=Release
- os_platform=linux
- CSC_IDENTITY_AUTO_DISCOVERY=false
cache:
directories:
- ${TRAVIS_BUILD_DIR}/Breeze.UI/node_modules
- $HOME/.electron
- $HOME/.nuget/packages
- /usr/share/dotnet/sdk/ # dotnet path for linux
- /Users/travis/.dotnet/sdk/ # dotnet path for mac
# Work around NuGet issue #2163
# https://github.com/NuGet/Home/issues/2163
# https://github.com/travis-ci/travis-ci/issues/7728
......@@ -51,7 +58,10 @@ deploy:
api_key:
secure: $secure_github_key # this key is set on the Travis build page
file_glob: true
file: "$TRAVIS_BUILD_DIR/deploy/*.zip"
file:
- "$TRAVIS_BUILD_DIR/Breeze.UI/app-builds/*.deb"
- "$TRAVIS_BUILD_DIR/Breeze.UI/app-builds/*.tar.gz"
- "$TRAVIS_BUILD_DIR/Breeze.UI/app-builds/*.dmg"
skip_cleanup: true
overwrite: true
prerelease: true
......
{
"appId": "com.stratisplatform.breeze",
"productName": "Breeze Wallet",
"mac": {
"category": "com.stratisplatform.breeze"
},
"publish": null,
"directories": {
"app": "dist",
"output": "app-builds"
"app": "dist",
"output": "app-builds",
"buildResources": "dist/assets/images"
},
"win": {
"icon": "dist/assets/images/breeze-logo",
"target": ["nsis"]
"icon": "dist/assets/images/icon",
"target": [
"nsis"
],
"artifactName": "${productName}-v${version}-setup-${os}-${env.arch}.${ext}"
},
"linux": {
"target": [
"deb",
"tar.gz"
],
"synopsis": "Breeze Wallet: Stratis' dual-currency full block light wallet with a strong focus on privacy.",
"category": "Utility",
"icon": "dist/assets/images/icons",
"artifactName": "${productName}-v${version}-${os}-${arch}.${ext}"
},
"mac": {
"target": [
"dmg"
],
"category": "public.app-category.productivity",
"artifactName": "${productName}-v${version}-${os}-${arch}.${ext}"
},
"nsis": {
"oneClick": false,
"perMachine": true,
"allowToChangeInstallationDirectory": true,
"deleteAppDataOnUninstall": true,
"guid": "ed20df62-ff5a-4b83-a5e3-a361357c6e51",
"createDesktopShortcut": false,
"createStartMenuShortcut": true,
"artifactName": "${productName}.v${version}.setup.${env.win_runtime}.${ext}"
"perMachine": true,
"allowToChangeInstallationDirectory": true,
"deleteAppDataOnUninstall": true,
"guid": "ed20df62-ff5a-4b83-a5e3-a361357c6e51",
"createDesktopShortcut": true,
"createStartMenuShortcut": true
},
"msi": {
"warningsAsErrors": false
},
"extraResources": ["daemon/**/*"]
"extraResources": [
"daemon/**/*"
]
}
const electron = require('electron');
const electron = require('electron');
// Module to control application life.
const app = electron.app;
......@@ -158,12 +158,11 @@ function startBitcoinApi() {
let apiPath = path.resolve(__dirname, 'assets//daemon//Stratis.BreezeD');
if (os.platform() === 'win32') {
apiPath = path.resolve(__dirname, '..\\..\\resources\\daemon\\Stratis.BreezeD.exe');
}
// else if(os.platform() === 'darwin') {
// apiPath = path.resolve(__dirname, '..//..//Content//resources//daemon//Stratis.BreezeD.exe');
// } else {
// apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD.exe');
// }
} else if(os.platform() === 'linux') {
apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD');
} else {
apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD');
}
if(!testnet) {
......@@ -190,12 +189,11 @@ function startStratisApi() {
let apiPath = path.resolve(__dirname, 'assets//daemon//Stratis.BreezeD');
if (os.platform() === 'win32') {
apiPath = path.resolve(__dirname, '..\\..\\resources\\daemon\\Stratis.BreezeD.exe');
}
// else if(os.platform() === 'darwin') {
// apiPath = path.resolve(__dirname, '..//..//Content//resources//daemon//Stratis.BreezeD.exe');
// } else {
// apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD.exe');
// }
} else if(os.platform() === 'linux') {
apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD');
} else {
apiPath = path.resolve(__dirname, '..//..//resources//daemon//Stratis.BreezeD');
}
if (!testnet) {
stratisProcess = spawnStratis(apiPath, ['stratis'], {
......
{
"name": "Breeze",
"description": "Graphical User Interface for Breeze Wallet.",
"name": "BreezeWallet",
"description": "Breeze Wallet: Stratis' dual-currency full block light wallet with a strong focus on privacy.",
"version": "0.3.0",
"author": {
"name": "Stratis Group",
......@@ -12,6 +12,7 @@
"breeze",
"ui",
"stratis",
"bitcoin",
"angular",
"electron",
"typescript",
......
......@@ -12,7 +12,7 @@
# Breeze
__Warning: This is an experimental build. At the moment, only bitcoin on testnet is supported but more is coming soon. Use at your own risk.__
__Warning: We're still in beta, so use at your own risk.__
This is the repository of the Breeze Wallet, the first full-block SPV bitcoin wallet using Angular and Electron at the front-end and C# with .NET Core in the back-end.
## Daemon Build
......@@ -43,7 +43,7 @@ dotnet run stratis -testnet
## CI Build
-----------
We use [AppVeyor](https://www.appveyor.com/) for Windows CI builds and [Travis CI](https://travis-ci.org/) (coming soon) for our Linux and MacOS ones.
We use [AppVeyor](https://www.appveyor.com/) for Windows CI builds and [Travis CI](https://travis-ci.org/) for our Linux and MacOS ones.
Every time someone pushes to the master branch or create a pull request on it, a build is triggered and a new unstable app release is created.
To skip a build, for example if you've made very minor changes, include the text **[skip ci]** or **[ci skip]** in your commits' comment (with the squared brackets).
......@@ -52,17 +52,14 @@ If you want the :sparkles: latest :sparkles: (unstable :bomb:) version of the Br
| | x86 Release | x64 Release | Notes |
|:---|----------------:|------------------:|------------------:|
|**Windows 7**| [download][7] | [download][8] | continuous build - up to date with commits |
|**Windows 10**| [download][9] | [download][10] | continuous build - up to date with commits |
|**Ubuntu 14.04**| - | [download][11] | continuous build - up to date with commits |
|**OS X 10.12**| - | [download][12] | continuous build - up to date with commits |
[7]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-win7-x86-Release.zip
[8]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-win7-x64-Release.zip
[9]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-win10-x86-Release.zip
[10]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-win10-x64-Release.zip
[11]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-ubuntu.14.04-x64-Release.zip
[12]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/breeze-osx.10.12-x64-Release.zip
|**Windows**| [download][7] | [download][8] | Windows 7 and Windows 10 |
|**Linux**| - | [download][9] | All Linux flavors |
|**OS X**| - | [download][10] | OSX 10.12 or later |
[7]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/Breeze.Wallet-v0.3.0-setup-win-ia32.exe
[8]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/Breeze.Wallet-v0.3.0-setup-win-x64.exe
[9]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/Breeze.Wallet-v0.3.0-linux-x64.tar.gz
[10]: https://github.com/stratisproject/Breeze/releases/download/cd-unstable/Breeze.Wallet-v0.3.0-mac.dmg
......@@ -20,7 +20,6 @@ branches:
image: Visual Studio 2017
clone_folder: c:\projects\breeze
configuration:
# - Debug
- Release
build:
......@@ -28,25 +27,21 @@ build:
environment:
matrix:
- win_runtime: win7-x64
- win_runtime: win-x64
arch: x64
plat: win32
- win_runtime: win7-x86
arch: ia32
plat: win32
- win_runtime: win10-x64
arch: x64
plat: win32
- win_runtime: win10-x86
- win_runtime: win-x86
arch: ia32
plat: win32
# build cache to preserve files/folders between builds
cache:
- '%APPVEYOR_BUILD_FOLDER%\Breeze.UI\node_modules'
- '%USERPROFILE%\.nuget\packages'
init:
- ps: |
$env:log_prefix = "[$env:win_runtime][$env:configuration]"
$env:node_output_name = "Breeze-$env:plat-$env:arch"
$env:app_output_name = "breeze-$env:win_runtime"
$env:app_output_zip_name = "breeze-$env:win_runtime-$env:configuration.zip"
if ($env:APPVEYOR_REPO_TAG -eq "false") { $env:APPVEYOR_REPO_TAG_NAME = "cd-unstable" }
install:
......@@ -82,9 +77,6 @@ before_build:
Write-Host "Windows runtime: $env:win_runtime" -foregroundcolor "magenta"
Write-Host "Build directory: $env:APPVEYOR_BUILD_FOLDER" -foregroundcolor "magenta"
Write-Host "Configuration: $env:configuration" -foregroundcolor "magenta"
Write-Host "node.js output name: $env:node_output_name" -foregroundcolor "magenta"
Write-Host "App output folder name: $env:app_output_name" -foregroundcolor "magenta"
Write-Host "App output zip file name: $env:app_output_zip_name" -foregroundcolor "magenta"
Write-Host "Branch: $env:APPVEYOR_REPO_BRANCH" -foregroundcolor "magenta"
Write-Host "Tag is set: $env:APPVEYOR_REPO_TAG" -foregroundcolor "magenta"
Write-Host "Tag: $env:APPVEYOR_REPO_TAG_NAME" -foregroundcolor "magenta"
......
......@@ -5,8 +5,8 @@ set -o errexit
# define a few variables
node_output_name="Breeze-$os_platform-$arch"
app_output_name="breeze-$os_identifier-$arch"
app_output_zip_name="breeze-$os_identifier-$arch-$configuration.zip"
app_output_name="breeze-$TRAVIS_OS_NAME-$arch"
app_output_zip_name="breeze-$TRAVIS_OS_NAME-$arch.zip"
if [ "$TRAVIS_OS_NAME" = "osx" ]
then
......@@ -17,7 +17,6 @@ fi
echo "current environment variables:"
echo "OS name:" $TRAVIS_OS_NAME
echo "OS identifier:" $os_identifier
echo "Platform:" $os_platform
echo "Build directory:" $TRAVIS_BUILD_DIR
echo "Node version:" $TRAVIS_NODE_VERSION
......@@ -43,15 +42,16 @@ git submodule update --init --recursive
cd $TRAVIS_BUILD_DIR/Breeze.UI
npm install
npm install -g npx
echo $log_prefix FINISHED restoring dotnet and npm packages
# dotnet publish
echo $log_prefix running 'dotnet publish'
cd $TRAVIS_BUILD_DIR/StratisBitcoinFullNode/Stratis.BreezeD
dotnet publish -c $configuration -r $os_identifier-$arch -v m -o $TRAVIS_BUILD_DIR/dotnet_out/$TRAVIS_OS_NAME
dotnet publish -c $configuration -r $TRAVIS_OS_NAME-$arch -v m -o $TRAVIS_BUILD_DIR/Breeze.UI/daemon
echo $log_prefix chmoding the Stratis.BreezeD file
chmod +x $TRAVIS_BUILD_DIR/dotnet_out/$TRAVIS_OS_NAME/Stratis.BreezeD
chmod +x $TRAVIS_BUILD_DIR/Breeze.UI/daemon/Stratis.BreezeD
# node Build
cd $TRAVIS_BUILD_DIR/Breeze.UI
......@@ -60,25 +60,25 @@ npm run build:prod
# node packaging
echo $log_prefix packaging breeze
node package.js --platform=$os_platform --arch=$arch --path=$TRAVIS_BUILD_DIR/breeze_out
# rename node generated folder
echo $log_prefix rename the folder generated by npm from $node_output_name to $app_output_name
mv $TRAVIS_BUILD_DIR/breeze_out/$node_output_name $TRAVIS_BUILD_DIR/breeze_out/$app_output_name
# copy api libs into app
echo $log_prefix copying the Breeze api into the app
mkdir -p $dotnet_resources_path_in_app
cp -r $TRAVIS_BUILD_DIR/dotnet_out/$TRAVIS_OS_NAME/* $dotnet_resources_path_in_app
if [ "$TRAVIS_OS_NAME" = "osx" ]
then
npx electron-builder build --mac --$arch
else
npx electron-builder build --linux --$arch
fi
# zip result
echo $log_prefix zipping the app into $TRAVIS_BUILD_DIR/breeze_out/$app_output_zip_name
mkdir -p $TRAVIS_BUILD_DIR/deploy/
cd $TRAVIS_BUILD_DIR/breeze_out
zip -r $TRAVIS_BUILD_DIR/deploy/$app_output_zip_name $app_output_name/*
echo $log_prefix finished packaging
#tests
echo $log_prefix no tests to run
echo $log_prefix contents of TRAVIS_BUILD_DIR
cd $TRAVIS_BUILD_DIR
ls
echo $log_prefix contents of the app-builds folder
cd $TRAVIS_BUILD_DIR/Breeze.UI/app-builds/
ls
echo $log_prefix FINISHED build
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment