on master help sign in
Modifications for automated builds on new server
commitf5f87702fe88ebd1e26e16298375ec8ccb0541b8 authorMichael Snoyman <michael@snoyman.com> dateWed 3 Aug 2016, 13:38 (10 years ago) parenta1d1fa5
4 files changed+24−5
automated/.gitignore+2 automated/build.sh+3−1 automated/cron.sh+15 automated/run-nightly.sh+4−4
automated/.gitignore+2
@@ -8,3 +8,5 @@
88/lts-*/
99/stackage-curator/
1010/stackage-update/
11+/aws.sh
12+/crondir/
automated/build.sh+3−1
@@ -5,6 +5,8 @@ set -eux
55ROOT=$(cd $(dirname $0) ; pwd)
66TARGET=$1
77
8+source aws.sh
9+
810# For nightly-YYYY-MM-DD, tag should be nightly
911# For lts-X.Y, tag should be ltsX
1012SHORTNAME=$(echo $TARGET | cut -d- -f 1)
@@ -80,7 +82,7 @@ chmod +x stackage-curator
8082ARGS_COMMON="--rm -v $WORKDIR:/home/stackage/work -w /home/stackage/work -v $BINDIR/stackage-curator:/usr/bin/stackage-curator:ro -v /etc/passwd:/etc/passwd:ro -v /etc/group:/etc/group:ro -v $EXTRA_BIN_DIR:/home/stackage/bin:ro"
8183ARGS_PREBUILD="$ARGS_COMMON -u $USER -v $CABAL_DIR:/home/stackage/.cabal -v $STACK_DIR:/home/stackage/.stack -v $GHC_DIR:/home/stackage/.ghc -v $DOT_STACKAGE_DIR:/home/stackage/.stackage"
8284ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
83−ARGS_UPLOAD="$ARGS_COMMON -u $USER -e AWS_ACCESS_KEY=$AWS_ACCESS_KEY -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY -e AWS_SECRET_KEY=$AWS_SECRET_KEY -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro"
85+ARGS_UPLOAD="$ARGS_COMMON -u $USER -e AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID -e AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY -v $AUTH_TOKEN:/auth-token:ro -v $HACKAGE_CREDS:/hackage-creds:ro -v $DOT_STACKAGE_DIR:/home/stackage/.stackage -v $SSH_DIR:/home/ubuntu/.ssh:ro -v $GITCONFIG:/home/stackage/.gitconfig:ro -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro"
8486
8587# Make sure we actually need this snapshot. We only check this for LTS releases
8688# since, for nightlies, we'd like to run builds even if they are unnecessary to
automated/cron.shnew file+15
@@ -0,0 +1,15 @@
1+#!/usr/bin/env bash
2+
3+set -eux
4+
5+CRONDIR=$(pwd)/crondir
6+mkdir -p $CRONDIR
7+source aws.sh
8+
9+echo "Running stackage-server-cron..."
10+echo "('tail -f $CRONDIR/stackage-server-cron.log' to watch)"
11+docker run --rm \
12+ -v $CRONDIR:/home/ubuntu \
13+ -w /home/ubuntu \
14+ fpco/stackage-server-prod:latest \
15+ bash -c "useradd $(whoami) -u $(id -u); sudo -u $(whoami) env HOME=/home/ubuntu AWS_ACCESS_KEY_ID=$AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=$AWS_SECRET_ACCESS_KEY bash -c '/usr/local/bin/stackage-server-cron >> /home/ubuntu/stackage-server-cron.log 2>&1'"
automated/run-nightly.sh+4−4
@@ -1,13 +1,13 @@
11#!/usr/bin/env bash
22
3+cd "$(dirname "${BASH_SOURCE[0]}")"
4+
35while true; do
4− /opt/stackage-build/stackage/automated/build.sh nightly-$(date -u +%F)
6+ ./build.sh nightly-$(date -u +%F)
57 date
68 echo
79
8− echo "Running stackage-server-cron..."
9− echo "('tail -f /home/ubuntu/stackage-server-cron.log' to watch)"
10− /home/ubuntu/stackage-server-cron.sh >> /home/ubuntu/stackage-server-cron.log 2>&1
10+ ./cron.sh
1111 echo "done."
1212 date
1313