Delete unused CI infrastructure
This commit is contained in:
parent
2376ee6410
commit
99cc29f0de
|
@ -1,17 +0,0 @@
|
|||
name: Build and deploy
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
concurrency: deploy
|
||||
jobs:
|
||||
deploy:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
# - name: Build and deploy
|
||||
# env:
|
||||
# AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
|
||||
# AWS_REGION: us-west-1
|
||||
# AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
|
||||
# run: tools/ci-ec2.bash
|
|
@ -1,10 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
: ${AWS_ACCESS_KEY_ID}
|
||||
: ${AWS_SECRET_ACCESS_KEY}
|
||||
: ${DOCKER_REPO}
|
||||
: ${S3_BUCKET}
|
||||
|
||||
make image shell I=ci CMD="tools/ci-run.bash" NI=1
|
|
@ -1,97 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
remote_url="$(git remote get-url origin | sed -E 's|git@github\.com:|https://github.com/|')"
|
||||
commit="$(git rev-parse HEAD)"
|
||||
|
||||
echo >&2 "[ci-run.bash] Fetching build parameters from SSM."
|
||||
|
||||
parameters="riju-ci-ami-id riju-docker-repo-host riju-public-docker-repo-host riju-s3-bucket-name"
|
||||
resp="$(aws ssm get-parameters --names ${parameters})"
|
||||
|
||||
read -r ami < <(jq '.Parameters[] | select(.Name == "riju-ci-ami-id").Value' -r <<< "${resp}")
|
||||
read -r docker_repo < <(jq '.Parameters[] | select(.Name == "riju-docker-repo-host").Value' -r <<< "${resp}")
|
||||
read -r public_docker_repo < <(jq '.Parameters[] | select(.Name == "riju-public-docker-repo-host").Value' -r <<< "${resp}")
|
||||
read -r s3_bucket < <(jq '.Parameters[] | select(.Name == "riju-s3-bucket-name").Value' -r <<< "${resp}")
|
||||
|
||||
echo >&2 "[ci-run.bash] Launching EC2 instance for CI job."
|
||||
|
||||
ebs_config="DeviceName=/dev/sdh,Ebs={DeleteOnTermination=true,VolumeSize=128,VolumeType=gp3}"
|
||||
instance_tags="ResourceType=instance,Tags=[{Key=Name,Value=Riju CI},{Key=BillingCategory,Value=Riju},{Key=BillingSubcategory,Value=Riju:EC2:CI}]"
|
||||
ebs_tags="ResourceType=volume,Tags=[{Key=Name,Value=Riju CI},{Key=BillingCategory,Value=Riju},{Key=BillingSubcategory,Value=Riju:EBS:CI}]"
|
||||
|
||||
resp="$(aws ec2 run-instances \
|
||||
--image-id "${ami}" \
|
||||
--instance-type t3.2xlarge \
|
||||
--security-groups riju-deploy \
|
||||
--iam-instance-profile Name=riju-deploy \
|
||||
--instance-initiated-shutdown-behavior terminate \
|
||||
--user-data file://tools/ci-user-data.bash \
|
||||
--tag-specifications "${instance_tags}" "${ebs_tags}" \
|
||||
--block-device-mappings "${ebs_config}")"
|
||||
|
||||
instance_id="$(jq '.Instances[].InstanceId' -r <<< "${resp}")"
|
||||
|
||||
echo >&2 "[ci-run.bash] Waiting for instance ${instance_id} to become ready."
|
||||
|
||||
success=
|
||||
for i in $(seq 1 15); do
|
||||
sleep 2
|
||||
resp="$(aws ec2 describe-instance-status --instance-id "${instance_id}")"
|
||||
status="$(jq '.InstanceStatuses[].InstanceState.Name' -r <<< "${resp}")"
|
||||
status="${status:-unknown}"
|
||||
case "${status}" in
|
||||
pending|unknown) ;;
|
||||
running) success=yes; break ;;
|
||||
* ) exit 1 ;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [[ -z "${success}}" ]]; then
|
||||
exit 124
|
||||
fi
|
||||
|
||||
echo >&2 "[ci-run.bash] Waiting for SSH to come online."
|
||||
|
||||
success=
|
||||
for i in $(seq 1 15); do
|
||||
if (yes || true) | timeout 5 mssh "ubuntu@${instance_id}" true 2>/dev/null; then
|
||||
success=yes
|
||||
break
|
||||
elif (( $# == 124 )); then
|
||||
exit 1
|
||||
fi
|
||||
sleep 2
|
||||
done
|
||||
|
||||
if [[ -z "${success}}" ]]; then
|
||||
exit 124
|
||||
fi
|
||||
|
||||
echo >&2 "[ci-run.bash] Running CI remotely using EC2 Instance Connect."
|
||||
|
||||
mssh "ubuntu@${instance_id}" bash <<EOF
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
sudo riju-init-volume
|
||||
sudo chown ubuntu:ubuntu /mnt/riju
|
||||
|
||||
pushd /mnt/riju
|
||||
|
||||
mkdir -p src
|
||||
pushd src
|
||||
|
||||
git clone ${remote_url} riju -b ${commit}
|
||||
pushd riju
|
||||
|
||||
./tools/ci-bootstrap.bash
|
||||
|
||||
popd
|
||||
popd
|
||||
popd
|
||||
|
||||
EOF
|
||||
|
||||
echo >&2 "[ci-run.bash] CI completed."
|
|
@ -1,6 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
make ecr
|
||||
make env CMD="dep deploy:live --registry --publish --yes" Z=xz CI=1 TEST_PATIENCE=4 TEST_CONCURRENCY=1
|
|
@ -1,15 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
if [[ -z "${NOHUP:-}" ]]; then
|
||||
NOHUP=1 nohup "$0" "$@" &
|
||||
fi
|
||||
|
||||
while true; do
|
||||
sleep 60
|
||||
# https://unix.stackexchange.com/a/92579
|
||||
if ! sudo netstat -tnpa | grep 'ESTABLISHED.*sshd'; then
|
||||
sudo shutdown -h now
|
||||
fi
|
||||
done
|
Loading…
Reference in New Issue