diff --git a/.cicd/build-scripts.yml b/.cicd/build-scripts.yml index d75aefc8ad4..1cc43727e31 100644 --- a/.cicd/build-scripts.yml +++ b/.cicd/build-scripts.yml @@ -101,7 +101,20 @@ steps: - "./scripts/eosio_build.sh -P -y" timeout: 180 - + - label: ":ubuntu: Ubuntu 20.04 - Build Pinned" + env: + DEBIAN_FRONTEND: "noninteractive" + plugins: + - docker#v3.3.0: + image: "ubuntu:20.04" + always-pull: true + agents: + queue: "automation-eks-eos-builder-fleet" + command: + - "ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime" + - "apt update && apt upgrade -y && apt install -y git" + - "./scripts/eosio_build.sh -P -y" + timeout: 180 - label: ":aws: Amazon_Linux 2 - Build UnPinned" plugins: @@ -189,4 +202,19 @@ steps: command: - "apt update && apt upgrade -y && apt install -y git" - "./scripts/eosio_build.sh -y" - timeout: 180 \ No newline at end of file + timeout: 180 + + - label: ":ubuntu: Ubuntu 20.04 - Build UnPinned" + env: + DEBIAN_FRONTEND: "noninteractive" + plugins: + - docker#v3.3.0: + image: "ubuntu:20.04" + always-pull: true + agents: + queue: "automation-eks-eos-builder-fleet" + command: + - "ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime" + - "apt update && apt upgrade -y && apt install -y git g++" + - "./scripts/eosio_build.sh -y" + timeout: 180 diff --git a/.cicd/platforms/pinned/ubuntu-20.04-pinned.dockerfile b/.cicd/platforms/pinned/ubuntu-20.04-pinned.dockerfile new file mode 100644 index 00000000000..1d411a797e0 --- /dev/null +++ b/.cicd/platforms/pinned/ubuntu-20.04-pinned.dockerfile @@ -0,0 +1,58 @@ +FROM ubuntu:20.04 +ENV VERSION 1 +# install dependencies. +RUN apt-get update && \ + apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y git make \ + bzip2 automake libbz2-dev libssl-dev doxygen graphviz libgmp3-dev \ + autotools-dev python2.7 python2.7-dev python3 \ + python3-dev python-configparser \ + autoconf libtool g++ gcc curl zlib1g-dev sudo ruby libusb-1.0-0-dev \ + libcurl4-gnutls-dev pkg-config patch vim-common jq gnupg && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# build cmake +RUN curl -LO https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2.tar.gz && \ + tar -xzf cmake-3.16.2.tar.gz && \ + cd cmake-3.16.2 && \ + ./bootstrap --prefix=/usr/local && \ + make -j$(nproc) && \ + make install && \ + rm -rf cmake-3.16.2.tar.gz cmake-3.16.2 +# build clang10 +RUN git clone --single-branch --branch llvmorg-10.0.0 https://github.com/llvm/llvm-project clang10 && \ + mkdir /clang10/build && cd /clang10/build && \ + cmake -G 'Unix Makefiles' -DCMAKE_INSTALL_PREFIX='/usr/local' -DLLVM_ENABLE_PROJECTS='lld;polly;clang;clang-tools-extra;libcxx;libcxxabi;libunwind;compiler-rt' -DLLVM_BUILD_LLVM_DYLIB=ON -DLLVM_ENABLE_RTTI=ON -DLLVM_INCLUDE_DOCS=OFF -DLLVM_TARGETS_TO_BUILD=host -DCMAKE_BUILD_TYPE=Release ../llvm && \ + make -j $(nproc) && \ + make install && \ + cd / && \ + rm -rf /clang10 +COPY ./.cicd/helpers/clang.make /tmp/clang.cmake +# build llvm10 +RUN git clone --depth 1 --single-branch --branch llvmorg-10.0.0 https://github.com/llvm/llvm-project llvm && \ + cd llvm/llvm && \ + mkdir build && \ + cd build && \ + cmake -G 'Unix Makefiles' -DLLVM_TARGETS_TO_BUILD=host -DLLVM_BUILD_TOOLS=false -DLLVM_ENABLE_RTTI=1 -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_TOOLCHAIN_FILE='/tmp/clang.cmake' -DCMAKE_EXE_LINKER_FLAGS=-pthread -DCMAKE_SHARED_LINKER_FLAGS=-pthread -DLLVM_ENABLE_PIC=NO -DLLVM_ENABLE_TERMINFO=OFF .. && \ + make -j$(nproc) && \ + make install && \ + cd / && \ + rm -rf /llvm +# build boost +RUN curl -LO https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2 && \ + tar -xjf boost_1_72_0.tar.bz2 && \ + cd boost_1_72_0 && \ + ./bootstrap.sh --with-toolset=clang --prefix=/usr/local && \ + ./b2 toolset=clang cxxflags='-stdlib=libc++ -D__STRICT_ANSI__ -nostdinc++ -I/usr/local/include/c++/v1 -D_FORTIFY_SOURCE=2 -fstack-protector-strong -fpie' linkflags='-stdlib=libc++ -pie' link=static threading=multi --with-iostreams --with-date_time --with-filesystem --with-system --with-program_options --with-chrono --with-test -q -j$(nproc) install && \ + cd / && \ + rm -rf boost_1_72_0.tar.bz2 /boost_1_72_0 +# install node 12 +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ + . /etc/lsb-release && \ + echo "deb https://deb.nodesource.com/node_12.x $DISTRIB_CODENAME main" | tee /etc/apt/sources.list.d/nodesource.list && \ + echo "deb-src https://deb.nodesource.com/node_12.x $DISTRIB_CODENAME main" | tee -a /etc/apt/sources.list.d/nodesource.list && \ + apt-get update && \ + apt-get install -y nodejs && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* diff --git a/.cicd/platforms/unpinned/ubuntu-20.04-unpinned.dockerfile b/.cicd/platforms/unpinned/ubuntu-20.04-unpinned.dockerfile new file mode 100644 index 00000000000..250ef13c47f --- /dev/null +++ b/.cicd/platforms/unpinned/ubuntu-20.04-unpinned.dockerfile @@ -0,0 +1,38 @@ +FROM ubuntu:20.04 +ENV VERSION 1 +# install dependencies. +RUN apt-get update && \ + apt-get upgrade -y && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y git make \ + bzip2 automake libbz2-dev libssl-dev doxygen graphviz libgmp3-dev \ + autotools-dev python2.7 python2.7-dev python3 python3-dev \ + autoconf libtool curl zlib1g-dev sudo ruby libusb-1.0-0-dev \ + libcurl4-gnutls-dev pkg-config patch llvm-7-dev clang-7 vim-common jq g++ gnupg && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* + +# build cmake +RUN curl -LO https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2.tar.gz && \ + tar -xzf cmake-3.16.2.tar.gz && \ + cd cmake-3.16.2 && \ + ./bootstrap --prefix=/usr/local && \ + make -j$(nproc) && \ + make install && \ + rm -rf cmake-3.16.2.tar.gz cmake-3.16.2 +# build boost +RUN curl -LO https://dl.bintray.com/boostorg/release/1.71.0/source/boost_1_71_0.tar.bz2 && \ + tar -xjf boost_1_71_0.tar.bz2 && \ + cd boost_1_71_0 && \ + ./bootstrap.sh --prefix=/usr/local && \ + ./b2 --with-iostreams --with-date_time --with-filesystem --with-system --with-program_options --with-chrono --with-test -j$(nproc) install && \ + cd / && \ + rm -rf boost_1_71_0.tar.bz2 /boost_1_71_0 +# install node 12 +RUN curl -fsSL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \ + . /etc/lsb-release && \ + echo "deb https://deb.nodesource.com/node_12.x $DISTRIB_CODENAME main" | tee /etc/apt/sources.list.d/nodesource.list && \ + echo "deb-src https://deb.nodesource.com/node_12.x $DISTRIB_CODENAME main" | tee -a /etc/apt/sources.list.d/nodesource.list && \ + apt-get update && \ + apt-get install -y nodejs && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/*