Skip to content

Commit

Permalink
fix: Moving tools around on AWS agent.
Browse files Browse the repository at this point in the history
  • Loading branch information
jlewallen committed Jun 7, 2023
1 parent 7afe028 commit e5c3e2a
Show file tree
Hide file tree
Showing 2 changed files with 50 additions and 22 deletions.
4 changes: 2 additions & 2 deletions android-sdk/android-sdk-setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
68 changes: 48 additions & 20 deletions jenkins/aws-agent.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,13 +16,16 @@ 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
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.
Expand All @@ -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
Expand All @@ -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

Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit e5c3e2a

Please sign in to comment.