Skip to content

Commit a0296ff

Browse files
committed
Replace jfrog/setup-jfrog-cli with OIDC token exchange in goreleaser job
Use the same JFrog OIDC token acquisition as python-wheel. Configure Go via GOPROXY and .netrc instead of jf CLI. This removes the dependency on the jfrog GitHub action. Co-authored-by: Isaac
1 parent 0aa2968 commit a0296ff

1 file changed

Lines changed: 31 additions & 10 deletions

File tree

.github/workflows/release-build.yml

Lines changed: 31 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,35 @@ jobs:
2828
fetch-depth: 0
2929
fetch-tags: true
3030

31-
- name: Setup JFrog CLI with OIDC
32-
uses: jfrog/setup-jfrog-cli@279b1f629f43dd5bc658d8361ac4802a7ef8d2d5 # v4.9.1
33-
env:
34-
JF_URL: https://databricks.jfrog.io
35-
with:
36-
oidc-provider-name: github-actions
31+
- name: Get JFrog OIDC token
32+
run: |
33+
set -euo pipefail
34+
# Exchange GitHub OIDC token for JFrog access token.
35+
ID_TOKEN=$(curl -sLS \
36+
-H "User-Agent: actions/oidc-client" \
37+
-H "Authorization: Bearer $ACTIONS_ID_TOKEN_REQUEST_TOKEN" \
38+
"${ACTIONS_ID_TOKEN_REQUEST_URL}&audience=jfrog-github" | jq -r .value)
39+
echo "::add-mask::${ID_TOKEN}"
40+
ACCESS_TOKEN=$(curl -sLS -XPOST -H "Content-Type: application/json" \
41+
"https://databricks.jfrog.io/access/api/v1/oidc/token" \
42+
-d "{\"grant_type\": \"urn:ietf:params:oauth:grant-type:token-exchange\", \"subject_token_type\":\"urn:ietf:params:oauth:token-type:id_token\", \"subject_token\": \"${ID_TOKEN}\", \"provider_name\": \"github-actions\"}" | jq -r .access_token)
43+
echo "::add-mask::${ACCESS_TOKEN}"
44+
if [ -z "$ACCESS_TOKEN" ] || [ "$ACCESS_TOKEN" = "null" ]; then
45+
echo "FAIL: Could not extract JFrog access token"
46+
exit 1
47+
fi
48+
echo "JFROG_ACCESS_TOKEN=${ACCESS_TOKEN}" >> "$GITHUB_ENV"
49+
50+
- name: Configure Go to use JFrog proxy
51+
run: |
52+
echo "GOPROXY=https://databricks.jfrog.io/artifactory/api/go/db-golang,direct" >> "$GITHUB_ENV"
53+
echo "GONOSUMDB=*" >> "$GITHUB_ENV"
54+
cat > ~/.netrc << EOF
55+
machine databricks.jfrog.io
56+
login gha-service-account
57+
password ${JFROG_ACCESS_TOKEN}
58+
EOF
59+
chmod 600 ~/.netrc
3760
3861
- name: Setup Go
3962
uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # v6.3.0
@@ -43,10 +66,8 @@ jobs:
4366
go.sum
4467
.goreleaser-release.yaml
4568
46-
- name: Download Go modules via JFrog
47-
run: |
48-
jf goc --repo-resolve=db-golang
49-
jf go mod download
69+
- name: Download Go modules
70+
run: go mod download
5071

5172
- name: Setup Java
5273
uses: actions/setup-java@c1e323688fd81a25caa38c78aa6df2d33d3e20d9 # v4.8.0

0 commit comments

Comments
 (0)