Skip to content

Commit 7495c10

Browse files
committed
(maint) skip mend if secrets are not set on forks
1 parent 0543c39 commit 7495c10

File tree

2 files changed

+78
-10
lines changed

2 files changed

+78
-10
lines changed

.github/workflows/mend_ruby.yml

+39-5
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,42 @@ name: mend
44

55
on:
66
workflow_call:
7+
inputs:
8+
api_key:
9+
default: ''
10+
type: string
11+
token:
12+
default: ''
13+
type: string
14+
product_name:
15+
default: 'content-and-tooling'
16+
type: string
717

8-
jobs:
18+
env:
19+
MEND_API_KEY: ${{ secrets.MEND_API_KEY != '' && secrets.MEND_API_KEY || inputs.api_key }}
20+
MEND_TOKEN: ${{ secrets.MEND_TOKEN != '' && secrets.MEND_TOKEN || inputs.token }}
21+
PRODUCT_NAME: ${{ inputs.PRODUCT_NAME != '' && inputs.PRODUCT_NAME || inputs.product_name }}
22+
REQUIRE_SECRETS: MEND_API_KEY MEND_TOKEN
923

24+
jobs:
1025
mend:
1126
runs-on: "ubuntu-latest"
27+
continue-on-error: ${{ contains(fromJson('["puppetlabs","puppet-toy-chest"]'), github.repository_owner) != true }}
1228
steps:
29+
- name: "check requirements"
30+
run: |
31+
declare -a MISSING
32+
for V in ${REQUIRE_SECRETS} ; do
33+
[[ -z "${!V}" ]] && MISSING+=($V)
34+
done
35+
if [ ${#MISSING[@]} -gt 0 ] ; then
36+
echo "::warning::missing required secrets: ${MISSING[@]}"
37+
exit 1
38+
fi
39+
1340
# If we are on a PR, checkout the PR head sha, else checkout the default branch
1441
- name: "Set the checkout ref"
42+
if: success()
1543
id: set_ref
1644
run: |
1745
if [[ "${{ github.event_name }}" == "pull_request_target" ]]; then
@@ -21,32 +49,38 @@ jobs:
2149
fi
2250
2351
- name: "checkout"
52+
if: success()
2453
uses: "actions/checkout@v4"
2554
with:
2655
fetch-depth: 1
2756
ref: ${{ steps.set_ref.outputs.ref }}
2857

2958
- name: "setup ruby"
59+
if: success()
3060
uses: "ruby/setup-ruby@v1"
3161
with:
3262
ruby-version: 2.7
3363

3464
- name: "bundle lock"
65+
if: success()
3566
run: bundle lock
3667

3768
- uses: "actions/setup-java@v4"
69+
if: success()
3870
with:
3971
distribution: "temurin"
4072
java-version: "17"
4173

4274
- name: "download"
75+
if: success()
4376
run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
4477

4578
- name: "scan"
79+
if: success()
4680
run: java -jar wss-unified-agent.jar
4781
env:
48-
WS_APIKEY: ${{ secrets.MEND_API_KEY }}
82+
WS_APIKEY: ${{ env.MEND_API_KEY }}
4983
WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
50-
WS_USERKEY: ${{ secrets.MEND_TOKEN }}
51-
WS_PRODUCTNAME: "content-and-tooling"
52-
WS_PROJECTNAME: ${{ github.event.repository.name }}
84+
WS_USERKEY: ${{ env.MEND_TOKEN }}
85+
WS_PRODUCTNAME: ${{ env.PRODUCT_NAME }}
86+
WS_PROJECTNAME: ${{ github.event.repository.name }}

.github/workflows/tooling_mend_ruby.yml

+39-5
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,42 @@ name: mend
44

55
on:
66
workflow_call:
7+
inputs:
8+
api_key:
9+
default: ''
10+
type: string
11+
token:
12+
default: ''
13+
type: string
14+
product_name:
15+
default: 'DevX'
16+
type: string
717

8-
jobs:
18+
env:
19+
MEND_API_KEY: ${{ secrets.MEND_API_KEY != '' && secrets.MEND_API_KEY || inputs.api_key }}
20+
MEND_TOKEN: ${{ secrets.MEND_TOKEN != '' && secrets.MEND_TOKEN || inputs.token }}
21+
PRODUCT_NAME: ${{ inputs.PRODUCT_NAME != '' && inputs.PRODUCT_NAME || inputs.product_name }}
22+
REQUIRE_SECRETS: MEND_API_KEY MEND_TOKEN
923

24+
jobs:
1025
mend:
1126
runs-on: "ubuntu-latest"
27+
continue-on-error: ${{ contains(fromJson('["puppetlabs","puppet-toy-chest"]'), github.repository_owner) != true }}
1228
steps:
29+
- name: "check requirements"
30+
run: |
31+
declare -a MISSING
32+
for V in ${REQUIRE_SECRETS} ; do
33+
[[ -z "${!V}" ]] && MISSING+=($V)
34+
done
35+
if [ ${#MISSING[@]} -gt 0 ] ; then
36+
echo "::warning::missing required secrets: ${MISSING[@]}"
37+
exit 1
38+
fi
39+
1340
# If we are on a PR, checkout the PR head sha, else checkout the default branch
1441
- name: "Set the checkout ref"
42+
if: success()
1543
id: set_ref
1644
run: |
1745
if [[ "${{ github.event_name }}" == "pull_request_target" ]]; then
@@ -21,32 +49,38 @@ jobs:
2149
fi
2250
2351
- name: "checkout"
52+
if: success()
2453
uses: "actions/checkout@v4"
2554
with:
2655
fetch-depth: 1
2756
ref: ${{ steps.set_ref.outputs.ref }}
2857

2958
- name: "setup ruby"
59+
if: success()
3060
uses: "ruby/setup-ruby@v1"
3161
with:
3262
ruby-version: 2.7
3363

3464
- name: "bundle lock"
65+
if: success()
3566
run: bundle lock
3667

3768
- uses: "actions/setup-java@v4"
69+
if: success()
3870
with:
3971
distribution: "temurin"
4072
java-version: "17"
4173

4274
- name: "download"
75+
if: success()
4376
run: curl -o wss-unified-agent.jar https://unified-agent.s3.amazonaws.com/wss-unified-agent.jar
4477

4578
- name: "scan"
79+
if: success()
4680
run: java -jar wss-unified-agent.jar
4781
env:
48-
WS_APIKEY: ${{ secrets.MEND_API_KEY }}
82+
WS_APIKEY: ${{ env.MEND_API_KEY }}
4983
WS_WSS_URL: https://saas-eu.whitesourcesoftware.com/agent
50-
WS_USERKEY: ${{ secrets.MEND_TOKEN }}
51-
WS_PRODUCTNAME: "DevX"
52-
WS_PROJECTNAME: ${{ github.event.repository.name }}
84+
WS_USERKEY: ${{ env.MEND_TOKEN }}
85+
WS_PRODUCTNAME: ${{ env.PRODUCT_NAME }}
86+
WS_PROJECTNAME: ${{ github.event.repository.name }}

0 commit comments

Comments
 (0)