diff --git a/contrib/teamcity/adoptopenjdk.pub b/contrib/teamcity/adoptopenjdk.pub deleted file mode 100644 index 7ae2ce4a2..000000000 --- a/contrib/teamcity/adoptopenjdk.pub +++ /dev/null @@ -1,53 +0,0 @@ ------BEGIN PGP PUBLIC KEY BLOCK----- -Version: GnuPG v1 - -mQINBFzII+8BEADS8rE0HAdET6h2LjpRbN22+JRzFzD1LvqWFOIozLZ5hA8tAIM4 -dNhTbzMt/evgVi+Qvo+VpwINPYNPVfavWXK3PsiI6tmgECq62ODuyzS3+TBOVZ6G -RIGVoIWCqvW8gz3CBl5MzUp0iw4uv4cZYI1XJKz9CmOUzoxiCTchs2dFW9UI//AZ -A6mFVRNG0siIjEOhUON1GygHiSlKh9L5UGZfwnXwBt6B9bOdzstBoQqAIIqoRIFw -3Qi/N1VFif00h9nkvanGmhLzvqoQdPrfuw9Z0c+rqUpfgx9foUzs3BNQL2RqLBd3 -VcF2mXKdiIrsCJw2n65ORzxGvIcZ9cVt+G4DWThhVsGo963WAO5XyybbdtrV0uoz -tVL2z9WahUdwoS2Y92R4r2ciose1GbaonrDHb9LXCic1thRt2I+dQ2PA8h8boSAb -4rfsTA9MbEe8hp7wxDOtE5OPXu3GF0FL8tMxf+/8ZhIHzJaAB5+QbnBJCy44XfMK -Lh/k0dfz+NEx9pg1yYIJ1hsysNsb6r0+UuEU/k2Qy/cOLXXZYKdSHtKNxTvf9PKy -HIX1kT6muUGj97S+7T0zD7Tq6WEqwZAAIlWUO5H0KmiPotugF/ahnWEYxRVCQuBf -Iw1RZVLHVsptdcd/CF/fmlR+k3KO8h6F+At1N17ToZ0Uyq+sRz1HvVS75QARAQAB -tE1BZG9wdE9wZW5KREsgKHVzZWQgZm9yIHB1Ymxpc2hpbmcgUlBNIGFuZCBERUIg -ZmlsZXMpIDxhZG9wdG9wZW5qZGtAZ21haWwuY29tPokCOAQTAQIAIgUCXMgj7wIb -AwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQisOykXSIXAOQShAAqjye6sT+ -/fTsAbkpE055kjb9GSNBLPuPG9eCnn86hl1ge9vSBHfBC/GF4e7Q9BL0QK+rfq07 -1g8UBgdg0Vwx8VZuRR5pzIdr1FWyE0JTyUcOpTsxz5KwA8SEFodN912ajAaVwDm7 -W9Z47bPNFqFjLLqTuNInRxHqQfrytCPQY73HW/bwU0xYPupyF/nQ0qxJYPH3tK1b -zBvyVIR4mq5p1275fieLdywsIREeP/gwuR//QB48L4ZOmIQ5EE/Pq/tCK02FwMqR -U61H+YAjsPaA+1OQuvzWysQhBjhd9hxqBawO/U45oVdoYa1WsX0uwKAIVe33Ib8G -41OxwLlfLWhgQKDa3USpolNf6Qtj3cHQEB61XD7v9B6XbnPV1Wf65VJzyUJdYXQl -Rzr9zH+r9S/BeB+rCR7eljafYBvIAibmSYq9Cfsji2+bUjVRXGZos4SZNNa4xs/g -52o7L5B5PSNFr0zzNDcY24Pha1a7nlYc/hWnZ0YtSQsAxaPXj9MpxKQX8q+eCakY -CYN73zGoc4ILJfYVd6jxkcoWrRrvQxp3m/IujAJMm/6ZbSeYdGENtTsQHsnEo0de -8CcSUkQg3GX9xQXlZhH8D0WWnRm4n/KJ+pi82wiU9z99nTSq75TrvBmKCT+J8V1B -uVCzNXsk7zsTOwBEKU/4YSEZC+YeW2iyp765Ag0EXMgj7wEQAN304lBCDHd4oIsl -s9+B+N9ET5+/W2rUDt9tljB/uzJiifcVyDyFiMn5KKpWO/nTlPU3PRluupR+TdgX -kFM6Ogyqce7SPMHL5L3r1NzS565SISUOljuBFftlva/LRAsCcSBjvR0D2ycwejW1 -Ctv0lPAf8K0HvA8OlKFTUXJUkFG/43kMZvv4f3URfMZ72nhLyz+rApWX3HuEZvFl -BhdZPFXf/SHuKSSeVFIoNbMVwnccDFpC9eGdD/GD+0CEhxPzFGy27zjbehIQOHqq -zJCAELdlFIs4t3kRg5TVwe7lod+pCZNN+VKynx4cKGJP891UR8UO67YRlq/FCB6+ -npVnyHKF9bBM8ZGwG/UnIpFyL0rr4PPoQ9R5RoMz/e7TCRCW0fMPK3USoKsICKgr -CCtQIuTKO6oIRFe868uzt4KCkkbD/S/fqFz5ZA65fFnm776h9cFBxXFPWiCWp57S -Ji91z7hG0Hkut0CPM6EGSilq9am0LuzJv7RlOYv/pOQMoqGUUtiFWf3gYn8IaFgr -9LVeC5/djZj4I/BSLRJaHfhaHoNScL63tighnUbj6uDeCjpe6C2rwSPWulLAIqF6 -r2ZByLi2hBkyrJnMC2Ew4PH9AMPkyZMDFJ3qSNZiUgwIny+4jYZxfxdTspvZa7dT -kLk0Uw1McyV8SkSqHaxafulwEbHnABEBAAGJAh8EGAECAAkFAlzII+8CGwwACgkQ -isOykXSIXANq2hAAkyeNuWadGqieKA/rxX53hPvxAjYmCt6uyXJiq55/9A8FHCf6 -OZE2rF9z0zCy5F6O8S5mieK0c+7DrU06YHrippya3WMldLSn5X6Zh13vNJE8PhG0 -Aw6GQSKHz9C2jD3ScZsbUsEiXEM8WLQVC0VpcNXvNgGBY4eK1dwi4jI+YnqLS1Pm -xsVlh1oMAeqDRSgz1qznj+2ziKlQvBTSfTURchWsuQK9SBxpnUUmmwzPI9aZX07i -WVdbkqVqhB3oH50pP4aclYtxjXU778Wpe7stbGFnGHFm6rClC6keUO6rohM1eU1d -yMD4XQDWLIbpCSVNyd+uJTyqIwJcAgGnZ3g4HnVmbY2iTrWIgaAwFEoGU7B+iEVI -1ob5c9y085e8UKB7QXv1lb/XXCkE2EWPR2tDbU0Fsip20jNULSq8cQbrSSnDt2lw -jLyNTiMDUHhVHnuMNktJ2sOwrNAwATlZHftDSxEoj3Y0XAsdVEbMyRvcxdpb8QDR -4pezrAGj+TlzzqnItDmHhElSxyCf5wbTy5vBEfFNiBRtz0WCmnmnsr61GWH7xtEi -TDmj/BvGxRwE2a0IEwl5ASTIGzxxHKQm7VIOxd9fwYBkuCrNtylc4mw+g8w0lhpt -HCm81Da4TubPdAgobrQGlnMVDmgAcN20+RakdKamaki/c5u+pAvEkYNLvlM= -=SQlh ------END PGP PUBLIC KEY BLOCK----- - diff --git a/contrib/teamcity/install_openjdk8.sh b/contrib/teamcity/install_openjdk8.sh deleted file mode 100755 index 3a1d2a489..000000000 --- a/contrib/teamcity/install_openjdk8.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/env bash - -export LC_ALL=C.UTF-8 - -set -euxo pipefail - -ADOPTOPENJDK_APT_REPOSITORY=https://adoptopenjdk.jfrog.io/adoptopenjdk/deb -ADOPTOPENJDK8_DEB_FILE=adoptopenjdk-8-hotspot_8u252-b09-2_amd64.deb - -ADOPTOPENJDK8_DEPENDENCIES=( - java-common - libasound2 - libc6 - libx11-6 - libxext6 - libxi6 - libxrender1 - libxtst6 - zlib1g -) - -function join_by() { - local IFS="$1" - shift - echo "$*" -} - -# First install the known dependencies -apt-get update -DEBIAN_FRONTEND=noninteractive apt-get install -y $(join_by ' ' "${ADOPTOPENJDK8_DEPENDENCIES[@]}") - -apt-key add "$(dirname $0)/adoptopenjdk.pub" - -{ - # Try to install from the repo - add-apt-repository --yes "${ADOPTOPENJDK_APT_REPOSITORY}" && - apt-get update && - DEBIAN_FRONTEND=noninteractive apt-get install -y adoptopenjdk-8-hotspot -} || { - # Fallback in case of failure: - # - Remove the faulty repo, make sure we can update the packages - # - Download the deb package and install it using dpkg - add-apt-repository -r "${ADOPTOPENJDK_APT_REPOSITORY}" && - apt-get update && - wget "${ADOPTOPENJDK_APT_REPOSITORY}/pool/main/a/adoptopenjdk-8-hotspot/${ADOPTOPENJDK8_DEB_FILE}" && - dpkg -i "${ADOPTOPENJDK8_DEB_FILE}" -} || { - # Nothing worked, give up - echo "Unable to install adoptopenjdk8, giving up" - exit 1 -} - -ln -s /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64 /usr/lib/jvm/default-java -echo 'JAVA_HOME="/usr/lib/jvm/default-java"' >> /etc/environment diff --git a/contrib/teamcity/setup-debian-buster.sh b/contrib/teamcity/setup-debian-buster.sh index b3a0d2bba..cdee7b492 100755 --- a/contrib/teamcity/setup-debian-buster.sh +++ b/contrib/teamcity/setup-debian-buster.sh @@ -1,144 +1,141 @@ #!/usr/bin/env bash export LC_ALL=C.UTF-8 set -euxo pipefail dpkg --add-architecture i386 PACKAGES=( arcanist automake autotools-dev binutils bsdmainutils build-essential ccache cppcheck curl + default-jdk flake8 g++-aarch64-linux-gnu g++-arm-linux-gnueabihf gettext-base git golang g++-mingw-w64 gnupg gperf help2man imagemagick jq lcov less lib32stdc++-8-dev libboost-all-dev libbz2-dev libc6-dev:i386 libcap-dev libdb++-dev libdb-dev libevent-dev libjemalloc-dev libminiupnpc-dev libprotobuf-dev libqrencode-dev libqt5core5a libqt5dbus5 libqt5gui5 librsvg2-bin libssl-dev libtiff-tools libtinfo5 libtool libzmq3-dev make ninja-build nsis php-codesniffer pkg-config protobuf-compiler python3 python3-autopep8 python3-pip python3-setuptools python3-yaml python3-zmq qemu-user-static qttools5-dev qttools5-dev-tools software-properties-common tar wget xvfb yamllint wine ) function join_by() { local IFS="$1" shift echo "$*" } apt-get update DEBIAN_FRONTEND=noninteractive apt-get install -y $(join_by ' ' "${PACKAGES[@]}") BACKPORTS=( cmake shellcheck ) echo "deb http://deb.debian.org/debian buster-backports main" | tee -a /etc/apt/sources.list apt-get update DEBIAN_FRONTEND=noninteractive apt-get -t buster-backports install -y $(join_by ' ' "${BACKPORTS[@]}") TEAMCITY_DIR=$(dirname "$0") -# FIXME this should no longer be needed starting with Teamcity 2020.1, which -# supports Java 11. -"${TEAMCITY_DIR}/install_openjdk8.sh" - # Install llvm-8 and clang-10 apt-key add "${TEAMCITY_DIR}"/llvm.pub add-apt-repository "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-8 main" add-apt-repository "deb https://apt.llvm.org/buster/ llvm-toolchain-buster-10 main" apt-get update LLVM_PACKAGES=( clang-10 clang-format-8 clang-tidy-8 clang-tools-8 ) DEBIAN_FRONTEND=noninteractive apt-get install -y $(join_by ' ' "${LLVM_PACKAGES[@]}") # Make sure clang-10 has highest priority update-alternatives --install /usr/bin/clang clang "$(command -v clang-10)" 100 update-alternatives --install /usr/bin/clang++ clang++ "$(command -v clang++-10)" 100 update-alternatives --install /usr/bin/llvm-symbolizer llvm-symbolizer "$(command -v llvm-symbolizer-10)" 100 # Use the mingw posix variant update-alternatives --set x86_64-w64-mingw32-g++ $(command -v x86_64-w64-mingw32-g++-posix) update-alternatives --set x86_64-w64-mingw32-gcc $(command -v x86_64-w64-mingw32-gcc-posix) # Python library for interacting with teamcity pip3 install teamcity-messages # Python library for merging nested structures pip3 install deepmerge # For running Python test suites pip3 install pytest # Install Python dependencies for the build bot # Note: Path should be relative to TEAMCITY_DIR since the base image build # context may be different than the project root. pip3 install -r "${TEAMCITY_DIR}"/../buildbot/requirements.txt # Install pandoc. The version from buster is outdated, so get a more recent one # from github. wget https://github.com/jgm/pandoc/releases/download/2.10.1/pandoc-2.10.1-1-amd64.deb echo "4515d6fe2bf8b82765d8dfa1e1b63ccb0ff3332d60389f948672eaa37932e936 pandoc-2.10.1-1-amd64.deb" | sha256sum -c DEBIAN_FRONTEND=noninteractive dpkg -i pandoc-2.10.1-1-amd64.deb # Set default git config so that any git operations requiring authoring, # rebasing, or cherry-picking of commits just work out of the box. git config --global user.name "abc-bot" git config --global user.email "no-email-abc-bot@bitcoinabc.org"