@@ -5,34 +5,45 @@ for i in *.deb; do
55 deb-s3 upload --bucket=$INFISICAL_BINARY_S3_BUCKET --prefix=deb --visibility=private --sign=$GPG_SIGNING_KEY_ID --preserve-versions $i
66done
77
8- # for i in *.rpm; do
9- # [ -f "$i" ] || break
10- #
11- # # strip out .amazon2023 suffix if present
12- # new_name=$(echo "$i" | sed 's/.amazon2023//g')
13- # if [ "$i" != "$new_name" ]; then
14- # mv "$i" "$new_name"
15- # fi
16- #
17- # #sign the rpm package
18- # rpmsign --addsign --key-id="$GPG_SIGNING_KEY_ID" "$new_name"
19- #
20- # aws s3 cp "$new_name" "s3://$INFISICAL_BINARY_S3_BUCKET/dummy/rpm/Packages/"
21- # done
22-
238for i in * .rpm; do
249 [ -f " $i " ] || break
25- # stripe of amazon2023
10+
11+ # strip out .amazon2023 suffix if present
2612 new_name=$( echo " $i " | sed ' s/.amazon2023//g' )
27- # rename
2813 if [ " $i " != " $new_name " ]; then
2914 mv " $i " " $new_name "
3015 fi
3116
32- cloudsmith push rpm --republish infisical/infisical-core/any-distro/any-version " $new_name "
17+ # sign the rpm package
18+ rpmsign --addsign --key-id=" $GPG_SIGNING_KEY_ID " " $new_name "
19+
20+ # upload signed package to S3
21+ aws s3 cp " $new_name " " s3://$INFISICAL_BINARY_S3_BUCKET /rpm/Packages/"
3322done
3423
35- # regenerate RPM repository metadata with rpmrepo-update
36- # if ls *.rpm 1> /dev/null 2>&1; then
37- # rpmrepo-update --backend s3 --repo-root s3://$INFISICAL_BINARY_S3_BUCKET/dummy/rpm --s3-region us-east-1 --sign-repodata --gpg-key "$GPG_SIGNING_KEY_ID" add *.rpm
38- # fi
24+ # regenerate RPM repository metadata with repogen
25+ if ls * .rpm 1> /dev/null 2>&1 ; then
26+ REPO_VERSION=" 40"
27+ REPO_ARCH=" x86_64"
28+
29+ # map S3 flat repodata into the versioned structure repogen expects
30+ mkdir -p " repo/${REPO_VERSION} /${REPO_ARCH} /repodata"
31+ aws s3 sync " s3://$INFISICAL_BINARY_S3_BUCKET /rpm/repodata" " repo/${REPO_VERSION} /${REPO_ARCH} /repodata" --delete
32+
33+ # export GPG private key for repogen
34+ GPG_KEY_FILE=$( mktemp)
35+ gpg --batch --pinentry-mode loopback --export-secret-keys --armor " $GPG_SIGNING_KEY_ID " > " $GPG_KEY_FILE "
36+
37+ # generate repo metadata incrementally
38+ repogen generate \
39+ --input-dir . \
40+ --output-dir repo \
41+ --incremental \
42+ --gpg-key " $GPG_KEY_FILE " \
43+ --gpg-passphrase " $GPG_SIGNING_KEY_PASSPHRASE "
44+
45+ rm -f " $GPG_KEY_FILE "
46+
47+ # sync the generated repodata back to the flat S3 structure
48+ aws s3 sync " repo/${REPO_VERSION} /${REPO_ARCH} /repodata" " s3://$INFISICAL_BINARY_S3_BUCKET /rpm/repodata"
49+ fi
0 commit comments