Skip to content
This repository has been archived by the owner on Mar 3, 2020. It is now read-only.

DEV-20 Adding version tagging to release. Create OSX package. Make re… #30

Merged
merged 5 commits into from
May 15, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
36 changes: 34 additions & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,17 @@ env:
global:
- BOOST_INSTALL_DIR="$HOME/.local"
- BOOST_VERSION="1.67.0"
- PROJECT_VERSION_MAJOR="0"
- PROJECT_VERSION_MINOR="1"
- PROJECT_VERSION_PATCH="${TRAVIS_BUILD_NUMBER}"
- PROJECT_VERSION="${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}"
- PACKAGE_ARCHITECTURE="amd64"
- PACKAGE_NAME="bluzelle-swarmdb"
- PACKAGE_NAME_DEB="${PACKAGE_NAME}_${PROJECT_VERSION}_${PACKAGE_ARCHITECTURE}.deb"
- PACKAGE_NAME_OSX="${PACKAGE_NAME}_${PROJECT_VERSION}_darwin_${PACKAGE_ARCHITECTURE}.tar.gz"
- secure: "vF3zRyPiUm+VOVAq1y6TDGqr5s2XYk7In6Zh8LbX0VNv6ROQ7HEwusbO6tuR4I0Og0m59RplQd3oAr3nxLMN/85YQw1vvVbc+TC1wIenM15bfEgCKjTsiFbIEf7fPgUyqVg/YLGSEsskcXiFrfb5IyFmAj+v37u0N56u4B3/ga82e5RIXvu641z1Ex2sS0L/MhN4TOluI/5ASeg/D6QHKVx59HiX/PjOkWbCKY10p5CzbXgNyik37NrI1ZKnLTtYFCznuPeXpt4Vx0YdCLOaJw4uG2ay2CjayOmOvXlNWb9iHXL5EveovptDhSSqAJjzy+MqwnrjJHsciOBHX2efpeCpSBx6tGw9e8bi6Xg3MJvdPjEcfKoAWBG2MdJUAdGk48eduvdPqnx/Ig7//ez9aYLgbXaac3k09N5SeyPZuRE2mnQoXNcO2ApL3NfOAJ/3WRtFo/scgu8rBfEZrIqy2BAgnOK86TYZwIR1CabQgPDClY9XddcZ+PBQ4a+j/CqDTcjdYR5I7ABV4nPgCU2rheKEhKMv8yw4kFl5U6wFUOtkEdxFJk3+d8oxHPrQf0CDFKovkSEcMzEgcJE1DsVLNzNPlE9y12+Rsopt/fcCNqSvyl22XaI7O9UnE/j+Y2ATlydB+6olEvOEd02K9WYuVUotyeBu4bB8sY0V4VDREUI="
- secure: "Z4h7T0uHpz3WLtX93NckznB/FujL7LncaZdxJQ5DrWOtIpUJA7REix8oMDyTaXqhsksX5x24CdxuArmFkgE5G1xJK7sIgI7R6RlDG0shRyfMBWaB0Olbsxq9FiZb11Cmguq2ANoPdwFj53BwSjLs+8QW7wWx2NE4TF0JWWNBVVi1hcX5cPc2xW8oEy7657mxCTq6/G8upOonMRHmiB3M+u9Xn0Sv7+SCmtkFw6uUSGfRRkwwRl0haf0qwlOg6o6Aihen0zFEM/Rf3imx5JhyxtlW6KQBG8WZOmv2gQ9AXD9sAZG4H52Klr81QIhKrzlQNEoLvPtkhqTFXCGlBRH7bBXbCYRFYhvm8j1ja2tM46wZHwdIx5gtUqLk5+PcNdFEO335003GeOPewzayk44WWkPQyHPkNLTLAnLJawKkSDsLsWIokl0BGz5m2O08GBoohTd0LaOQrEi3npI92s6OasxPh9wcCwYYwGT5WqLmnKc6XRpI5I+RFN6yjPYCYUwgCd5LVkOG5hpvg8tTYG63gxshPJWSWv5yObMPppmObnpQNjPOdw63m9cpnevo2DbGLZsHedDyqMGhjZnn3CG8ZlRQvdPLo56l2gFRxhw8J2xnk1C2ffil8C9IjiTLBK+Y5ALd17BuI40ZA+ClRHy8Z6MFXgMfFlr/YBrUtY3tvGg="
- secure: "Hp7Ww6XhkZvzOsktsaL8lyiMbXLP3u/Entj7UXomywDr7gMIAyoIiD122bZ1Wa+sbNfnNd8lKS1AZxMtwxbhAK9hcB6ZvypAE3i4pfoQWxd4jq3pXltJ2oLbXEWzH1aGcTtibf2vI6WBpI8mPGWrykBeQfCzd0qs6t5pNzeA43ta77WCADWJivxe69l4rqxUGmXZVbGzApUgn5UP7FTscuByitQm6KPft63sre6aSC1P9FKWD4VOFlDqol3v+Bsmn05bNc9a/UuLq/C6vSa6BxsJpalMIRtlXE+MRXVpYxnBNS1UlH+8LA6txG3fwisyvwXG5KjO4tDuVLIYzuK1+TBCCnFBbTJ+2aCZ9iR7sA34A+AUbF2JyTfGtR4RnOd2cMgGuWgn1ASoe2c5GE45aK/s+ijDsKpzzHl8gR3QJS7yd0U/KCgnW3bsq4mRq95sjA/5MZuS2gmIpMS0JoprLmjXikZLI3LDQc8VHqK5U2ne/W7xZyszc57IlJI6HiL2v2yw25m8/yna7PXyAYFPsZ8LRzoZJvq/uBVh8sAnhpgMfQ5FxOuJGvhH56UjvcXqIYfz1a4ELIl8b2rLq6M1qUWYHwlTq8xHHhWShQBpfEiZQBncD0+K7LO7KhJb78sqJcbMFcgsWooKqlsElGQwK92BUkECRu8eC4n8uaaJ/GM="

