Skip to content

Commit

Permalink
Merge pull request #7458 from EOSIO/1.8.x-bash-scripts
Browse files Browse the repository at this point in the history
[1.8.x] BATS bash tests for build scripts + various other improvements and fixes
  • Loading branch information
NorseGaud authored Jun 10, 2019
2 parents aef5561 + c73c901 commit 29e3698
Show file tree
Hide file tree
Showing 46 changed files with 3,025 additions and 2,013 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,8 @@ witness_node_data_dir
*.pyc
*.pyo

Testing/*
build.tar.gz
build/*
build-debug/*

Expand Down
7 changes: 2 additions & 5 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,8 @@ project( EOSIO )
include(CTest) # suppresses DartConfiguration.tcl error
enable_testing()

if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
message(WARNING "CMAKE_INSTALL_PREFIX is set to default path of ${CMAKE_INSTALL_PREFIX}, resetting to ${CMAKE_INSTALL_PREFIX}/eosio")
set(CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}/eosio")
elseif ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
message(WARNING "CMAKE_INSTALL_PREFIX is explicitly set to /usr/local. This is not recommended.")
if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
message(WARNING "CMAKE_INSTALL_PREFIX is set to /usr/local. This is not recommended.")
endif()

list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/libraries/fc/CMakeModules")
Expand Down
7 changes: 3 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,10 +68,9 @@ $ sudo yum remove eosio

#### Build Script Uninstall

If you have previously installed EOSIO using build scripts, you have two options (neither impact your data directory by default):

1. `./scripts/eosio_uninstall.sh` - Will uninstall eosio, yet leave dependencies (you can use --full to delete your data directory).
2. `./scripts/full_uninstaller.sh` - Will uninstall eosio and dependencies (can be forced; see script).
If you have previously installed EOSIO using build scripts, you may execute `./scripts/eosio_uninstall.sh` to uninstall.
- Passing `--force` will answer yes to all prompts
- Passing `--full` will remove data directories (be very careful with this)

## Supported Operating Systems
EOSIO currently supports the following operating systems:
Expand Down
8 changes: 7 additions & 1 deletion pipeline.jsonc
Original file line number Diff line number Diff line change
@@ -1,4 +1,10 @@
{
"eosio": {
"environment": {
"IMAGE_TAG": "1.8.0-rc2",
"HELPER_ENABLED": true
}
},
"eosio-base-images":
{
"pipeline-branch": "release/1.8.x"
Expand Down Expand Up @@ -45,4 +51,4 @@
"SKIP_V180": "false"
}
}
}
}
100 changes: 100 additions & 0 deletions scripts/.environment
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
export SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
export REPO_ROOT="${SCRIPT_DIR}/.."
export BUILD_DIR="${REPO_ROOT}/build"

export EOSIO_VERSION_MAJOR=$(cat $REPO_ROOT/CMakeLists.txt | grep -E "^[[:blank:]]*set[[:blank:]]*\([[:blank:]]*VERSION_MAJOR" | tail -1 | sed 's/.*VERSION_MAJOR //g' | sed 's/ //g' | cut -d\) -f1)
export EOSIO_VERSION_MINOR=$(cat $REPO_ROOT/CMakeLists.txt | grep -E "^[[:blank:]]*set[[:blank:]]*\([[:blank:]]*VERSION_MINOR" | tail -1 | sed 's/.*VERSION_MINOR //g' | sed 's/ //g' | cut -d\) -f1)
export EOSIO_VERSION_PATCH=$(cat $REPO_ROOT/CMakeLists.txt | grep -E "^[[:blank:]]*set[[:blank:]]*\([[:blank:]]*VERSION_PATCH" | tail -1 | sed 's/.*VERSION_PATCH //g' | sed 's/ //g' | cut -d\) -f1)
export EOSIO_VERSION_SUFFIX=$(cat $REPO_ROOT/CMakeLists.txt | grep -E "^[[:blank:]]*set[[:blank:]]*\([[:blank:]]*VERSION_SUFFIX" | tail -1 | sed 's/.*VERSION_SUFFIX //g' | sed 's/ //g' | cut -d\) -f1)
export EOSIO_VERSION="${EOSIO_VERSION_MAJOR}.${EOSIO_VERSION_MINOR}"
if [[ -z $EOSIO_VERSION_SUFFIX ]]; then
export EOSIO_VERSION_FULL="${EOSIO_VERSION_MAJOR}.${EOSIO_VERSION_MINOR}.${EOSIO_VERSION_PATCH}"
else
export EOSIO_VERSION_FULL="${EOSIO_VERSION_MAJOR}.${EOSIO_VERSION_MINOR}.${EOSIO_VERSION_PATCH}-${EOSIO_VERSION_SUFFIX}"
fi

export INSTALL_LOCATION=${INSTALL_LOCATION:-$HOME}
export EOSIO_INSTALL_DIR="${INSTALL_LOCATION}/eosio/${EOSIO_VERSION}"
export TEMP_DIR="${INSTALL_LOCATION}/tmp"

export SRC_DIR=${EOSIO_INSTALL_DIR}/src
export OPT_DIR=${EOSIO_INSTALL_DIR}/opt
export VAR_DIR=${EOSIO_INSTALL_DIR}/var
export ETC_DIR=${EOSIO_INSTALL_DIR}/etc
export BIN_DIR=${EOSIO_INSTALL_DIR}/bin
export LIB_DIR=${EOSIO_INSTALL_DIR}/lib
export DATA_DIR=${EOSIO_INSTALL_DIR}/data

# CMAKE
export CMAKE_VERSION_MAJOR=3
export CMAKE_VERSION_MINOR=13
export CMAKE_VERSION_PATCH=2
export CMAKE_VERSION=${CMAKE_VERSION_MAJOR}.${CMAKE_VERSION_MINOR}.${CMAKE_VERSION_PATCH}

# MONGO
export MONGODB_VERSION=3.6.3
export MONGODB_ROOT=${OPT_DIR}/mongodb-${MONGODB_VERSION}
export MONGODB_BIN=${BIN_DIR}/mongod
export MONGODB_CONF=${ETC_DIR}/mongod.conf
export MONGODB_LOG_DIR=${VAR_DIR}/log/mongodb
export MONGODB_LINK_DIR=${OPT_DIR}/mongodb
export MONGODB_DATA_DIR=${DATA_DIR}/mongodb
export MONGO_C_DRIVER_VERSION=1.13.0
export MONGO_C_DRIVER_ROOT=${SRC_DIR}/mongo-c-driver-${MONGO_C_DRIVER_VERSION}
export MONGO_CXX_DRIVER_VERSION=3.4.0
export MONGO_CXX_DRIVER_ROOT=${SRC_DIR}/mongo-cxx-driver-r${MONGO_CXX_DRIVER_VERSION}
export ENABLE_MONGO=${ENABLE_MONGO:-false}
export INSTALL_MONGO=${INSTALL_MONGO:-false}

# BOOST
export BOOST_VERSION_MAJOR=1
export BOOST_VERSION_MINOR=70
export BOOST_VERSION_PATCH=0
export BOOST_VERSION=${BOOST_VERSION_MAJOR}_${BOOST_VERSION_MINOR}_${BOOST_VERSION_PATCH}
export BOOST_ROOT=${BOOST_LOCATION:-${SRC_DIR}/boost_${BOOST_VERSION}}
export BOOST_LINK_LOCATION=${OPT_DIR}/boost

# LLVM
export LLVM_VERSION=release_40
export LLVM_ROOT=${OPT_DIR}/llvm
export LLVM_DIR=${LLVM_ROOT}/lib/cmake/llvm

# DOXYGEN
export DOXYGEN_VERSION=1_8_14
export DOXYGEN_ROOT=${SRC_DIR}/doxygen-${DOXYGEN_VERSION}
export ENABLE_DOXYGEN=${ENABLE_DOXYGEN:-false}

# CLANG
export CLANG_ROOT=${OPT_DIR}/clang8
export PINNED_COMPILER_BRANCH=release_80
export PINNED_COMPILER_LLVM_COMMIT=18e41dc
export PINNED_COMPILER_CLANG_COMMIT=a03da8b
export PINNED_COMPILER_LLD_COMMIT=d60a035
export PINNED_COMPILER_POLLY_COMMIT=1bc06e5
export PINNED_COMPILER_CLANG_TOOLS_EXTRA_COMMIT=6b34834
export PINNED_COMPILER_LIBCXX_COMMIT=1853712
export PINNED_COMPILER_LIBCXXABI_COMMIT=d7338a4
export PINNED_COMPILER_LIBUNWIND_COMMIT=57f6739
export PINNED_COMPILER_COMPILER_RT_COMMIT=5bc7979
export NO_CPP17=${NO_CPP17:-false}
export PIN_COMPILER=${PIN_COMPILER:-false}
export BUILD_CLANG=${BUILD_CLANG:-false}

export CORE_SYMBOL_NAME=${CORE_SYMBOL_NAME:-SYS}

export CPU_CORES=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || sysctl -n hw.ncpu)
export CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE:-Release}

export NONINTERACTIVE=${NONINTERACTIVE:-false}
export PROCEED=${PROCEED:-false}

export CURRENT_USER=${CURRENT_USER:-$(whoami)}

export ENABLE_COVERAGE_TESTING=${ENABLE_COVERAGE_TESTING:-false}
export HOMEBREW_NO_AUTO_UPDATE=1
export TINI_VERSION=0.18.0
export DISK_MIN=5
export COUNT=0
export DRYRUN=${DRYRUN:-false}
export VERBOSE=${VERBOSE:-false}
export SUDO_LOCATION=$( command -v sudo )
Loading

0 comments on commit 29e3698

Please sign in to comment.