From e5c3e2a678c904c5e2db13e2b1184cd66ac24ee6 Mon Sep 17 00:00:00 2001 From: Jacob Lewallen Date: Wed, 7 Jun 2023 10:42:54 -0700 Subject: [PATCH] fix: Moving tools around on AWS agent. --- android-sdk/android-sdk-setup.sh | 4 +- jenkins/aws-agent.sh | 68 ++++++++++++++++++++++---------- 2 files changed, 50 insertions(+), 22 deletions(-) diff --git a/android-sdk/android-sdk-setup.sh b/android-sdk/android-sdk-setup.sh index e14648a..5f2e2d3 100755 --- a/android-sdk/android-sdk-setup.sh +++ b/android-sdk/android-sdk-setup.sh @@ -36,7 +36,7 @@ which sdkmanager sdkmanager --list -yes | sdkmanager --install "build-tools;25.0.1" "build-tools;25.0.3" "build-tools;26.0.1" "build-tools;28.0.2" "build-tools;29.0.2" -yes | sdkmanager --install "platforms;android-26" "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" "platforms;android-31" +yes | sdkmanager --install "build-tools;30.0.3" +yes | sdkmanager --install "platforms;android-33" yes | sdkmanager --install "platform-tools" yes | sdkmanager --install "cmdline-tools;latest" diff --git a/jenkins/aws-agent.sh b/jenkins/aws-agent.sh index bfe2823..764f642 100755 --- a/jenkins/aws-agent.sh +++ b/jenkins/aws-agent.sh @@ -16,6 +16,7 @@ if [ -e /dev/nvme1n1 ]; then fi sudo mkdir -p /svr0/workspace sudo mkdir -p /svr0/docker +sudo mkdir -p /svr0/tools # When docker installs, it'll find this and end up on extra space. sudo mkdir -p /var/jenkins_home @@ -23,6 +24,8 @@ sudo ln -sf /svr0/workspace /var/jenkins_home/workspace sudo mkdir -p /etc/docker echo '{"data-root": "/svr0/docker"}' > /etc/docker/daemon.json +df -h + # Annoying, fix needrestart being interactive by default. May eventually want # to just use the ENV variable approach. Though, these machines will never use # anything else. @@ -38,7 +41,8 @@ sudo apt-get install -qy \ openjdk-11-jdk-headless \ wget unzip jq curl htop tig valgrind \ lib32stdc++6 lib32z1 \ - clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev + clang cmake ninja-build pkg-config libgtk-3-dev liblzma-dev libstdc++-12-dev \ + libjsoncpp-dev libsecret-1-dev protobuf-compiler # Python stuffs. sudo which pip3 @@ -47,12 +51,20 @@ sudo which python3 sudo pip3 install --upgrade pip sudo pip3 install virtualenv +df -h + # Rustup + +export CARGO_HOME=/svr0/tools/.cargo +export RUSTUP_HOME=/svr0/tools/.rustup + curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs > rustup.sh sh rustup.sh -y +sudo ln -sf /svr0/tools/.cargo /home/ubuntu/.cargo +sudo ln -sf /svr0/tools/.rustup /home/ubuntu/.rustup + # Docker -# curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo mkdir -m 0755 -p /etc/apt/keyrings @@ -76,41 +88,43 @@ else exit 2 fi +df -h + # Build tools wget https://golang.org/dl/go1.19.1.linux-amd64.tar.gz -sudo tar -C /usr/local -xzf go1.19.1.linux-amd64.tar.gz +sudo tar -C /svr0/tools -xzf go1.19.1.linux-amd64.tar.gz +sudo ln -sf /svr0/tools/go /usr/local/go wget https://nodejs.org/dist/v16.13.2/node-v16.13.2-linux-x64.tar.xz -sudo tar -C /usr/local -xf node-v16.13.2-linux-x64.tar.xz -sudo mv /usr/local/node-* /usr/local/node +sudo tar -C /svr0/tools -xf node-v16.13.2-linux-x64.tar.xz +sudo mv /svr0/tools/node-* /svr0/tools/node +sudo ln -sf /svr0/tools/node /usr/local/go wget https://download.docker.com/linux/static/stable/x86_64/docker-17.09.0-ce.tgz -sudo tar -C /usr/local -xf docker-17.09.0-ce.tgz +sudo tar -C /svr0/tools -xf docker-17.09.0-ce.tgz +sudo ln -sf /svr0/tools/docker /usr/local/docker wget https://github.com/Kitware/CMake/releases/download/v3.19.7/cmake-3.19.7-Linux-x86_64.tar.gz -sudo tar -C /usr/local -xf cmake-3.19.7-Linux-x86_64.tar.gz -sudo mv /usr/local/cmake-* /usr/local/cmake +sudo tar -C /svr0/tools -xf cmake-3.19.7-Linux-x86_64.tar.gz +sudo mv /svr0/tools/cmake-* /svr0/tools/cmake +sudo ln -sf /svr0/tools/cmake /usr/local/cmake -sudo ln -sf /usr/local/cmake/bin/cmake /usr/local/bin/cmake -sudo ln -sf /usr/local/go/bin/go /usr/local/bin/go -sudo ln -sf /usr/local/node/bin/node /usr/local/bin/node -sudo ln -sf /usr/local/node/bin/npm /usr/local/bin/npm +sudo ln -sf /svr0/tools/cmake/bin/cmake /usr/local/bin/cmake +sudo ln -sf /svr0/tools/go/bin/go /usr/local/bin/go +sudo ln -sf /svr0/tools/node/bin/node /usr/local/bin/node +sudo ln -sf /svr0/tools/node/bin/npm /usr/local/bin/npm sudo npm install -g yarn -sudo ln -sf /usr/local/node/bin/yarn /usr/local/bin/yarn +sudo ln -sf /svr0/tools/node/bin/yarn /usr/local/bin/yarn -for a in /usr/local/docker/*; do - echo $a - n=`basename $a` - # sudo ln -sf $a /usr/local/bin/$n -done +df -h wget https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_3.10.3-stable.tar.xz -sudo tar -C /usr/local -xf flutter_linux_3.10.3-stable.tar.xz +sudo tar -C /svr0/tools -xf flutter_linux_3.10.3-stable.tar.xz -ls -alh /usr/local/flutter +ls -alh /svr0/tools # Cleanup rm -f *.tar.* *.tgz @@ -139,10 +153,24 @@ sudo chmod 777 /var/run/docker.sock sudo rm -rf ~/.npm +# Install Android SDK +mkdir -p /svr0/tools +pushd /svr0/tools +wget https://raw.githubusercontent.com/conservify/dev-ops/main/android-sdk/android-sdk-setup.sh +bash android-sdk-setup.sh +popd + +# Clean cache +sudo apt-get clean + +sudo chown -R ubuntu. /svr0/tools + +# Debugging. sudo whoami sudo id id env +df -h # HUP java agent if it's running to get new permissions. # sudo pkill java