diff --git a/b9/b9 b/b9/b9 index 6ef7bed6..b052ec9f 100755 --- a/b9/b9 +++ b/b9/b9 @@ -59,7 +59,7 @@ usage() { echo " exec COMMAND [ARGS] Run arbitrary b9 function" echo echo "Environment variables:" - echo "B9_GITHUB_SSH_FILE SSH file to use for downloading from Github" + echo "B9_GITHUB_SSH_FILE SSH file to use for downloading from Github" exit 1 } diff --git a/b9/lib/package.sh b/b9/lib/package.sh index c6f45da9..ecd87309 100644 --- a/b9/lib/package.sh +++ b/b9/lib/package.sh @@ -62,7 +62,7 @@ b9_package() { _d9_package_sync_workdir $TYPE $WORKDIR $VERSION $SETTINGS _d9_package_npm_install $WORKDIR _d9_package_cleanup_workdir $WORKDIR - _d9_package_upload_${STORAGE} $WORKDIR $VERSION + _d9_package_upload $STORAGE $WORKDIR $VERSION echo $VERSION } @@ -81,10 +81,7 @@ _b9_package_init_git_cache() { _d9_package_init_work_dir() { local VERSION=$1 - local WORK_DIR=$TMP/${VERSION} - mkdir -p $WORK_DIR - - echo $WORK_DIR + mktemp -d b9-package-${VERSION}-XXXXXXXXXXXXX --tmpdir=$TMP } _b9_get_version() { @@ -101,6 +98,10 @@ _b9_package_is_cached() { local STORAGE=$1 local VERSION=$2 + if [ -d $TMP/$VERSION ]; then + return + fi + case $STORAGE in gcs) _b9_package_is_cached_gcs $VERSION @@ -109,7 +110,7 @@ _b9_package_is_cached() { _b9_package_is_cached_docker $VERSION ;; *) - echo "Invalid storage type: $STORAGE" + echo "Invalid storage type: $STORAGE" 1>&2 exit 1 ;; esac @@ -117,8 +118,8 @@ _b9_package_is_cached() { _d9_package_upload() { local STORAGE=$1 - local $WORKDIR=$2 - local $VERSION=$3 + local WORKDIR=$2 + local VERSION=$3 case $STORAGE in gcs) @@ -131,6 +132,8 @@ _d9_package_upload() { exit 1 ;; esac + + mv $WORKDIR $TMP/$VERSION } _d9_package_sync_workdir() { diff --git a/b9/lib/package_storage_gcs.sh b/b9/lib/package_storage_gcs.sh index 129e972c..db3f716f 100644 --- a/b9/lib/package_storage_gcs.sh +++ b/b9/lib/package_storage_gcs.sh @@ -10,14 +10,12 @@ _d9_package_upload_gcs() { local TMP_TAR local CACHE_FILE - CACHE_FILE=$(basename $WORKDIR) - pushd $WORKDIR/.. &> /dev/null - TMP_TAR=$(mktemp -d b9-package-XXXXXXXXXXXXX --tmpdir=$TMP)/$CACHE_FILE.tar.xz - tar -cJf $TMP_TAR $CACHE_FILE + TMP_TAR=$(mktemp -d b9-package-XXXXXXXXXXXXX --tmpdir=$TMP)/$VERSION.tar.xz + tar -cJf --transform s/$(basename $WORKDIR)/$VERSION/ $TMP_TAR $(basename $WORKDIR) gsutil cp $TMP_TAR gs://cloud9_ci_cache - mv $TMP_TAR $TMP/$(basename $CACHE_FILE.tar.xz) + mv $TMP_TAR $TMP/$VERSION.tar.xz popd &> /dev/null }