Travis/artifacts to s3 (#2204)
* split artifacts between beta and live build mac live always to catch new errors deploy live on tags not RC or DB build and deploy beta on tags RC or DB bundle QtDBus framework as required for plugin libqcocoa.dylib hardcode default DragNDrop and TBZ2 update deploy-docker script to hand travis tags and new stage name * if CI_BUILD true environment $TRAVIS_TAG(via travis and tagged commits) will be set, and will use $TRAVIS_TAG instead of CPACK_PACKAGE_VERSION strings simplify version string to be based on tag when available otherwise use version string * formatting * Travis capitalizes BUILD_STAGE_NAME * add TRAVIS_TAG and CI_BUILD to docker builds pass TRAVIS_TAG from travis through to docker build env * on tag build relwithdebinfo unit tests as well
This commit is contained in:
parent
3d5c2d28d5
commit
8e2bb49051
20 changed files with 238 additions and 98 deletions
152
.travis.yml
152
.travis.yml
|
@ -3,24 +3,63 @@ language: cpp
|
|||
stages:
|
||||
- build_base
|
||||
- build_env
|
||||
- tag_test
|
||||
- test
|
||||
- deploy
|
||||
- artifacts_beta
|
||||
- artifacts_live
|
||||
jobs:
|
||||
include:
|
||||
- stage: build_base
|
||||
name: "base"
|
||||
if: branch=master AND type=push
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi; fi
|
||||
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
|
||||
- stage: build_env
|
||||
name: "clang"
|
||||
if: branch=master AND type=push
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi; fi
|
||||
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
|
||||
- name: "gcc"
|
||||
if: branch=master AND type=push
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi; fi
|
||||
- if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi;
|
||||
- stage: tag_test
|
||||
name: "gcc"
|
||||
if: tag is present
|
||||
os: linux
|
||||
compiler: gcc
|
||||
env:
|
||||
- RELEASE=1
|
||||
before_install:
|
||||
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
|
||||
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
|
||||
|
||||
- name: "clang"
|
||||
if: tag is present
|
||||
os: linux
|
||||
compiler: clang
|
||||
env:
|
||||
- RELEASE=1
|
||||
before_install:
|
||||
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
|
||||
- ci/build-docker-image.sh docker/ci/Dockerfile-clang nanocurrency/nano-env:clang;
|
||||
|
||||
- name: "osx clang"
|
||||
if: tag is present
|
||||
os: osx
|
||||
compiler: clang
|
||||
env:
|
||||
- RELEASE=1
|
||||
before_install:
|
||||
- brew update;
|
||||
- brew install qt5;
|
||||
- brew cask install xquartz;
|
||||
- brew upgrade cmake;
|
||||
- brew install rocksdb;
|
||||
install:
|
||||
- brew install ccache;
|
||||
- export PATH="/usr/local/opt/ccache/libexec:$PATH";
|
||||
|
||||
- stage: test
|
||||
name: "GCC + ONE_TIME_TESTS"
|
||||
os: linux
|
||||
|
@ -48,30 +87,107 @@ jobs:
|
|||
os: osx
|
||||
compiler: clang
|
||||
before_install:
|
||||
- brew update && brew install qt5 && brew cask install xquartz && brew upgrade cmake && brew install rocksdb;
|
||||
- brew update;
|
||||
- brew install qt5;
|
||||
- brew cask install xquartz;
|
||||
- brew upgrade cmake;
|
||||
- brew install rocksdb;
|
||||
install:
|
||||
- brew install ccache;
|
||||
- export PATH="/usr/local/opt/ccache/libexec:$PATH";
|
||||
- stage: deploy
|
||||
name: "live"
|
||||
if: branch=~/^(master|releases\/v*)$/ AND !tag=~RC AND type=push
|
||||
- stage: artifacts_live
|
||||
name: "live docker"
|
||||
if: tag IS present AND !tag=~RC|DB
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi; fi
|
||||
- name: "beta"
|
||||
if: branch=~/^(master|releases\/v*)$/ AND type=push
|
||||
if [ -n "$DOCKER_PASSWORD" ]; then TRAVIS_TAG="${TRAVIS_TAG}" ci/deploy-docker.sh; fi;
|
||||
- name: "live linux"
|
||||
os: linux
|
||||
compiler: gcc
|
||||
dist: trusty
|
||||
if: tag IS present AND !tag=~RC|DB
|
||||
before_install:
|
||||
- sudo apt-get update -y && sudo apt-get install -y python-pip
|
||||
- pip install --user awscli
|
||||
- aws --version
|
||||
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
|
||||
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
|
||||
script:
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && TRAVIS_TAG=${TRAVIS_TAG} CCACHE_DIR=/ccache ci/build-deploy.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}";
|
||||
- ci/deploy-travis.sh;
|
||||
- name: "live osx"
|
||||
os: osx
|
||||
compiler: clang
|
||||
before_install:
|
||||
- brew update;
|
||||
- brew cask install xquartz;
|
||||
- brew upgrade cmake;
|
||||
- brew install rocksdb;
|
||||
- git clone https://github.com/benlau/qtci.git;
|
||||
- source qtci/path.env;
|
||||
- install-qt-online qt.qt5.5130.clang_64 ~/
|
||||
install:
|
||||
- pip install --user awscli
|
||||
- brew install ccache;
|
||||
- export PATH="$HOME/Library/Python/2.7/bin:/usr/local/opt/ccache/libexec:$PATH";
|
||||
- aws --version
|
||||
script:
|
||||
- ci/build-deploy.sh "~/qt/5.13.0/clang_64/lib/cmake/Qt5";
|
||||
- if [[ -n "$TRAVIS_TAG" ]]; then if [[ ! "${TRAVIS_TAG-0}" =~ ("RC"|"DB") ]]; then ci/deploy-travis.sh; fi; fi;
|
||||
- stage: artifacts_beta
|
||||
name: "beta docker"
|
||||
if: tag =~RC|DB
|
||||
script:
|
||||
- if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then if [ -n "$DOCKER_PASSWORD" ]; then ci/deploy-docker.sh; fi; fi
|
||||
- if [ -n "$DOCKER_PASSWORD" ]; then TRAVIS_TAG="${TRAVIS_TAG}" ci/deploy-docker.sh; fi;
|
||||
- name: "beta linux"
|
||||
os: linux
|
||||
env:
|
||||
- BETA=1
|
||||
compiler: gcc
|
||||
dist: trusty
|
||||
if: tag =~RC|DB
|
||||
before_install:
|
||||
- sudo apt-get update -y && sudo apt-get install -y python-pip
|
||||
- pip install --user awscli
|
||||
- aws --version
|
||||
- sudo mkdir -p /etc/docker && echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json && sudo service docker restart;
|
||||
- ci/build-docker-image.sh docker/ci/Dockerfile-gcc nanocurrency/nano-env:gcc;
|
||||
script:
|
||||
- docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && TRAVIS_TAG=${TRAVIS_TAG} BETA=1 CCACHE_DIR=/ccache ci/build-deploy.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"
|
||||
- ci/deploy-travis.sh;
|
||||
- name: "beta osx"
|
||||
os: osx
|
||||
compiler: clang
|
||||
env:
|
||||
- BETA=1
|
||||
if: tag =~RC|DB
|
||||
before_install:
|
||||
- brew update;
|
||||
- brew cask install xquartz;
|
||||
- brew upgrade cmake;
|
||||
- brew install rocksdb;
|
||||
- git clone https://github.com/benlau/qtci.git;
|
||||
- source qtci/path.env;
|
||||
- install-qt-online qt.qt5.5130.clang_64 ~/
|
||||
install:
|
||||
- pip install --user awscli
|
||||
- brew install ccache;
|
||||
- export PATH="$HOME/Library/Python/2.7/bin:/usr/local/opt/ccache/libexec:$PATH";
|
||||
- aws --version
|
||||
script:
|
||||
- ci/build-deploy.sh "~/qt/5.13.0/clang_64/lib/cmake/Qt5";
|
||||
- ci/deploy-travis.sh;
|
||||
cache:
|
||||
- ccache: true
|
||||
- directories:
|
||||
- $HOME/.local
|
||||
- $HOME/Library/Caches/Homebrew
|
||||
- $TRAVIS_BUILD_DIR/load-tester/target
|
||||
|
||||
script:
|
||||
- if [ -n "$ONE_TIME_TESTS" ]; then ci/check-commit-format.sh; fi
|
||||
- if [ -n "$ONE_TIME_TESTS" ]; then doxygen doxygen.config; fi # TODO also deploy the built HTML
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then ci/build-travis.sh "/usr/local/opt/qt5/lib/cmake/Qt5"; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && ASAN=${ASAN} TSAN=${TSAN} CCACHE_DIR=/ccache ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"; fi
|
||||
|
||||
env:
|
||||
- secure: "k8kmpD+xRS57ukdvlvaXT0WN4H0rr/aHSjV+l5IUUFpKx5N+DEsb+7ElIepKzqQrGG6qE71cFwDyn6rDwW/Objb9aiEITnvJBzk1XrOVgbc5AnlqDm8LKvqToD/VnQiojyXhBQe2wa//nEZ3PC9dv7hE5zb/K/U5z+LaE9T1cPPk1jHQMCUAFT7QGCK0YeX/gAZqPbLZdHHQChEi+Gu/XY0gc5Bl8Idbp8W7Aky9Ps06lKXPORkE1G2xQfJFrNPB3CKjxev/eoXGBJmNYzxkJlUHmyenjwgdDh9TWiOK2uKH1K6olLIx/qFuIgFRVJFv0QFzCjqqjOJJF1EN9i1M21Lm4wi1iJxYShAP86ZKkC/WmtRn1xNTEMHZJeZ3TXX+B3ybLEWTamHS1Ia8HOif18nrQE3O0aRC/NNfH1kewX+94UNxmSfHtL5Waa41shxeG5waemyQg+HR5zCEtrb5l1btgbfGrR8BMbHYLLe4ywJqMx3n8Iy6ZzC6Xx8+X1zTZZ3zDYPBHUalA+ZoYu2rrFG2+SARP0W/VKqCIKaB+lQKYpbv7ojXGrrDJe7MA/raTLL2pTfSkcx0qxJvcsbPLGI1MdG3mD7M8HncrZbw+sKI1LZ04gyWt3til6d3vSlbIkd6kCxxZh69nd1/KJy8rYrMYjqxxNSTctkGyVb2DtY="
|
||||
- if [ "$TRAVIS_OS_NAME" = "osx" ]; then RELEASE=${RELEASE} ci/build-travis.sh "/usr/local/opt/qt5/lib/cmake/Qt5"; fi
|
||||
- if [ "$TRAVIS_OS_NAME" = "linux" ]; then docker run -v $TRAVIS_BUILD_DIR:/workspace -v $HOME/.ccache:/ccache nanocurrency/nano-env:$TRAVIS_COMPILER /bin/bash -c "apt install ccache; cd /workspace && RELEASE=${RELEASE} ASAN=${ASAN} TSAN=${TSAN} CCACHE_DIR=/ccache ./ci/build-travis.sh /usr/lib/x86_64-linux-gnu/cmake/Qt5 ${PWD}"; fi
|
||||
env:
|
||||
global:
|
||||
- secure: "k8kmpD+xRS57ukdvlvaXT0WN4H0rr/aHSjV+l5IUUFpKx5N+DEsb+7ElIepKzqQrGG6qE71cFwDyn6rDwW/Objb9aiEITnvJBzk1XrOVgbc5AnlqDm8LKvqToD/VnQiojyXhBQe2wa//nEZ3PC9dv7hE5zb/K/U5z+LaE9T1cPPk1jHQMCUAFT7QGCK0YeX/gAZqPbLZdHHQChEi+Gu/XY0gc5Bl8Idbp8W7Aky9Ps06lKXPORkE1G2xQfJFrNPB3CKjxev/eoXGBJmNYzxkJlUHmyenjwgdDh9TWiOK2uKH1K6olLIx/qFuIgFRVJFv0QFzCjqqjOJJF1EN9i1M21Lm4wi1iJxYShAP86ZKkC/WmtRn1xNTEMHZJeZ3TXX+B3ybLEWTamHS1Ia8HOif18nrQE3O0aRC/NNfH1kewX+94UNxmSfHtL5Waa41shxeG5waemyQg+HR5zCEtrb5l1btgbfGrR8BMbHYLLe4ywJqMx3n8Iy6ZzC6Xx8+X1zTZZ3zDYPBHUalA+ZoYu2rrFG2+SARP0W/VKqCIKaB+lQKYpbv7ojXGrrDJe7MA/raTLL2pTfSkcx0qxJvcsbPLGI1MdG3mD7M8HncrZbw+sKI1LZ04gyWt3til6d3vSlbIkd6kCxxZh69nd1/KJy8rYrMYjqxxNSTctkGyVb2DtY="
|
||||
- RELEASE=0
|
||||
|
|
|
@ -9,12 +9,20 @@ execute_process(
|
|||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
option (CI_BUILD false)
|
||||
|
||||
set (CPACK_PACKAGE_VERSION_MAJOR "20")
|
||||
set (CPACK_PACKAGE_VERSION_MINOR "0")
|
||||
set (CPACK_PACKAGE_VERSION_PATCH "0")
|
||||
set (CPACK_PACKAGE_VENDOR "Nano Currency")
|
||||
|
||||
set(CMAKE_INSTALL_RPATH "@executable_path/../Frameworks")
|
||||
if (CI_BUILD)
|
||||
set (TAG_VERSION_STRING "$ENV{TRAVIS_TAG}")
|
||||
else()
|
||||
set (TAG_VERSION_STRING "V${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}")
|
||||
endif()
|
||||
|
||||
set (CMAKE_INSTALL_RPATH "@executable_path/../Frameworks")
|
||||
# Create all libraries and executables in the root binary dir
|
||||
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||
|
||||
|
@ -360,9 +368,7 @@ if (NANO_GUI OR RAIBLOCKS_GUI)
|
|||
|
||||
target_compile_definitions(qt
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH})
|
||||
|
||||
if (WIN32)
|
||||
|
@ -428,6 +434,7 @@ if (NANO_GUI OR RAIBLOCKS_GUI)
|
|||
endif ()
|
||||
|
||||
if (APPLE)
|
||||
set (CPACK_GENERATOR "DragNDrop")
|
||||
CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/Info.plist.in ${CMAKE_SOURCE_DIR}/Info.plist @ONLY)
|
||||
install (TARGETS nano_wallet DESTINATION Nano.app/Contents/MacOS)
|
||||
install (TARGETS nano_node DESTINATION Nano.app/Contents/MacOS)
|
||||
|
@ -435,6 +442,7 @@ if (NANO_GUI OR RAIBLOCKS_GUI)
|
|||
install (FILES Info.plist DESTINATION Nano.app/Contents)
|
||||
install (FILES qt.conf DESTINATION Nano.app/Contents/Resources)
|
||||
install (DIRECTORY ${Qt5_DIR}/../../QtCore.framework DESTINATION Nano.app/Contents/Frameworks)
|
||||
install (DIRECTORY ${Qt5_DIR}/../../QtDBus.framework DESTINATION Nano.app/Contents/Frameworks)
|
||||
install (DIRECTORY ${Qt5_DIR}/../../QtGui.framework DESTINATION Nano.app/Contents/Frameworks)
|
||||
install (DIRECTORY ${Qt5_DIR}/../../QtPrintSupport.framework DESTINATION Nano.app/Contents/Frameworks)
|
||||
install (DIRECTORY ${Qt5_DIR}/../../QtTest.framework DESTINATION Nano.app/Contents/Frameworks)
|
||||
|
@ -472,6 +480,7 @@ if (NANO_GUI OR RAIBLOCKS_GUI)
|
|||
install (FILES ${Qt5_bin_DIR}/Qt5WinExtras.dll DESTINATION .)
|
||||
install (FILES ${Qt5WindowsPlugin} DESTINATION platforms)
|
||||
else ()
|
||||
set(CPACK_GENERATOR "TBZ2")
|
||||
install(TARGETS nano_wallet
|
||||
RUNTIME DESTINATION .
|
||||
)
|
||||
|
|
40
ci/build-deploy.sh
Executable file
40
ci/build-deploy.sh
Executable file
|
@ -0,0 +1,40 @@
|
|||
#!/bin/bash
|
||||
|
||||
qt_dir=${1}
|
||||
src_dir=${2}
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o xtrace
|
||||
OS=`uname`
|
||||
|
||||
mkdir build
|
||||
pushd build
|
||||
|
||||
if [[ "${BETA:-0}" -eq 1 ]]; then
|
||||
NETWORK_CFG="beta"
|
||||
CONFIGURATION="RelWithDebInfo"
|
||||
else
|
||||
NETWORK_CFG="live"
|
||||
CONFIGURATION="Release"
|
||||
fi
|
||||
|
||||
cmake \
|
||||
-G'Unix Makefiles' \
|
||||
-DACTIVE_NETWORK=nano_${NETWORK_CFG}_network \
|
||||
-DNANO_GUI=ON \
|
||||
-DCMAKE_BUILD_TYPE=${CONFIGURATION} \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DBOOST_ROOT=/usr/local \
|
||||
-DQt5_DIR=${qt_dir} \
|
||||
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
|
||||
-DCI_BUILD=true \
|
||||
..
|
||||
|
||||
if [[ "$OS" == 'Linux' ]]; then
|
||||
cmake --build ${PWD} --target package --config ${CONFIGURATION} -- -j$(nproc)
|
||||
else
|
||||
sudo cmake --build ${PWD} --target package --config ${CONFIGURATION} -- -j2
|
||||
fi
|
||||
|
||||
popd
|
|
@ -11,6 +11,12 @@ OS=`uname`
|
|||
mkdir build
|
||||
pushd build
|
||||
|
||||
if [[ ${RELEASE-0} -eq 1 ]]; then
|
||||
BUILD_TYPE="RelWithDebInfo"
|
||||
else
|
||||
BUILD_TYPE="Debug"
|
||||
fi
|
||||
|
||||
if [[ ${ASAN_INT-0} -eq 1 ]]; then
|
||||
SANITIZERS="-DNANO_ASAN_INT=ON"
|
||||
elif [[ ${ASAN-0} -eq 1 ]]; then
|
||||
|
@ -28,7 +34,7 @@ cmake \
|
|||
-DNANO_GUI=ON \
|
||||
-DNANO_ROCKSDB=ON \
|
||||
-DNANO_WARN_TO_ERR=ON \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=ON \
|
||||
-DBOOST_ROOT=/usr/local \
|
||||
-DQt5_DIR=${qt_dir} \
|
||||
|
|
|
@ -13,9 +13,9 @@ if [ -n "$DOCKER_PASSWORD" ]; then
|
|||
"$scripts"/custom-timeout.sh 30 docker push "$ci_image_name"
|
||||
fi
|
||||
|
||||
if [[ "$TRAVIS_BUILD_STAGE_NAME" == "Deploy" ]]; then
|
||||
if [[ "$TRAVIS_BUILD_STAGE_NAME" =~ "Artifacts" ]]; then
|
||||
tags=()
|
||||
if [[ "${TRAVIS_TAG}" =~ 'RC' ]]; then
|
||||
if [[ "${TRAVIS_TAG}" =~ ("RC"|"DB") ]]; then
|
||||
tags+=("$TRAVIS_TAG" latest-including-rc)
|
||||
elif [ -n "$TRAVIS_TAG" ]; then
|
||||
tags+=("$TRAVIS_TAG" latest latest-including-rc)
|
||||
|
@ -23,14 +23,16 @@ if [ -n "$DOCKER_PASSWORD" ]; then
|
|||
tags+=("$TRAVIS_BRANCH")
|
||||
fi
|
||||
|
||||
if [[ "$TRAVIS_JOB_NAME" == "live" ]]; then
|
||||
if [[ "$TRAVIS_JOB_NAME" =~ "live" ]]; then
|
||||
network_tag_suffix=''
|
||||
network="live"
|
||||
else
|
||||
network_tag_suffix="-$TRAVIS_JOB_NAME"
|
||||
network_tag_suffix="-beta"
|
||||
network="beta"
|
||||
fi
|
||||
|
||||
docker_image_name="nanocurrency/nano${network_tag_suffix}"
|
||||
"$scripts"/custom-timeout.sh 30 docker build --build-arg NETWORK="$TRAVIS_JOB_NAME" -f docker/node/Dockerfile -t "$docker_image_name" .
|
||||
"$scripts"/custom-timeout.sh 30 docker build --build-arg NETWORK="$network" --build-arg CI_BUILD=true --build-arg TRAVIS_TAG="$TRAVIS_TAG" -f docker/node/Dockerfile -t "$docker_image_name" .
|
||||
for tag in "${tags[@]}"; do
|
||||
# Sanitize docker tag
|
||||
# https://docs.docker.com/engine/reference/commandline/tag/
|
||||
|
|
18
ci/deploy-travis.sh
Executable file
18
ci/deploy-travis.sh
Executable file
|
@ -0,0 +1,18 @@
|
|||
#!/bin/bash
|
||||
|
||||
set -o errexit
|
||||
set -o nounset
|
||||
set -o xtrace
|
||||
OS=`uname`
|
||||
|
||||
if [[ "${BETA-0}" -eq 1 ]]; then
|
||||
BUILD="beta"
|
||||
else
|
||||
BUILD="live"
|
||||
fi
|
||||
|
||||
if [[ "$OS" == 'Linux' ]]; then
|
||||
aws s3 cp $TRAVIS_BUILD_DIR/build/nano-node-*-Linux.tar.bz2 s3://$AWS_BUCKET/$BUILD/binaries/nano-node-$TRAVIS_TAG-Linux.tar.bz2 --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
|
||||
else
|
||||
aws s3 cp $TRAVIS_BUILD_DIR/build/nano-node-*-Darwin.dmg s3://$AWS_BUCKET/$BUILD/binaries/nano-node-$TRAVIS_TAG-Darwin.dmg --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers
|
||||
fi
|
|
@ -1,11 +1,13 @@
|
|||
FROM nanocurrency/nano-env:gcc
|
||||
|
||||
ARG NETWORK=live
|
||||
ARG TRAVIS_TAG=DEV_BUILD
|
||||
ARG CI_BUILD=OFF
|
||||
ADD ./ /tmp/src
|
||||
|
||||
RUN mkdir /tmp/build && \
|
||||
cd /tmp/build && \
|
||||
cmake /tmp/src -DBOOST_ROOT=${BOOST_ROOT} -DACTIVE_NETWORK=nano_${NETWORK}_network && \
|
||||
cmake /tmp/src -DCI_BUILD=${CI_BUILD} -DBOOST_ROOT=${BOOST_ROOT} -DACTIVE_NETWORK=nano_${NETWORK}_network && \
|
||||
make nano_node -j $(nproc) && \
|
||||
make nano_rpc -j $(nproc) && \
|
||||
cd .. && \
|
||||
|
|
|
@ -36,9 +36,7 @@ add_executable (core_test
|
|||
|
||||
target_compile_definitions(core_test
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}
|
||||
-DBOOST_PROCESS_SUPPORTED=${BOOST_PROCESS_SUPPORTED})
|
||||
target_link_libraries (core_test node secure gtest libminiupnpc-static Boost::boost ${rocksdb_libs})
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
/**
|
||||
* Returns build version information
|
||||
*/
|
||||
static const char * NANO_MAJOR_MINOR_VERSION = xstr (NANO_VERSION_MAJOR) "." xstr (NANO_VERSION_MINOR);
|
||||
static const char * NANO_MAJOR_MINOR_RC_VERSION = xstr (NANO_VERSION_MAJOR) "." xstr (NANO_VERSION_MINOR) "RC" xstr (NANO_VERSION_PATCH);
|
||||
static const char * NANO_VERSION_STRING = xstr (TAG_VERSION_STRING);
|
||||
|
||||
static const char * BUILD_INFO = xstr (GIT_COMMIT_HASH BOOST_COMPILER) " \"BOOST " xstr (BOOST_VERSION) "\" BUILT " xstr (__DATE__);
|
||||
|
||||
|
|
|
@ -14,9 +14,7 @@ target_link_libraries (nano_node
|
|||
|
||||
target_compile_definitions(nano_node
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH}
|
||||
-DBOOST_PROCESS_SUPPORTED=${BOOST_PROCESS_SUPPORTED})
|
||||
|
||||
|
|
|
@ -61,8 +61,7 @@ void nano_daemon::daemon::run (boost::filesystem::path const & data_path, nano::
|
|||
if (!init.error ())
|
||||
{
|
||||
auto network_label = node->network_params.network.get_current_network_as_string ();
|
||||
auto version = (NANO_VERSION_PATCH == 0) ? NANO_MAJOR_MINOR_VERSION : NANO_MAJOR_MINOR_RC_VERSION;
|
||||
std::cout << "Network: " << network_label << ", version: " << version << "\n"
|
||||
std::cout << "Network: " << network_label << ", version: " << NANO_VERSION_STRING << "\n"
|
||||
<< "Path: " << node->application_path.string () << "\n"
|
||||
<< "Build Info: " << BUILD_INFO << std::endl;
|
||||
|
||||
|
|
|
@ -1058,15 +1058,8 @@ int main (int argc, char * const * argv)
|
|||
}
|
||||
else if (vm.count ("version"))
|
||||
{
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
std::cout << "Version " << NANO_MAJOR_MINOR_VERSION << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Version " << NANO_MAJOR_MINOR_RC_VERSION << std::endl;
|
||||
}
|
||||
std::cout << "Build Info " << BUILD_INFO << std::endl;
|
||||
std::cout << "Version " << NANO_VERSION_STRING << "\n"
|
||||
<< "Build Info " << BUILD_INFO << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -16,9 +16,7 @@ target_compile_definitions(nano_rpc
|
|||
PUBLIC
|
||||
-DACTIVE_NETWORK=${ACTIVE_NETWORK}
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH})
|
||||
|
||||
if ((NANO_GUI OR RAIBLOCKS_GUI) AND NOT APPLE)
|
||||
|
|
|
@ -140,15 +140,8 @@ int main (int argc, char * const * argv)
|
|||
}
|
||||
else if (vm.count ("version"))
|
||||
{
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
std::cout << "Version " << NANO_MAJOR_MINOR_VERSION << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
std::cout << "Version " << NANO_MAJOR_MINOR_RC_VERSION << std::endl;
|
||||
}
|
||||
std::cout << "Build Info " << BUILD_INFO << std::endl;
|
||||
std::cout << "Version " << NANO_VERSION_STRING << "\n"
|
||||
<< "Build Info " << BUILD_INFO << std::endl;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
@ -129,7 +129,5 @@ target_link_libraries (node
|
|||
|
||||
target_compile_definitions(node
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH})
|
||||
|
|
|
@ -3792,14 +3792,7 @@ void nano::json_handler::version ()
|
|||
response_l.put ("rpc_version", "1");
|
||||
response_l.put ("store_version", std::to_string (node.store_version ()));
|
||||
response_l.put ("protocol_version", std::to_string (nano::protocol_version));
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
response_l.put ("node_vendor", boost::str (boost::format ("Nano %1%") % NANO_MAJOR_MINOR_VERSION));
|
||||
}
|
||||
else
|
||||
{
|
||||
response_l.put ("node_vendor", boost::str (boost::format ("Nano %1%") % NANO_MAJOR_MINOR_RC_VERSION));
|
||||
}
|
||||
response_l.put ("node_vendor", boost::str (boost::format ("Nano %1%") % NANO_VERSION_STRING));
|
||||
response_l.put ("network", node.network_params.network.get_current_network_as_string ());
|
||||
response_l.put ("network_identifier", nano::genesis ().hash ().to_string ());
|
||||
response_l.put ("build_info", BUILD_INFO);
|
||||
|
|
|
@ -359,14 +359,7 @@ startup_time (std::chrono::steady_clock::now ())
|
|||
});
|
||||
}
|
||||
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
logger.always_log ("Node starting, version: ", NANO_MAJOR_MINOR_VERSION);
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.always_log ("Node starting, version: ", NANO_MAJOR_MINOR_RC_VERSION);
|
||||
}
|
||||
logger.always_log ("Node starting, version: ", NANO_VERSION_STRING);
|
||||
logger.always_log ("Build information: ", BUILD_INFO);
|
||||
|
||||
auto network_label = network_params.network.get_current_network_as_string ();
|
||||
|
|
|
@ -79,14 +79,8 @@ wallet (wallet_a)
|
|||
{
|
||||
network[0] = std::toupper (network[0]);
|
||||
}
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
version = new QLabel (boost::str (boost::format ("Version %1% %2% network") % NANO_MAJOR_MINOR_VERSION % network).c_str ());
|
||||
}
|
||||
else
|
||||
{
|
||||
version = new QLabel (boost::str (boost::format ("Version %1% %2% network") % NANO_MAJOR_MINOR_RC_VERSION % network).c_str ());
|
||||
}
|
||||
version = new QLabel (boost::str (boost::format ("%1% %2% network") % NANO_VERSION_STRING % network).c_str ());
|
||||
|
||||
self_layout->addWidget (your_account_label);
|
||||
self_layout->addStretch ();
|
||||
self_layout->addWidget (version);
|
||||
|
|
|
@ -8,7 +8,5 @@ target_compile_definitions(rpc_test
|
|||
PUBLIC
|
||||
-DACTIVE_NETWORK=${ACTIVE_NETWORK}
|
||||
PRIVATE
|
||||
-DNANO_VERSION_MAJOR=${CPACK_PACKAGE_VERSION_MAJOR}
|
||||
-DNANO_VERSION_MINOR=${CPACK_PACKAGE_VERSION_MINOR}
|
||||
-DNANO_VERSION_PATCH=${CPACK_PACKAGE_VERSION_PATCH}
|
||||
-DTAG_VERSION_STRING=${TAG_VERSION_STRING}
|
||||
-DGIT_COMMIT_HASH=${GIT_COMMIT_HASH})
|
|
@ -2470,14 +2470,7 @@ TEST (rpc, version)
|
|||
ASSERT_EQ (std::to_string (node1->store.version_get (transaction)), response1.json.get<std::string> ("store_version"));
|
||||
}
|
||||
ASSERT_EQ (std::to_string (nano::protocol_version), response1.json.get<std::string> ("protocol_version"));
|
||||
if (NANO_VERSION_PATCH == 0)
|
||||
{
|
||||
ASSERT_EQ (boost::str (boost::format ("Nano %1%") % NANO_MAJOR_MINOR_VERSION), response1.json.get<std::string> ("node_vendor"));
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT_EQ (boost::str (boost::format ("Nano %1%") % NANO_MAJOR_MINOR_RC_VERSION), response1.json.get<std::string> ("node_vendor"));
|
||||
}
|
||||
ASSERT_EQ (boost::str (boost::format ("Nano %1%") % NANO_VERSION_STRING), response1.json.get<std::string> ("node_vendor"));
|
||||
auto network_label (node1->network_params.network.get_current_network_as_string ());
|
||||
ASSERT_EQ (network_label, response1.json.get<std::string> ("network"));
|
||||
auto genesis_open (node1->latest (nano::test_genesis_key.pub));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue