mirror of
https://github.com/commercialhaskell/stackage.git
synced 2026-01-25 21:51:57 +01:00
Modifications for automated builds on new server
This commit is contained in:
parent
a1d1fa54e4
commit
f5f87702fe
2
automated/.gitignore
vendored
2
automated/.gitignore
vendored
@ -8,3 +8,5 @@
|
|||||||
/lts-*/
|
/lts-*/
|
||||||
/stackage-curator/
|
/stackage-curator/
|
||||||
/stackage-update/
|
/stackage-update/
|
||||||
|
/aws.sh
|
||||||
|
/crondir/
|
||||||
|
|||||||
@ -5,6 +5,8 @@ set -eux
|
|||||||
ROOT=$(cd $(dirname $0) ; pwd)
|
ROOT=$(cd $(dirname $0) ; pwd)
|
||||||
TARGET=$1
|
TARGET=$1
|
||||||
|
|
||||||
|
source aws.sh
|
||||||
|
|
||||||
# For nightly-YYYY-MM-DD, tag should be nightly
|
# For nightly-YYYY-MM-DD, tag should be nightly
|
||||||
# For lts-X.Y, tag should be ltsX
|
# For lts-X.Y, tag should be ltsX
|
||||||
SHORTNAME=$(echo $TARGET | cut -d- -f 1)
|
SHORTNAME=$(echo $TARGET | cut -d- -f 1)
|
||||||
@ -80,7 +82,7 @@ chmod +x stackage-curator
|
|||||||
ARGS_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"
|
ARGS_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"
|
||||||
ARGS_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"
|
ARGS_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"
|
||||||
ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
|
ARGS_BUILD="$ARGS_COMMON -v $CABAL_DIR:/home/stackage/.cabal:ro -v $STACK_DIR:/home/stackage/.stack:ro -v $GHC_DIR:/home/stackage/.ghc:ro"
|
||||||
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"
|
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"
|
||||||
|
|
||||||
# Make sure we actually need this snapshot. We only check this for LTS releases
|
# Make sure we actually need this snapshot. We only check this for LTS releases
|
||||||
# since, for nightlies, we'd like to run builds even if they are unnecessary to
|
# since, for nightlies, we'd like to run builds even if they are unnecessary to
|
||||||
|
|||||||
15
automated/cron.sh
Executable file
15
automated/cron.sh
Executable file
@ -0,0 +1,15 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eux
|
||||||
|
|
||||||
|
CRONDIR=$(pwd)/crondir
|
||||||
|
mkdir -p $CRONDIR
|
||||||
|
source aws.sh
|
||||||
|
|
||||||
|
echo "Running stackage-server-cron..."
|
||||||
|
echo "('tail -f $CRONDIR/stackage-server-cron.log' to watch)"
|
||||||
|
docker run --rm \
|
||||||
|
-v $CRONDIR:/home/ubuntu \
|
||||||
|
-w /home/ubuntu \
|
||||||
|
fpco/stackage-server-prod:latest \
|
||||||
|
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'"
|
||||||
@ -1,13 +1,13 @@
|
|||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
cd "$(dirname "${BASH_SOURCE[0]}")"
|
||||||
|
|
||||||
while true; do
|
while true; do
|
||||||
/opt/stackage-build/stackage/automated/build.sh nightly-$(date -u +%F)
|
./build.sh nightly-$(date -u +%F)
|
||||||
date
|
date
|
||||||
echo
|
echo
|
||||||
|
|
||||||
echo "Running stackage-server-cron..."
|
./cron.sh
|
||||||
echo "('tail -f /home/ubuntu/stackage-server-cron.log' to watch)"
|
|
||||||
/home/ubuntu/stackage-server-cron.sh >> /home/ubuntu/stackage-server-cron.log 2>&1
|
|
||||||
echo "done."
|
echo "done."
|
||||||
date
|
date
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user