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

Commit

Permalink
DEV-20 Adding version tagging to release. Create OSX package. Make re… (
Browse files Browse the repository at this point in the history
  • Loading branch information
amastracci committed May 15, 2018
1 parent be97115 commit d51a895
Show file tree
Hide file tree
Showing 11 changed files with 100 additions and 12 deletions.
36 changes: 34 additions & 2 deletions .travis.yml
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
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
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
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 @@ -259,7 +260,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
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
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
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
@@ -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
@@ -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
@@ -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
@@ -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@"

0 comments on commit d51a895

Please sign in to comment.