@@ -947,6 +947,97 @@ tasks:
947947 filenames :
948948 - libmongocrypt-all-${tag_upload_location!|*revision}.tar.gz
949949
950+ - name : sign-all
951+ patchable : false # Garasign credentials are marked as "Admin only" in Evergreen project. "Admin only" variables are not included in patch builds. To test a patch: temporarily unselect "Admin only".
952+ depends_on : upload-all
953+ commands :
954+ - func : " fetch source" # To get Earthfile.
955+ - command : s3.get
956+ params :
957+ role_arn : ' ${upload_arn}'
958+ remote_file : ' libmongocrypt/all/${branch_name}/${libmongocrypt_s3_suffix}/libmongocrypt-all.tar.gz'
959+ bucket : ${upload_bucket}
960+ local_file : ' libmongocrypt/libmongocrypt-all.tar.gz'
961+ - func : " earthly" # Sign tarball.
962+ vars :
963+ args : --secret garasign_username=${garasign_username} --secret garasign_password=${garasign_password} +sign --file_to_sign=libmongocrypt-all.tar.gz --output_file=libmongocrypt-all.asc --is_patch="${is_patch}"
964+ # Upload to same locations as libmongocrypt-all.tar.gz
965+ - command : shell.exec
966+ params :
967+ script : |-
968+ set -o errexit
969+ cd libmongocrypt
970+ if [ -n "${tag_upload_location}" ]; then
971+ # the "fetch source" step detected a release tag on HEAD, so we
972+ # prepare a local file for upload to a location based on the tag
973+ cp -a libmongocrypt-all.asc libmongocrypt-all-${tag_upload_location}.asc
974+
975+ if [[ "$tag_upload_location" = *-* ]]; then
976+ # Unstable release, like 1.1.0-beta1 or 1.0.1-rc0.
977+ mkdir unstable
978+ cp -a libmongocrypt-all.asc unstable/libmongocrypt-all-${tag_upload_location}.asc
979+ else
980+ mkdir stable
981+ cp -a libmongocrypt-all.asc stable/libmongocrypt-all-${tag_upload_location}.asc
982+ fi
983+ fi
984+ - command : s3.put
985+ params :
986+ role_arn : ${upload_arn}
987+ skip_existing : true
988+ remote_file : ' libmongocrypt/all/${branch_name}/${libmongocrypt_s3_suffix}/libmongocrypt-all.asc'
989+ bucket : ${upload_bucket}
990+ permissions : ${upload_permissions}
991+ visibility : ${upload_visibility}
992+ local_file : ' libmongocrypt/libmongocrypt-all.asc'
993+ content_type : ' application/pgp-signature'
994+ - command : s3.put
995+ params :
996+ role_arn : ${upload_arn}
997+ skip_existing : true
998+ remote_file : ' libmongocrypt/all/${branch_name}/${libmongocrypt_s3_suffix_copy}/libmongocrypt-all.asc'
999+ bucket : ${upload_bucket}
1000+ permissions : ${upload_permissions}
1001+ visibility : ${upload_visibility}
1002+ local_file : ' libmongocrypt/libmongocrypt-all.asc'
1003+ content_type : ' application/pgp-signature'
1004+ - command : s3.put
1005+ params :
1006+ role_arn : ${upload_arn}
1007+ skip_existing : true
1008+ remote_file : ' libmongocrypt/all/${tag_upload_location}/libmongocrypt-all.asc'
1009+ bucket : ${upload_bucket}
1010+ permissions : ${upload_permissions}
1011+ visibility : ${upload_visibility}
1012+ optional : true # Do not fail task if `local_file` does not exist. `local_file` only exists for tagged release.
1013+ display_name : ' libmongocrypt-all-${tag_upload_location}.asc'
1014+ local_file : ' libmongocrypt/libmongocrypt-all-${tag_upload_location}.asc'
1015+ content_type : ' application/pgp-signature'
1016+ - command : s3.put
1017+ params :
1018+ role_arn : ${upload_arn}
1019+ skip_existing : true
1020+ remote_file : ' libmongocrypt/all/latest/stable/libmongocrypt-all.asc'
1021+ bucket : ${upload_bucket}
1022+ permissions : ${upload_permissions}
1023+ visibility : ${upload_visibility}
1024+ optional : true # Do not fail task if `local_file` does not exist. `local_file` only exists for stable release.
1025+ display_name : ' stable/libmongocrypt-all-${tag_upload_location}.asc'
1026+ local_file : ' libmongocrypt/stable/libmongocrypt-all-${tag_upload_location}.asc'
1027+ content_type : ' application/pgp-signature'
1028+ - command : s3.put
1029+ params :
1030+ role_arn : ${upload_arn}
1031+ skip_existing : true
1032+ remote_file : ' libmongocrypt/all/latest/unstable/libmongocrypt-all.asc'
1033+ bucket : ${upload_bucket}
1034+ permissions : ${upload_permissions}
1035+ visibility : ${upload_visibility}
1036+ optional : true # Do not fail task if `local_file` does not exist. `local_file` only exists for unstable release.
1037+ display_name : ' unstable/libmongocrypt-all-${tag_upload_location}.asc'
1038+ local_file : ' libmongocrypt/unstable/libmongocrypt-all-${tag_upload_location}.asc'
1039+ content_type : ' application/pgp-signature'
1040+
9501041- name : publish-packages
9511042 depends_on : build-packages
9521043 commands :
@@ -1775,10 +1866,11 @@ buildvariants:
17751866 - ubuntu2004-small
17761867- name : publish
17771868 display_name : " Publish"
1778- run_on : ubuntu1804-test
1869+ run_on : ubuntu2404-latest-small
17791870 tasks :
17801871 - name : " upload-java"
17811872 - name : " upload-all"
1873+ - name : " sign-all"
17821874- name : packaging
17831875 display_name : " Linux Distro Packaging"
17841876 tasks : [.packaging]
0 commit comments