Skip to content
This repository was archived by the owner on May 15, 2025. It is now read-only.

Commit 884bf54

Browse files
committed
Update workflows to support/block forks
Signed-off-by: Jade Carino <carino_jade@yahoo.co.uk>
1 parent 469711d commit 884bf54

File tree

2 files changed

+53
-17
lines changed

2 files changed

+53
-17
lines changed

.github/workflows/build.yml

Lines changed: 52 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212

1313
env:
1414
REGISTRY: ghcr.io
15-
NAMESPACE: galasa-dev
15+
NAMESPACE: ${{ github.repository_owner }}
1616
BRANCH: ${{ github.ref_name }}
1717

1818
jobs:
@@ -24,9 +24,20 @@ jobs:
2424
run: |
2525
echo "This workflow is running on GitHub ref ${{ env.BRANCH }}"
2626
27+
check-required-secrets-configured:
28+
name: Check required secrets configured
29+
uses: galasa-dev/galasa/.github/workflows/check-required-secrets-configured.yaml@main
30+
with:
31+
check_write_github_packages_username: 'true'
32+
check_write_github_packages_token: 'true'
33+
secrets:
34+
WRITE_GITHUB_PACKAGES_USERNAME: ${{ secrets.WRITE_GITHUB_PACKAGES_USERNAME }}
35+
WRITE_GITHUB_PACKAGES_TOKEN: ${{ secrets.WRITE_GITHUB_PACKAGES_TOKEN }}
36+
2737
build-cli:
2838
name: Build the Galasa CLI
2939
runs-on: ubuntu-latest
40+
needs: check-required-secrets-configured
3041

3142
steps:
3243
- name: Checkout CLI
@@ -59,7 +70,13 @@ jobs:
5970
# Generate client code so galasactl can communicate with the API server.
6071
- name: Generate Go client code using openapi.yaml
6172
run : |
62-
docker run --rm --user $(id -u):$(id -g) -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main java -jar /opt/openapi/openapi-generator-cli.jar generate -i /var/workspace/build/dependencies/openapi.yaml -g go -o /var/workspace/pkg/galasaapi --additional-properties=packageName=galasaapi --global-property=apiTests=false
73+
docker run --rm --user $(id -u):$(id -g) -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main \
74+
java -jar /opt/openapi/openapi-generator-cli.jar generate \
75+
-i /var/workspace/build/dependencies/openapi.yaml \
76+
-g go \
77+
-o /var/workspace/pkg/galasaapi \
78+
--additional-properties=packageName=galasaapi \
79+
--global-property=apiTests=false
6380
6481
# The generated code needs adjustment for various reasons.
6582
- name: Fix generated code
@@ -72,11 +89,13 @@ jobs:
7289

7390
- name: Clear go.mod
7491
run : |
75-
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main rm /var/workspace/pkg/galasaapi/go.mod
92+
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main \
93+
rm /var/workspace/pkg/galasaapi/go.mod
7694
7795
- name: Clear go.sum
7896
run : |
79-
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main rm /var/workspace/pkg/galasaapi/go.sum
97+
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/openapi:main \
98+
rm /var/workspace/pkg/galasaapi/go.sum
8099
81100
# The go code needs to know which version of Galasa it is part of, so substitute an eye-catcher with the correct value.
82101
- name: Update version
@@ -120,10 +139,13 @@ jobs:
120139

121140
- name: Login to Github Container Registry
122141
uses: docker/login-action@v3
142+
env:
143+
WRITE_GITHUB_PACKAGES_USERNAME: ${{ secrets.WRITE_GITHUB_PACKAGES_USERNAME }}
144+
WRITE_GITHUB_PACKAGES_TOKEN: ${{ secrets.WRITE_GITHUB_PACKAGES_TOKEN }}
123145
with:
124146
registry: ${{ env.REGISTRY }}
125-
username: ${{ secrets.WRITE_GITHUB_PACKAGES_USERNAME }}
126-
password: ${{ secrets.WRITE_GITHUB_PACKAGES_TOKEN }}
147+
username: ${{ env.WRITE_GITHUB_PACKAGES_USERNAME }}
148+
password: ${{ env.WRITE_GITHUB_PACKAGES_TOKEN }}
127149

128150
- name: Extract metadata for galasactl image
129151
id: metadata-galasactl
@@ -179,18 +201,28 @@ jobs:
179201
labels: ${{ steps.metadata-galasactl-executables.outputs.labels }}
180202