matrix:
include:
Expand Down Expand Up @@ -50,14 +61,35 @@ compiler:
- gcc

before_script:
- cd $TRAVIS_BUILD_DIR
- cd ${TRAVIS_BUILD_DIR}
- travis_wait source $TRAVIS_BUILD_DIR/toolchain/install-boost.sh
- mkdir build
- cd build
- source $TRAVIS_BUILD_DIR/toolchain/install-boost.sh && ${CMAKE_COMMAND} -DBOOST_ROOT:PATHNAME=$BOOST_ROOT ..
- >
source ${TRAVIS_BUILD_DIR}/toolchain/install-boost.sh && ${CMAKE_COMMAND} -DBOOST_ROOT:PATHNAME=$BOOST_ROOT
-DPROJECT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR}
-DPROJECT_VERSION_MINOR=${PROJECT_VERSION_MINOR}
-DPROJECT_VERSION_PATCH=${PROJECT_VERSION_PATCH} ..

script:
- ${CXX} --version
- echo CXXFLAGS=${CXXFLAGS}
- make
- make package


after_success:
- echo ${TRAVIS_BRANCH}
- |
if [ "$TRAVIS_BRANCH" = "master" ]; then
if [ "$TRAVIS_OS_NAME" = "linux" ]; then
travis_retry curl -u${REPO_USER}:${REPO_PASSWORD} -XPUT "https://bluzelle.jfrog.io/bluzelle/debian-local/pool/${PACKAGE_NAME_DEB};deb.distribution=all;deb.component=stable;deb.architecture=${PACKAGE_ARCHITECTURE}" -T ${TRAVIS_BUILD_DIR}/build/${PACKAGE_NAME_DEB}
fi
if [ "$TRAVIS_OS_NAME" = "osx" ]; then
travis_retry curl -u${REPO_USER}:${REPO_PASSWORD} -T ${TRAVIS_BUILD_DIR}/build/${PACKAGE_NAME_OSX} "https://bluzelle.jfrog.io/bluzelle/OSX/${PACKAGE_NAME_OSX}"
fi
git tag release-${TRAVIS_OS_NAME}-${PROJECT_VERSION}
git remote add origin-swarm https://${GITHUB_TOKEN}@github.com/bluzelle/swarmdb.git > /dev/null 2>&1
git push --quiet --set-upstream origin-swarm ${TRAVIS_BRANCH} --tags
fi

9 changes: 9 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ cmake_minimum_required(VERSION 3.10)

project(bluzelle CXX)

include(swarm_version.cmake)
message("Build version ${PROJECT_VERSION}")

# Setup version header
configure_file(${PROJECT_SOURCE_DIR}/swarm_version.hpp.in ${CMAKE_BINARY_DIR}/swarm_version.hpp.tmp)
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_BINARY_DIR}/swarm_version.hpp.tmp ${CMAKE_BINARY_DIR}/swarm_version.hpp)
execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/swarm_version.hpp.tmp)
include_directories(${CMAKE_BINARY_DIR})

# use ccache if available...
find_program(CCACHE_FOUND ccache)
if(CCACHE_FOUND)
Expand Down
3 changes: 1 addition & 2 deletions include/bluzelle.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
#include <boost/log/trivial.hpp>
#include <string_view>
#include <json/json.h>
#include <swarm_version.hpp>

