diff --git a/framework/mafia b/framework/mafia index e81accb..48a0944 100755 --- a/framework/mafia +++ b/framework/mafia @@ -1,123 +1,63 @@ #!/bin/sh -eu : ${MAFIA_HOME:=$HOME/.mafia} - -fetch_latest () { - if [ -z ${MAFIA_TEST_MODE+x} ]; then - TZ=$(date +"%T") - curl --silent "https://raw.githubusercontent.com/ambiata/mafia/master/script/mafia?$TZ" - else - cat ../script/mafia - fi -} +: ${MAFIA_VERSIONS:=$MAFIA_HOME/versions} latest_version () { - git ls-remote https://github.com/ambiata/mafia | grep refs/heads/master | cut -f 1 + git ls-remote https://github.com/ambiata/mafia | grep refs/heads/master | cut -f 1 } -local_version () { - awk '/^# Version: / { print $3; exit 0; }' $0 +build_version() { + MAFIA_VERSION="$1" + MAFIA_TEMP=$(mktemp -d 2>/dev/null || mktemp -d -t 'exec_mafia') + MAFIA_FILE=mafia-$MAFIA_VERSION + MAFIA_PATH=$MAFIA_VERSIONS/$MAFIA_FILE + mkdir -p $MAFIA_VERSIONS + echo "Building $MAFIA_FILE in $MAFIA_TEMP" + git clone https://github.com/ambiata/mafia $MAFIA_TEMP + git --git-dir="$MAFIA_TEMP/.git" --work-tree="$MAFIA_TEMP" reset --hard $MAFIA_VERSION || { + echo "mafia version ($MAFIA_VERSION) could not be found." >&2 + exit 1 + } + (cd "$MAFIA_TEMP" && ./bin/bootstrap) || { + got=$? + echo "mafia version ($MAFIA_VERSION) could not be built." >&2 + exit "$got" + } + chmod +x "$MAFIA_TEMP/.cabal-sandbox/bin/mafia" + # Ensure executable is on same file-system so final mv is atomic. + mv -f "$MAFIA_TEMP/.cabal-sandbox/bin/mafia" "$MAFIA_PATH.$$" + mv "$MAFIA_PATH.$$" "$MAFIA_PATH" || { + rm -f "$MAFIA_PATH.$$" + echo "INFO: mafia version ($MAFIA_VERSION) already exists not overiding," >&2 + echo "INFO: this is expected if parallel builds of the same version of" >&2 + echo "INFO: mafia occur, we are playing by first in, wins." >&2 + exit 0 + } } -run_upgrade () { - MAFIA_TEMP=$(mktemp 2>/dev/null || mktemp -t 'upgrade_mafia') - - clean_up () { - rm -f "$MAFIA_TEMP" - } - - trap clean_up EXIT - - MAFIA_CUR="$0" - - if [ -L "$MAFIA_CUR" ]; then - echo 'Refusing to overwrite a symlink; run `upgrade` from the canonical path.' >&2 - exit 1 - fi - - echo "Checking for a new version of mafia ..." - fetch_latest > $MAFIA_TEMP - - LATEST_VERSION=$(latest_version) - echo "# Version: $LATEST_VERSION" >> $MAFIA_TEMP - - if ! cmp $MAFIA_CUR $MAFIA_TEMP >/dev/null 2>&1; then - mv $MAFIA_TEMP $MAFIA_CUR - chmod +x $MAFIA_CUR - echo "New version found and upgraded. You can now commit it to your git repo." - else - echo "You have latest mafia." - fi +enable_version() { + if [ $# -eq 0 ]; then + MAFIA_VERSION="$(latest_version)" + echo "INFO: No explicit mafia version requested installing latest ($MAFIA_VERSION)." >&2 + else + MAFIA_VERSION="$1" + fi + [ -x "$MAFIA_HOME/versions/mafia-$MAFIA_VERSION" ] || build_version "$MAFIA_VERSION" + ln -sf "$MAFIA_HOME/versions/mafia-$MAFIA_VERSION" "$MAFIA_HOME/versions/mafia" } exec_mafia () { - MAFIA_VERSION=$(local_version) - - if [ "x$MAFIA_VERSION" = "x" ]; then - # If we can't find the mafia version, then we need to upgrade the script. - run_upgrade - else - MAFIA_BIN=$MAFIA_HOME/bin - MAFIA_FILE=mafia-$MAFIA_VERSION - MAFIA_PATH=$MAFIA_BIN/$MAFIA_FILE - - [ -f "$MAFIA_PATH" ] || { - # Create a temporary directory which will be deleted when the script - # terminates. Unfortunately `mktemp` doesn't behave the same on - # Linux and OS/X so we need to try two different approaches. - MAFIA_TEMP=$(mktemp -d 2>/dev/null || mktemp -d -t 'exec_mafia') - - # Create a temporary file in MAFIA_BIN so we can do an atomic copy/move dance. - mkdir -p $MAFIA_BIN - - clean_up () { - rm -rf "$MAFIA_TEMP" - } - - trap clean_up EXIT - - echo "Building $MAFIA_FILE in $MAFIA_TEMP" - - ( cd "$MAFIA_TEMP" - - git clone https://github.com/ambiata/mafia - cd mafia - - git reset --hard $MAFIA_VERSION - - bin/bootstrap ) || exit $? - - MAFIA_PATH_TEMP=$(mktemp --tmpdir=$MAFIA_BIN $MAFIA_FILE-XXXXXX 2>/dev/null || TMPDIR=$MAFIA_BIN mktemp -t $MAFIA_FILE) - - clean_up_temp () { - clean_up - rm -f "$MAFIA_PATH_TEMP" - } - trap clean_up_temp EXIT - - cp "$MAFIA_TEMP/mafia/.cabal-sandbox/bin/mafia" "$MAFIA_PATH_TEMP" - chmod 755 "$MAFIA_PATH_TEMP" - mv "$MAFIA_PATH_TEMP" "$MAFIA_PATH" - - clean_up_temp - } - - exec $MAFIA_PATH "$@" - fi + [ -x "$MAFIA_HOME/versions/mafia" ] || enable_version + "$MAFIA_HOME/versions/mafia" "$@" } # # The actual start of the script..... # -if [ $# -gt 0 ]; then - MODE="$1" -else - MODE="" -fi - -case "$MODE" in -upgrade) shift; run_upgrade "$@" ;; +case "${1:-}" in +upgrade) shift; enable_version "$@" ;; *) exec_mafia "$@" esac -# Version: 7418efce0395b4dcb1898dcb5d99c21d8534c1f3 +# Version: 59b3c6aadb50447f8942b036f255325ded1b4649 diff --git a/mismi-autoscaling-core/master.toml b/mismi-autoscaling-core/master.toml index e89c1b7..8b99201 100644 --- a/mismi-autoscaling-core/master.toml +++ b/mismi-autoscaling-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,12 +32,12 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-autoscaling/master.toml b/mismi-autoscaling/master.toml index 336750e..15f5dbc 100644 --- a/mismi-autoscaling/master.toml +++ b/mismi-autoscaling/master.toml @@ -1,24 +1,27 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] # Change these once fully switched to boris HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -30,12 +33,12 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-cli/master.toml b/mismi-cli/master.toml index d7f03f3..ad26713 100644 --- a/mismi-cli/master.toml +++ b/mismi-cli/master.toml @@ -1,22 +1,21 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist-7-10] - HADDOCK = "true" - HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" PUBLISH = "true" PUBLISH_S3 = "$AMBIATA_ARTEFACTS_MASTER" PUBLISH_EXECUTABLES = "s3" [build.branches-7-10] - HADDOCK = "true" - HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" PUBLISH = "true" PUBLISH_S3 = "$AMBIATA_ARTEFACTS_BRANCHES" PUBLISH_EXECUTABLES = "s3" diff --git a/mismi-cloudwatch-logs/master.toml b/mismi-cloudwatch-logs/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-cloudwatch-logs/master.toml +++ b/mismi-cloudwatch-logs/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-cloudwatch/master.toml b/mismi-cloudwatch/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-cloudwatch/master.toml +++ b/mismi-cloudwatch/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-core/master.toml b/mismi-core/master.toml index 267954c..83b43d7 100644 --- a/mismi-core/master.toml +++ b/mismi-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,13 +32,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-dynamodb/master.toml b/mismi-dynamodb/master.toml index 10dab5b..06dfbd3 100644 --- a/mismi-dynamodb/master.toml +++ b/mismi-dynamodb/master.toml @@ -1,20 +1,23 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" diff --git a/mismi-ec2-core/master.toml b/mismi-ec2-core/master.toml index e89c1b7..8b99201 100644 --- a/mismi-ec2-core/master.toml +++ b/mismi-ec2-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,12 +32,12 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-ec2/master.toml b/mismi-ec2/master.toml index e89c1b7..8b99201 100644 --- a/mismi-ec2/master.toml +++ b/mismi-ec2/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,12 +32,12 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-elb/master.toml b/mismi-elb/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-elb/master.toml +++ b/mismi-elb/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-emr/master.toml b/mismi-emr/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-emr/master.toml +++ b/mismi-emr/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-iam-core/master.toml b/mismi-iam-core/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-iam-core/master.toml +++ b/mismi-iam-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-iam/master.toml b/mismi-iam/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-iam/master.toml +++ b/mismi-iam/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-kernel/master.toml b/mismi-kernel/master.toml index 267954c..83b43d7 100644 --- a/mismi-kernel/master.toml +++ b/mismi-kernel/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,13 +32,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-openssl/master.toml b/mismi-openssl/master.toml index 26dd211..9ddd210 100644 --- a/mismi-openssl/master.toml +++ b/mismi-openssl/master.toml @@ -1,19 +1,22 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-rds-core/master.toml b/mismi-rds-core/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-rds-core/master.toml +++ b/mismi-rds-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-rds/master.toml b/mismi-rds/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-rds/master.toml +++ b/mismi-rds/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" diff --git a/mismi-s3-core/master.toml b/mismi-s3-core/master.toml index 267954c..83b43d7 100644 --- a/mismi-s3-core/master.toml +++ b/mismi-s3-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,13 +32,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-s3/master.toml b/mismi-s3/master.toml index 10d8971..bb3437b 100644 --- a/mismi-s3/master.toml +++ b/mismi-s3/master.toml @@ -1,15 +1,18 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10-reliability] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST_RELIABILITY_SIZE = "2500" TEST_RELIABILITY_SUCCESS = "5" @@ -17,13 +20,13 @@ HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -35,13 +38,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-s3/src/Mismi/S3/Commands.hs b/mismi-s3/src/Mismi/S3/Commands.hs index 74ba895..29dfebc 100644 --- a/mismi-s3/src/Mismi/S3/Commands.hs +++ b/mismi-s3/src/Mismi/S3/Commands.hs @@ -504,7 +504,7 @@ uploadRecursiveWithMode mode src (Address buck ky) fork = do uploadAddress fp = Address buck (ky // Key (T.pack $ L.drop prefixLen fp)) -- Take a list of files and their sizes, and convert it to a list of tests --- where the total size of of the files in the sub list is less than `maxSize` +-- where the total size of the files in the sub list is less than `maxSize` -- and the length of the sub lists is <= `maxCount`. chunkFilesBySize :: Int -> Int64 -> [(FilePath, Int64)] -> [[(FilePath, Int64)]] chunkFilesBySize maxCount maxSize = @@ -515,7 +515,7 @@ chunkFilesBySize maxCount maxSize = takeFiles current acc ((x, s):xs) = if current + s < maxSize && L.length acc < maxCount then takeFiles (current + s) ((x, s):acc) xs - else ((x, s):acc) : takeFiles 0 [] xs + else acc : takeFiles s [(x, s)] xs -- | Like `listRecursively` but for the local filesystem. -- Also returns diff --git a/mismi-sqs-core/master.toml b/mismi-sqs-core/master.toml index 267954c..83b43d7 100644 --- a/mismi-sqs-core/master.toml +++ b/mismi-sqs-core/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,13 +32,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-sqs/master.toml b/mismi-sqs/master.toml index 267954c..83b43d7 100644 --- a/mismi-sqs/master.toml +++ b/mismi-sqs/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1" @@ -29,13 +32,13 @@ [build.dist-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" [build.branches-7-10-cabal-test] GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" TEST = "false" CABAL_TEST = "true" diff --git a/mismi-sts/master.toml b/mismi-sts/master.toml index 81d2b67..cfb6e60 100644 --- a/mismi-sts/master.toml +++ b/mismi-sts/master.toml @@ -1,23 +1,26 @@ [master] + runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20170724213527-c4b2de4/master-haskell-20170724213527-c4b2de4" version = 1 - runner = "s3://ambiata-dispensary-v2/dist/master/master-haskell/linux/x86_64/20160623072912-ccea728/master-haskell-20160623072912-ccea728" - sha1 = "e150d58a710c500eb908db492b3dcd0e532b2725" + sha1 = "09aa2a97367596116e8d12112bf68464919d4815" + +[global] + CACHE = "true" [build.dist] GHC_VERSION="7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_MASTER" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.branches-7-10] HADDOCK = "true" HADDOCK_S3 = "$AMBIATA_HADDOCK_BRANCHES" GHC_VERSION = "7.10.2" - CABAL_VERSION = "1.22.4.0" + CABAL_VERSION = "1.24.0.0" [build.dist-8-0] GHC_VERSION = "8.0.1"