Skip to content

Commit 3bee777

Browse files
authored
Set GOPROXY conditionally (#1356)
* add configure-goproxy action * update conditions * fix path to local action * add env vars * use with instead of env * fix path * use correct variable names * add url input * try check for zero length * fix condition * comparison with quotes * missing quotes * add goproxy to every ci job
1 parent 0e2f8fa commit 3bee777

File tree

2 files changed

+106
-4
lines changed

2 files changed

+106
-4
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: configure-goproxy
2+
author: s.breen
3+
description: Sets the current Go module proxy based on the presence of a private proxy URL in secrets
4+
inputs:
5+
user:
6+
description: Artifactory username secret name
7+
required: false
8+
default: ""
9+
token:
10+
description: Artifactory token secret name
11+
required: false
12+
default: ""
13+
url:
14+
description: Artifactory URL
15+
required: false
16+
default: ""
17+
runs:
18+
using: 'composite'
19+
steps:
20+
- name: Configure Go Proxy
21+
id: configure-goproxy
22+
shell: bash
23+
run: |
24+
if [[ -z "${{ inputs.user }}" ]] || \
25+
[[ -z "${{ inputs.token }}" ]] || \
26+
[[ -z "${{ inputs.url }}" ]] || \
27+
[[ "${{ github.event.pull_request.head.repo.fork }}" == 'true' ]] ||
28+
[[ "${{ startsWith(github.head_ref, 'dependabot-')}}" == 'true' ]] ; then
29+
echo "No Artifactory secrets available - using direct GOPROXY"
30+
GOPROXY_VALUE="direct"
31+
else
32+
echo "Development mode - using dev Artifactory"
33+
GOPROXY_VALUE="https://${{ inputs.user }}:${{ inputs.token }}@${{ inputs.url }}"
34+
fi
35+
echo "GOPROXY=${GOPROXY_VALUE}" >> $GITHUB_ENV
36+

.github/workflows/ci.yml

Lines changed: 70 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,15 @@ permissions:
2020

2121
env:
2222
NFPM_VERSION: 'v2.35.3'
23-
GOPROXY: "https://${{ secrets.ARTIFACTORY_USER }}:${{ secrets.ARTIFACTORY_TOKEN }}@azr.artifactory.f5net.com/artifactory/api/go/f5-nginx-go-dev"
23+
GOPROXY: "direct"
2424

2525
jobs:
2626
proxy-sanity-check:
2727
name: Proxy Sanity Check
2828
runs-on: ubuntu-22.04
2929
if: ${{ !github.event.pull_request.head.repo.fork && !startsWith(github.head_ref, 'dependabot-') }}
3030
env:
31-
GOPROXY: "https://${{ secrets.ARTIFACTORY_USER }}:${{ secrets.ARTIFACTORY_TOKEN }}@azr.artifactory.f5net.com/artifactory/api/go/f5-nginx-go-dev"
31+
GOPROXY: "https://${{ secrets.ARTIFACTORY_USER }}:${{ secrets.ARTIFACTORY_TOKEN }}@${{ secrets.ARTIFACTORY_URL_DEV }}"
3232
steps:
3333
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
3434
with:
@@ -46,6 +46,12 @@ jobs:
4646
runs-on: ubuntu-22.04
4747
steps:
4848
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
49+
- name: Configure Go Proxy
50+
uses: ./.github/actions/configure-goproxy
51+
with:
52+
user: ${{ secrets.ARTIFACTORY_USER }}
53+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
54+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
4955
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
5056
with:
5157
go-version-file: 'go.mod'
@@ -62,6 +68,12 @@ jobs:
6268
contents: write
6369
steps:
6470
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
71+
- name: Configure Go Proxy
72+
uses: ./.github/actions/configure-goproxy
73+
with:
74+
user: ${{ secrets.ARTIFACTORY_USER }}
75+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
76+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
6577
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
6678
with:
6779
go-version-file: 'go.mod'
@@ -79,6 +91,12 @@ jobs:
7991
runs-on: ubuntu-22.04
8092
steps:
8193
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
94+
- name: Configure Go Proxy
95+
uses: ./.github/actions/configure-goproxy
96+
with:
97+
user: ${{ secrets.ARTIFACTORY_USER }}
98+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
99+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
82100
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
83101
with:
84102
go-version-file: 'go.mod'
@@ -93,6 +111,12 @@ jobs:
93111
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
94112
with:
95113
fetch-tags: 'true'
114+
- name: Configure Go Proxy
115+
uses: ./.github/actions/configure-goproxy
116+
with:
117+
user: ${{ secrets.ARTIFACTORY_USER }}
118+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
119+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
96120
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
97121
with:
98122
go-version-file: 'go.mod'
@@ -124,6 +148,12 @@ jobs:
124148
version: "3.22"
125149
steps:
126150
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
151+
- name: Configure Go Proxy
152+
uses: ./.github/actions/configure-goproxy
153+
with:
154+
user: ${{ secrets.ARTIFACTORY_USER }}
155+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
156+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
127157
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
128158
with:
129159
go-version-file: 'go.mod'
@@ -168,6 +198,12 @@ jobs:
168198
version: "3.22"
169199
steps:
170200
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
201+
- name: Configure Go Proxy
202+
uses: ./.github/actions/configure-goproxy
203+
with:
204+
user: ${{ secrets.ARTIFACTORY_USER }}
205+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
206+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
171207
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
172208
with:
173209
go-version-file: 'go.mod'
@@ -219,6 +255,12 @@ jobs:
219255
release: "alpine"
220256
steps:
221257
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
258+
- name: Configure Go Proxy
259+
uses: ./.github/actions/configure-goproxy
260+
with:
261+
user: ${{ secrets.ARTIFACTORY_USER }}
262+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
263+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
222264
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
223265
with:
224266
go-version-file: 'go.mod'
@@ -280,6 +322,12 @@ jobs:
280322
path: "/nginx-plus/agent"
281323
steps:
282324
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
325+
- name: Configure Go Proxy
326+
uses: ./.github/actions/configure-goproxy
327+
with:
328+
user: ${{ secrets.ARTIFACTORY_USER }}
329+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
330+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
283331
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
284332
with:
285333
go-version-file: 'go.mod'
@@ -339,7 +387,13 @@ jobs:
339387
version: "mainline"
340388
release: "alpine"
341389
steps:
342-
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
390+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
391+
- name: Configure Go Proxy
392+
uses: ./.github/actions/configure-goproxy
393+
with:
394+
user: ${{ secrets.ARTIFACTORY_USER }}
395+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
396+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
343397
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
344398
with:
345399
go-version-file: 'go.mod'
@@ -400,7 +454,13 @@ jobs:
400454
release: "debian"
401455
path: "/nginx-plus/agent"
402456
steps:
403-
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
457+
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
458+
- name: Configure Go Proxy
459+
uses: ./.github/actions/configure-goproxy
460+
with:
461+
user: ${{ secrets.ARTIFACTORY_USER }}
462+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
463+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
404464
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
405465
with:
406466
go-version-file: 'go.mod'
@@ -446,6 +506,12 @@ jobs:
446506
contents: write
447507
steps:
448508
- uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
509+
- name: Configure Go Proxy
510+
uses: ./.github/actions/configure-goproxy
511+
with:
512+
user: ${{ secrets.ARTIFACTORY_USER }}
513+
token: ${{ secrets.ARTIFACTORY_TOKEN }}
514+
url: ${{ secrets.ARTIFACTORY_URL_DEV }}
449515
- uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
450516
with:
451517
go-version-file: 'go.mod'

0 commit comments

Comments
 (0)