181203
- name: Recycle application in ArgoCD
204+
# Skip this step for forks
205+
if: ${{ github.repository_owner == 'galasa-dev' }}
182206
env:
183-
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
207+
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
184208
run: |
185-
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/argocdcli:main app actions run ${{ env.BRANCH }}-cli restart --kind Deployment --resource-name cli-${{ env.BRANCH }} --server argocd.galasa.dev
209+
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace \
210+
ghcr.io/galasa-dev/argocdcli:main app actions run ${{ env.BRANCH }}-cli restart \
211+
--kind Deployment --resource-name cli-${{ env.BRANCH }} --server argocd.galasa.dev
186212
187213
- name: Wait for application health in ArgoCD
214+
# Skip this step for forks
215+
if: ${{ github.repository_owner == 'galasa-dev' }}
188216
env:
189-
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
217+
ARGOCD_AUTH_TOKEN: ${{ secrets.ARGOCD_TOKEN }}
190218
run: |
191-
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/argocdcli:main app wait ${{ env.BRANCH }}-cli --resource apps:Deployment:cli-${{ env.BRANCH }} --health --server argocd.galasa.dev
219+
docker run --env ARGOCD_AUTH_TOKEN=${{ env.ARGOCD_AUTH_TOKEN }} --rm -v ${{ github.workspace }}:/var/workspace \
220+
ghcr.io/galasa-dev/argocdcli:main app wait ${{ env.BRANCH }}-cli \
221+
--resource apps:Deployment:cli-${{ env.BRANCH }} --health --server argocd.galasa.dev
192222
193223
build-galasactl-ibm-testing-image-and-trigger-tekton-pipeline:
224+
# Skip this job for forks
225+
if: ${{ github.repository_owner == 'galasa-dev' }}
194226
name: Build image containing galasactl, OpenJDK and Gradle for testing
195227
runs-on: ubuntu-latest
196228
needs: build-cli
@@ -201,10 +233,13 @@ jobs:
201233

202234
- name: Login to Github Container Registry
203235
uses: docker/login-action@v3
236+
env:
237+
WRITE_GITHUB_PACKAGES_USERNAME: ${{ secrets.WRITE_GITHUB_PACKAGES_USERNAME }}
238+
WRITE_GITHUB_PACKAGES_TOKEN: ${{ secrets.WRITE_GITHUB_PACKAGES_TOKEN }}
204239
with:
205240
registry: ${{ env.REGISTRY }}
206-
username: ${{ secrets.WRITE_GITHUB_PACKAGES_USERNAME }}
207-
password: ${{ secrets.WRITE_GITHUB_PACKAGES_TOKEN }}
241+
username: ${{ env.WRITE_GITHUB_PACKAGES_USERNAME }}
242+
password: ${{ env.WRITE_GITHUB_PACKAGES_TOKEN }}
208243

209244
- name: Extract metadata for galasactl-ibm-testing image
210245
id: meta
@@ -229,14 +264,17 @@ jobs:
229264
echo "The Tekton pipeline test-cli-ecosystem-commands should be triggered in the next 2-minutes - check the Tekton dashboard"
230265
231266
report-failure:
267+
# Skip this job for forks
268+
if: ${{ failure() && github.repository_owner == 'galasa-dev' }}
232269
name: Report failure in workflow
233270
runs-on: ubuntu-latest
234271
needs: [log-github-ref, build-cli, build-galasactl-ibm-testing-image-and-trigger-tekton-pipeline]
235-
if: failure()
236272

237273
steps:
238274
- name: Report failure in workflow to Slack
239275
env:
240276
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}
241277
run : |
242-
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/galasabld-ibm:main slackpost workflows --repo "cli" --workflowName "${{ github.workflow }}" --workflowRunNum "${{ github.run_id }}" --ref "${{ env.BRANCH }}" --hook "${{ env.SLACK_WEBHOOK }}"
278+
docker run --rm -v ${{ github.workspace }}:/var/workspace ghcr.io/galasa-dev/galasabld-ibm:main slackpost workflows \
279+
--repo "cli" --workflowName "${{ github.workflow }}" --workflowRunNum "${{ github.run_id }}" \
280+
--ref "${{ env.BRANCH }}" --hook "${{ env.SLACK_WEBHOOK }}"

.github/workflows/pr-build.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,6 @@ on:
1111

1212
env:
1313
REGISTRY: ghcr.io
14-
NAMESPACE: galasa-dev
15-
IMAGE_TAG: main
1614

1715
jobs:
1816
build-cli:
@@ -127,7 +125,7 @@ jobs:
127125
load: true
128126
tags: galasactl-ibm-x86_64:test
129127
build-args: |
130-
dockerRepository=ghcr.io
128+
dockerRepository=${{ env.REGISTRY }}
131129
tag=main
132130
133131
- name: Build Docker image for development download site

0 commit comments

Comments
 (0)