@@ -24,38 +24,36 @@ function startLocalRegistry {
24
24
}
25
25
26
26
function uploadPkgCliCodeBuild {
27
+ # fail and exit if any command fails
28
+ set -e
29
+
27
30
cd out/
28
- export hash=$( git rev-parse HEAD | cut -c 1-12)
29
31
export version=$( ./amplify-pkg-linux-x64 --version)
30
32
31
- if [[ " $PROJECT_NAME " == " Release" ]] || [[ " $PROJECT_NAME " == " RC" ]] || [[ " $PROJECT_NAME " == " TaggedReleaseWithoutE2E" ]]; then
32
- aws s3 cp amplify-pkg-win-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-win-x64-$( echo $hash ) .tgz
33
- aws s3 cp amplify-pkg-macos-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-macos-x64-$( echo $hash ) .tgz
34
- aws s3 cp amplify-pkg-linux-arm64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-arm64-$( echo $hash ) .tgz
35
- aws s3 cp amplify-pkg-linux-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64-$( echo $hash ) .tgz
36
-
37
- ALREADY_EXISTING_FILES=" $( set -o pipefail && aws s3 ls s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64 | ( egrep -v " amplify-pkg-linux-x64-.*" || true ) | wc -l | xargs) "
38
- INCORRECT_PERMISSIONS=$?
39
-
40
- if [ INCORRECT_PERMISSIONS -ne " 0" ]; then
41
- echo " Insufficient permissions to list s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64"
42
- exit 1
43
- fi
44
-
45
- if [ ALREADY_EXISTING_FILES -ne " 0" ]; then
46
- echo " Cannot overwrite existing file at s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64.tgz"
47
- exit 1
48
- fi
49
-
50
- aws s3 cp amplify-pkg-win-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-win-x64.tgz
51
- aws s3 cp amplify-pkg-macos-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-macos-x64.tgz
52
- aws s3 cp amplify-pkg-linux-arm64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-arm64.tgz
53
- aws s3 cp amplify-pkg-linux-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64.tgz
54
-
55
- else
56
- aws s3 cp amplify-pkg-linux-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64-$( echo $hash ) .tgz
33
+ # validate that version is uploaded in right build
34
+ if [[ " $version " =~ ^[0-9]+\. [0-9]+\. [0-9]+$ ]]; then
35
+ if [[ " $PROJECT_NAME " != " Release" ]]; then
36
+ echo " Invalid project name $PROJECT_NAME for $version release."
37
+ exit 1
38
+ fi
39
+ elif [[ " $version " =~ ^[0-9]+\. [0-9]+\. [0-9]+-rc\. ]]; then
40
+ if [[ " $PROJECT_NAME " != " RC" ]]; then
41
+ echo " Invalid project name $PROJECT_NAME for $version RC release."
42
+ exit 1
43
+ fi
44
+ elif [[ " $version " =~ ^[0-9]+\. [0-9]+\. [0-9]+-$ ]]; then
45
+ echo " Version $version is missing a tag" ;
46
+ exit 1
57
47
fi
58
48
49
+ # It's ok to re-upload binaries for the same build to make this step idempotent
50
+ # Versioning is handled by cb-publish-step-1-set-versions script
51
+ # Version conflicts are caught at cb-publish-step-2-verdaccio script
52
+ aws s3 cp amplify-pkg-win-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-win-x64.tgz
53
+ aws s3 cp amplify-pkg-macos-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-macos-x64.tgz
54
+ aws s3 cp amplify-pkg-linux-arm64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-arm64.tgz
55
+ aws s3 cp amplify-pkg-linux-x64.tgz s3://$PKG_CLI_BUCKET_NAME /$( echo $version ) /amplify-pkg-linux-x64.tgz
56
+
59
57
cd ..
60
58
}
61
59
0 commit comments