#define GCC_VERSION (__GNUC__ * 10000 \
+ __GNUC_MINOR__ * 100 \
Expand All @@ -26,8 +27,6 @@ namespace bzn
{
using message = Json::Value;

const std::string_view BLUZELLE_VERSION = "0.0.1";

using uuid_t = std::string;

} // bzn
Expand Down
3 changes: 2 additions & 1 deletion options/options.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
#include <boost/program_options.hpp>
#include <iostream>
#include <fstream>
#include <swarm_version.hpp>

namespace po = boost::program_options;
using namespace bzn;
Expand Down Expand Up @@ -242,7 +243,7 @@ options::parse(int argc, const char* argv[])

if (vm.count("version"))
{
std::cout << "Bluzelle" << ": v" << BLUZELLE_VERSION << std::endl;
std::cout << "Bluzelle" << ": v" << SWARM_VERSION << std::endl;
return false;
}

Expand Down
4 changes: 4 additions & 0 deletions pkg/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -9,4 +9,8 @@ if (UNIX AND NOT APPLE)
endif()
endif()

if (APPLE)
add_subdirectory(osx)
endif()

add_subdirectory(docker)
5 changes: 3 additions & 2 deletions pkg/debian/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,14 @@ set(BOOST_DEB_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUB

set(CPACK_PACKAGE_VENDOR "Bluzelle")
set(CPACK_PACKAGE_CONTACT "devops@bluzelle.com")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "A Bluzelle decentralized database node.")
set(CPACK_PACKAGE_NAME "swarmdb")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Bluzelle decentralized database node.")
set(CPACK_PACKAGE_NAME "bluzelle-swarmdb")
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
set(CPACK_DEBIAN_PACKAGE_SECTION "databases")
set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")

set(CPACK_SYSTEM_NAME "amd64")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")
Expand Down
1 change: 0 additions & 1 deletion pkg/docker/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ RUN set -x \
gettext-base \
libjsoncpp-dev

ARG SWARM_BUILD_DIR
ARG SWARM_NAME

COPY swarmdb__amd64.deb /tmp
Expand Down
8 changes: 4 additions & 4 deletions pkg/docker/config.json.template
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"listener_address" : "0.0.0.0",
"listener_port" : ${SWARM_PORT},
"listener_port" : 51010,
"ethereum" : "0x006eae72077449caca91078ef78552c0cd9bce8f",
"bootstrap_url" : "${SWARM_BOOTSTRAP_URL}",
"uuid" : "${SWARM_UUID}",
"debug_logging" : true,
"bootstrap_url" : "${NODE_BOOTSTRAP_URL}",
"uuid" : "${NODE_UUID}",
"debug_logging" : ${NODE_DEBUG_LOGGING},
"log_to_stdout" : true
}
21 changes: 21 additions & 0 deletions pkg/osx/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
message( "Building version: ${PROJECT_VERSION}..." )

set(CPACK_PACKAGE_VENDOR "Bluzelle")
set(CPACK_PACKAGE_CONTACT "devops@bluzelle.com")
set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Bluzelle decentralized database node.")
set(CPACK_PACKAGE_NAME "bluzelle-swarmdb")
set(CPACK_PACKAGE_VERSION ${PROJECT_VERSION})
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})

set(CPACK_SYSTEM_NAME "amd64")

set(CPACK_GENERATOR "TGZ")
set(CPACK_PACKAGE_FILE_NAME ${CPACK_PACKAGE_NAME}_${PROJECT_VERSION}_darwin_${CPACK_SYSTEM_NAME})

INCLUDE(CPack)

set(DESTINATION_DIR ./)

install(PROGRAMS "${PROJECT_BINARY_DIR}/output/swarm" DESTINATION "./")
5 changes: 5 additions & 0 deletions swarm_version.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# version for swarm
set(PROJECT_VERSION_MAJOR 0 CACHE STRING "Set the project major version")
set(PROJECT_VERSION_MINOR 0 CACHE STRING "Set the project minor version")
set(PROJECT_VERSION_PATCH "0-desk" CACHE STRING "Set the project patch version")
set(PROJECT_VERSION "${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
17 changes: 17 additions & 0 deletions swarm_version.hpp.in
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// Copyright (C) 2018 Bluzelle
//
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU Affero General Public License, version 3,
// as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU Affero General Public License for more details.
//
// You should have received a copy of the GNU Affero General Public License
// along with this program. If not, see <http://www.gnu.org/licenses/>.

#pragma once

#define SWARM_VERSION "@PROJECT_VERSION@"
Copy link
Contributor

@ebruck ebruck May 15, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see this version string replacing the one in include/bluzelle.hpp.
The daemon has a --version option.