Skip to content

Commit 5824ee7

Browse files
authored
RUST-1921 Sign crate on release (#1095)
1 parent 241fe3d commit 5824ee7

File tree

4 files changed

+77
-29
lines changed

4 files changed

+77
-29
lines changed

.evergreen/release-build-papertrail-vars.sh

Lines changed: 0 additions & 18 deletions
This file was deleted.

.evergreen/release-build-vars.sh

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
#!/bin/bash
2+
3+
set -o errexit
4+
set -o pipefail
5+
6+
source ./.evergreen/env.sh
7+
8+
set +x
9+
10+
CRATE_VERSION=$(cargo metadata --format-version=1 --no-deps | jq --raw-output '.packages[0].version')
11+
12+
. ${DRIVERS_TOOLS}/.evergreen/secrets_handling/setup-secrets.sh drivers/rust
13+
rm secrets-export.sh
14+
15+
PAPERTRAIL_PRODUCT="rust-driver"
16+
if [[ "${DRY_RUN}" == "yes" ]]; then
17+
PAPERTRAIL_PRODUCT="rust-driver-testing"
18+
fi
19+
20+
cat <<EOT >release-expansion.yml
21+
CRATE_VERSION: "${CRATE_VERSION}"
22+
PAPERTRAIL_KEY_ID: "${PAPERTRAIL_KEY_ID}"
23+
PAPERTRAIL_SECRET_KEY: "${PAPERTRAIL_SECRET_KEY}"
24+
PAPERTRAIL_PRODUCT: "${PAPERTRAIL_PRODUCT}"
25+
ARTIFACTORY_USERNAME: "${ARTIFACTORY_USERNAME}"
26+
ARTIFACTORY_PASSWORD: "${ARTIFACTORY_PASSWORD}"
27+
GARASIGN_USERNAME: "${GARASIGN_USERNAME}"
28+
GARASIGN_PASSWORD: "${GARASIGN_PASSWORD}"
29+
EOT

.evergreen/release-sign.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
set -o errexit
4+
set +x
5+
6+
echo "${ARTIFACTORY_PASSWORD}" | docker login --password-stdin --username ${ARTIFACTORY_USERNAME} artifactory.corp.mongodb.com
7+
8+
echo "GRS_CONFIG_USER1_USERNAME=${GARASIGN_USERNAME}" >> "signing-envfile"
9+
echo "GRS_CONFIG_USER1_PASSWORD=${GARASIGN_PASSWORD}" >> "signing-envfile"
10+
11+
docker run \
12+
--env-file=signing-envfile \
13+
--rm \
14+
-v $(pwd):$(pwd) \
15+
-w $(pwd) \
16+
artifactory.corp.mongodb.com/release-tools-container-registry-local/garasign-gpg \
17+
/bin/bash -c "gpgloader && gpg --yes -v --armor -o mongodb-${CRATE_VERSION}.sig --detach-sign target/package/mongodb-${CRATE_VERSION}.crate"

.evergreen/releases.yml

Lines changed: 31 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -90,26 +90,27 @@ functions:
9090
args:
9191
- .evergreen/fetch-drivers-tools.sh
9292

93-
"build papertrail vars":
93+
"build vars":
94+
- command: ec2.assume_role
95+
params:
96+
role_arn: ${aws_test_secrets_role}
97+
9498
- command: subprocess.exec
9599
params:
96100
working_dir: src
97-
include_expansions_in_env:
98-
- DRIVERS_TOOLS
99-
- DRY_RUN
100-
- GIT_TAG
101+
add_expansions_to_env: true
101102
binary: bash
102103
args:
103-
- .evergreen/release-build-papertrail-vars.sh
104+
- .evergreen/release-build-vars.sh
104105

105106
- command: expansions.update
106107
params:
107-
file: src/papertrail-expansion.yml
108+
file: src/release-expansion.yml
108109

109110
- command: shell.exec
110111
params:
111112
working_dir: "src"
112-
script: rm papertrail-expansion.yml
113+
script: rm release-expansion.yml
113114

114115
"fetch tag":
115116
command: subprocess.exec
@@ -137,19 +138,38 @@ functions:
137138
key_id: ${PAPERTRAIL_KEY_ID}
138139
secret_key: ${PAPERTRAIL_SECRET_KEY}
139140
product: ${PAPERTRAIL_PRODUCT}
140-
version: ${GIT_TAG}
141+
version: ${CRATE_VERSION}
141142
filenames:
142-
- src/target/package/mongodb-*.crate
143+
- src/target/package/mongodb-${CRATE_VERSION}.crate
144+
145+
"sign release":
146+
- command: subprocess.exec
147+
params:
148+
working_dir: "src"
149+
include_expansions_in_env:
150+
- ARTIFACTORY_USERNAME
151+
- ARTIFACTORY_PASSWORD
152+
- GARASIGN_USERNAME
153+
- GARASIGN_PASSWORD
154+
- CRATE_VERSION
155+
binary: bash
156+
args:
157+
- .evergreen/release-sign.sh
158+
159+
"save signature":
160+
command: s3.push
143161

144162
tasks:
145163
- name: "publish-release"
146164
commands:
147165
- func: "fetch source"
148166
- func: "install dependencies"
149167
- func: "fetch tag"
150-
- func: "build papertrail vars"
168+
- func: "build vars"
151169
- func: "publish release"
152170
- func: "publish papertrail"
171+
- func: "sign release"
172+
- func: "save signature"
153173

154174
axes:
155175
- id: "os"

0 commit comments

Comments
 (0)