Skip to content

Commit 1ae80b3

Browse files
ciarams87amimimor
authored andcommitted
Add NFR workflow (nginx#1621)
* Add NFR workflow * Initial review feedback * Fix typos, update docs, and remove image builds unless plus
1 parent 6b65d2f commit 1ae80b3

File tree

12 files changed

+260
-24
lines changed

12 files changed

+260
-24
lines changed

.github/workflows/nfr.yml

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
name: Non Functional Testing
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
test_label:
7+
description: NFR test to run. Choose between performance, upgrade, or all
8+
required: true
9+
default: all
10+
type: choice
11+
options: [performance, upgrade, all]
12+
version:
13+
description: Version of NGF under test
14+
required: true
15+
default: edge
16+
image_tag:
17+
description: Tag of the NGF and NGINX Docker images
18+
required: true
19+
default: edge
20+
nginx_plus:
21+
description: Run tests with NGINX Plus
22+
required: false
23+
default: false
24+
type: boolean
25+
26+
defaults:
27+
run:
28+
shell: bash
29+
30+
concurrency:
31+
group: ${{ github.ref_name }}-nfr
32+
cancel-in-progress: true
33+
34+
permissions:
35+
contents: read
36+
37+
jobs:
38+
setup-and-run-tests:
39+
name: Setup and Run NFR Tests
40+
runs-on: ubuntu-22.04
41+
permissions:
42+
contents: write # needed for opening PR with the results files
43+
pull-requests: write # needed for opening PR with the results files
44+
45+
steps:
46+
- name: Checkout Repository
47+
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
48+
49+
- name: Setup Golang Environment
50+
uses: actions/setup-go@0c52d547c9bc32b1aa3301fd7a9cb496313a4491 # v5.0.0
51+
with:
52+
go-version: stable
53+
54+
- name: Set GOPATH
55+
run: echo "GOPATH=$(go env GOPATH)" >> $GITHUB_ENV
56+
57+
- name: Docker Buildx
58+
if: ${{ inputs.nginx_plus == true }}
59+
uses: docker/setup-buildx-action@f95db51fddba0c2d1ec667646a06c2ce06100226 # v3.0.0
60+
61+
- name: NGINX Docker meta
62+
id: nginx-meta
63+
if: ${{ inputs.nginx_plus == true }}
64+
uses: docker/metadata-action@8e5442c4ef9f78752691e2d8f8d19755c6f78e81 # v5.5.1
65+
with:
66+
images: |
67+
name=gcr.io/${{ secrets.GCP_PROJECT_ID }}/ngf-nfr/nginx-gateway-fabric/nginx-plus
68+
tags: |
69+
type=raw,value=${{ inputs.image_tag }}
70+
71+
- name: Authenticate to Google Cloud
72+
id: auth
73+
uses: google-github-actions/auth@a6e2e39c0a0331da29f7fd2c2a20a427e8d3ad1f # v2.1.1
74+
with:
75+
token_format: access_token
76+
workload_identity_provider: ${{ secrets.GCP_WORKLOAD_IDENTITY }}
77+
service_account: ${{ secrets.GCP_SERVICE_ACCOUNT }}
78+
79+
- name: Set up Cloud SDK
80+
uses: google-github-actions/setup-gcloud@98ddc00a17442e89a24bbf282954a3b65ce6d200 # v2.1.0
81+
with:
82+
project_id: ${{ secrets.GCP_PROJECT_ID }}
83+
install_components: kubectl
84+
85+
- name: Login to GCR
86+
if: ${{ inputs.nginx_plus == true }}
87+
run: gcloud auth configure-docker gcr.io -q
88+
89+
- name: Build NGINX Plus Docker Image
90+
if: ${{ inputs.nginx_plus == true }}
91+
uses: docker/build-push-action@4a13e500e55cf31b7a5d59a38ab2040ab0f42f56 # v5.1.0
92+
with:
93+
file: build/Dockerfile.nginxplus
94+
tags: ${{ steps.nginx-meta.outputs.tags }}
95+
context: "."
96+
platforms: linux/amd64
97+
provenance: false
98+
pull: true
99+
push: true
100+
build-args: |
101+
NJS_DIR=internal/mode/static/nginx/modules/src
102+
NGINX_CONF_DIR=internal/mode/static/nginx/conf
103+
BUILD_AGENT=gha
104+
secrets: |
105+
${{ format('"nginx-repo.crt={0}"', secrets.NGINX_CRT) }}
106+
${{ format('"nginx-repo.key={0}"', secrets.NGINX_KEY) }}
107+
108+
- name: Setup dotenv file
109+
working-directory: ./tests/scripts
110+
run: |
111+
echo "RESOURCE_NAME=nfr-tests-${{ github.run_id }}" >> vars.env
112+
echo "TAG=${{ inputs.image_tag }}" >> vars.env
113+
echo "PREFIX=ghcr.io/nginxinc/nginx-gateway-fabric" >> vars.env
114+
echo "NGINX_PREFIX=ghcr.io/nginxinc/nginx-gateway-fabric/nginx" >> vars.env
115+
echo "NGINX_PLUS_PREFIX=gcr.io/${{ secrets.GCP_PROJECT_ID }}/ngf-nfr/nginx-gateway-fabric/nginx-plus" >> vars.env
116+
echo "GKE_CLUSTER_NAME=nfr-tests-${{ github.run_id }}" >> vars.env
117+
echo "GKE_CLUSTER_ZONE=us-east1-b" >> vars.env
118+
echo "GKE_CLUSTER_REGION=us-east1" >> vars.env
119+
echo "GKE_PROJECT=${{ secrets.GCP_PROJECT_ID }}" >> vars.env
120+
echo "GKE_SVC_ACCOUNT=${{ secrets.GCP_SERVICE_ACCOUNT }}" >> vars.env
121+
echo "GKE_NODES_SERVICE_ACCOUNT=${{ secrets.GKE_NODES_SERVICE_ACCOUNT }}" >> vars.env
122+
echo "IMAGE=projects/debian-cloud/global/images/debian-11-bullseye-v20240213" >> vars.env
123+
echo "NETWORK_TAGS=nfr-tests-${{ github.run_id }}" >> vars.env
124+
echo "NGF_REPO=nginxinc" >> vars.env
125+
echo "NGF_BRANCH=${{ github.ref_name }}" >> vars.env
126+
echo "SOURCE_IP_RANGE=$(curl -sS -4 icanhazip.com)/32" >> vars.env
127+
echo "ADD_VM_IP_AUTH_NETWORKS=true" >> vars.env
128+
echo "PLUS_ENABLED=${{ inputs.nginx_plus }}" >> vars.env
129+
echo "GINKGO_LABEL=" >> vars.env
130+
echo "NGF_VERSION=${{ inputs.version }}" >> vars.env
131+
132+
- name: Create GKE cluster
133+
working-directory: ./tests
134+
run:
135+
make create-gke-cluster
136+
137+
- name: Create and setup VM
138+
working-directory: ./tests
139+
run:
140+
make create-and-setup-vm
141+
142+
- name: Run Tests
143+
working-directory: ./tests
144+
run: |
145+
if ${{ inputs.test_label != 'all' }}; then
146+
sed -i '/^GINKGO_LABEL=/s/=.*/="${{ inputs.test_label }}"/' "scripts/vars.env" && make run-tests-on-vm;
147+
else
148+
make run-tests-on-vm;
149+
fi
150+
151+
- name: Cleanup
152+
working-directory: ./tests
153+
if: always()
154+
run: |
155+
bash scripts/cleanup-vm.sh true
156+
make delete-gke-cluster
157+
rm -rf scripts/vars.env
158+
159+
- name: Open a PR with the results
160+
uses: peter-evans/create-pull-request@a4f52f8033a6168103c2538976c07b467e8163bc # v6.0.1
161+
with:
162+
commit-message: NFR Test Results for NGF version ${{ inputs.version }}
163+
author: ${{ github.actor }} <${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com>
164+
branch: tests/nfr-tests-${{ inputs.version }}
165+
delete-branch: true
166+
title: NFR Test Results for NGF version ${{ inputs.version }}
167+
body: |
168+
Update with NFR test results for NGF version ${{ inputs.version }}
169+
- Auto-generated by the NFR tests workflow run ${{ github.run_id }}
170+
- Tests ran using Docker image tag ${{ inputs.image_tag }}
171+
- ${{ inputs.test_label }} test(s) ran
172+
- NGINX Plus enabled: ${{ inputs.nginx_plus }}
173+
labels: |
174+
tests
175+
assignees: ${{ github.actor }}
176+
draft: true

docs/developer/release-process.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@ To create a new release, follow these steps:
2828
format `Release X.Y.Z`.
2929
2. Stop merging any new work into the main branch.
3030
3. Test the main branch for release-readiness. For that, use the `edge` containers, which are built from the main
31-
branch, and the [example applications](/examples).
31+
branch, and run the following:
32+
1. Run the [example applications](/examples) manually and verify their correctness.
33+
2. Kick off the [NFR workflow](https://github.com/nginxinc/nginx-gateway-fabric/actions/nfr.yml) in the browser. For `image_tag`, use `edge`, and for `version`, use the upcoming `X.Y.Z` NGF version. This will run all of the NFR tests which are automated and open a PR with the results files when it is complete. Review this PR and make any necessary changes before merging.
3234
4. If a problem is found, prepare a fix PR, merge it into the main branch and return to the previous step.
3335
5. If the supported Gateway API minor version has changed since the last release, test NGINX Gateway Fabric with the previous version of the Gateway API CRDs.
3436
6. If a compatibility issue is found, add a note to the release notes explaining that the previous version is not supported.

tests/Makefile

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ GW_SERVICE_TYPE=NodePort
1111
GW_SVC_GKE_INTERNAL=false
1212
GINKGO_LABEL=
1313
GINKGO_FLAGS=
14+
NGF_VERSION=
1415

1516
ifneq ($(GINKGO_LABEL),)
1617
override GINKGO_FLAGS += -ginkgo.label-filter "$(GINKGO_LABEL)"
@@ -48,9 +49,10 @@ load-images-with-plus: ## Load NGF and NGINX Plus images on configured kind clus
4849

4950
test: ## Run the system tests against your default k8s cluster
5051
go test -v ./suite $(GINKGO_FLAGS) -args --gateway-api-version=$(GW_API_VERSION) \
51-
--gateway-api-prev-version=$(GW_API_PREV_VERSION) --image-tag=$(TAG) --plus-enabled=$(PLUS_ENABLED) \
52-
--ngf-image-repo=$(PREFIX) --nginx-image-repo=$(NGINX_PREFIX) --pull-policy=$(PULL_POLICY) \
53-
--k8s-version=$(K8S_VERSION) --service-type=$(GW_SERVICE_TYPE) --is-gke-internal-lb=$(GW_SVC_GKE_INTERNAL)
52+
--gateway-api-prev-version=$(GW_API_PREV_VERSION) --image-tag=$(TAG) --version-under-test=$(NGF_VERSION) \
53+
--plus-enabled=$(PLUS_ENABLED) --ngf-image-repo=$(PREFIX) --nginx-image-repo=$(NGINX_PREFIX) \
54+
--pull-policy=$(PULL_POLICY) --k8s-version=$(K8S_VERSION) --service-type=$(GW_SERVICE_TYPE) \
55+
--is-gke-internal-lb=$(GW_SVC_GKE_INTERNAL)
5456

5557
.PHONY: delete-kind-cluster
5658
delete-kind-cluster: ## Delete kind cluster
@@ -80,4 +82,12 @@ cleanup-router: ## Delete the GKE router
8082
setup-gcp-and-run-tests: create-gke-router create-and-setup-vm run-tests-on-vm ## Create and setup a GKE router and GCP VM for tests and run the tests
8183

8284
.PHONY: cleanup-gcp
83-
cleanup-gcp: cleanup-router cleanup-vm ## Cleanup all GCP resources
85+
cleanup-gcp: cleanup-router cleanup-vm delete-gke-cluster ## Cleanup all GCP resources
86+
87+
.PHONY: create-gke-cluster
88+
create-gke-cluster: ## Create a GKE cluster
89+
bash scripts/create-gke-cluster.sh
90+
91+
.PHONY: delete-gke-cluster
92+
delete-gke-cluster: ## Delete the GKE cluster
93+
bash scripts/delete-gke-cluster.sh

tests/README.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,19 @@ make
3737
```
3838

3939
```text
40+
build-images-with-plus Build NGF and NGINX Plus images
4041
build-images Build NGF and NGINX images
4142
cleanup-gcp Cleanup all GCP resources
4243
cleanup-router Delete the GKE router
4344
cleanup-vm Delete the test GCP VM and delete the firewall rule
4445
create-and-setup-vm Create and setup a GCP VM for tests
46+
create-gke-cluster Create a GKE cluster
4547
create-gke-router Create a GKE router to allow egress traffic from private nodes (allows for external image pulls)
4648
create-kind-cluster Create a kind cluster
49+
delete-gke-cluster Delete the GKE cluster
4750
delete-kind-cluster Delete kind cluster
4851
help Display this help
52+
load-images-with-plus Load NGF and NGINX Plus images on configured kind cluster
4953
load-images Load NGF and NGINX images on configured kind cluster
5054
run-tests-on-vm Run the tests on a GCP VM
5155
setup-gcp-and-run-tests Create and setup a GKE router and GCP VM for tests and run the tests
@@ -71,7 +75,9 @@ test Run the system tests against your default k8s clu
7175

7276
## Step 1 - Create a Kubernetes cluster
7377

74-
This can be done in a cloud provider of choice, or locally using `kind`:
78+
This can be done in a cloud provider of choice, or locally using `kind`.
79+
80+
To create a local `kind` cluster:
7581

7682
```makefile
7783
make create-kind-cluster
@@ -84,6 +90,17 @@ make create-kind-cluster
8490
make create-kind-cluster KIND_IMAGE=kindest/node:v1.27.3
8591
```
8692

93+
To create a GKE cluster:
94+
95+
Before running the below `make` command, copy the `scripts/vars.env-example` file to `scripts/vars.env` and populate the
96+
required env vars. `GKE_SVC_ACCOUNT` needs to be the name of a service account that has Kubernetes admin permissions,
97+
and `GKE_NODES_SERVICE_ACCOUNT` needs to be the name of a service account that has `Artifact Registry Reader`,
98+
`Kubernetes Engine Node Service Account` and `Monitoring Viewer` permissions.
99+
100+
```makefile
101+
make create-gke-cluster
102+
```
103+
87104
## Step 2 - Build and Load Images
88105

89106
Loading the images only applies to a `kind` cluster. If using a cloud provider, you will need to tag and push
@@ -115,7 +132,7 @@ make test TAG=$(whoami) PLUS_ENABLED=true
115132

116133
### 3b - Run the tests on a GKE cluster from a GCP VM
117134

118-
This step only applies if you would like to run the tests from a GCP based VM.
135+
This step only applies if you would like to run the tests on a GKE cluster from a GCP based VM.
119136

120137
Before running the below `make` command, copy the `scripts/vars.env-example` file to `scripts/vars.env` and populate the
121138
required env vars. `GKE_SVC_ACCOUNT` needs to be the name of a service account that has Kubernetes admin permissions.
@@ -205,7 +222,7 @@ For more information of filtering specs, see [the docs here](https://onsi.github
205222
make delete-kind-cluster
206223
```
207224

208-
2. Delete the GCP components (GKE router, VM, and firewall rule), if required
225+
2. Delete the GCP components (GKE cluster, GKE router, VM, and firewall rule), if required
209226

210227
```makefile
211228
make cleanup-gcp
@@ -220,3 +237,7 @@ For more information of filtering specs, see [the docs here](https://onsi.github
220237
```makefile
221238
make cleanup-vm
222239
```
240+
241+
```makefile
242+
make delete-gke-cluster
243+
```

tests/scripts/cleanup-vm.sh

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,15 @@
22

33
source scripts/vars.env
44

5+
skip_gke_master_control_node_access="${1:-false}"
6+
57
# Remove VM IP from GKE master control node access, if required
6-
if [ "${ADD_VM_IP_AUTH_NETWORKS}" = "true" ]; then
7-
EXTERNAL_IP=$(gcloud compute instances describe ${RESOURCE_NAME} --project=${GKE_PROJECT} --zone=${GKE_CLUSTER_ZONE} \
8+
if [ ${ADD_VM_IP_AUTH_NETWORKS} = "true" ] && [ ${skip_gke_master_control_node_access} != "true" ]; then
9+
EXTERNAL_IP=$(gcloud compute instances describe ${RESOURCE_NAME} --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} --zone=${GKE_CLUSTER_ZONE} \
810
--format='value(networkInterfaces[0].accessConfigs[0].natIP)')
9-
CURRENT_AUTH_NETWORK=$(gcloud container clusters describe ${GKE_CLUSTER_NAME} \
11+
CURRENT_AUTH_NETWORK=$(gcloud container clusters describe ${GKE_CLUSTER_NAME} --zone ${GKE_CLUSTER_ZONE} \
1012
--format="value(masterAuthorizedNetworksConfig.cidrBlocks[0])" | sed 's/cidrBlock=//')
11-
gcloud container clusters update ${GKE_CLUSTER_NAME} --enable-master-authorized-networks --master-authorized-networks=${CURRENT_AUTH_NETWORK}
13+
gcloud container clusters update ${GKE_CLUSTER_NAME} --zone ${GKE_CLUSTER_ZONE} --enable-master-authorized-networks --master-authorized-networks=${CURRENT_AUTH_NETWORK}
1214
fi
1315

1416
gcloud compute instances delete ${RESOURCE_NAME} --quiet --project=${GKE_PROJECT} --zone=${GKE_CLUSTER_ZONE}

tests/scripts/create-and-setup-gcp-vm.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,17 +24,17 @@ gcloud compute instances create ${RESOURCE_NAME} --project=${GKE_PROJECT} --zone
2424
if [ "${ADD_VM_IP_AUTH_NETWORKS}" = "true" ]; then
2525
EXTERNAL_IP=$(gcloud compute instances describe ${RESOURCE_NAME} --project=${GKE_PROJECT} --zone=${GKE_CLUSTER_ZONE} \
2626
--format='value(networkInterfaces[0].accessConfigs[0].natIP)')
27-
CURRENT_AUTH_NETWORK=$(gcloud container clusters describe ${GKE_CLUSTER_NAME} \
27+
CURRENT_AUTH_NETWORK=$(gcloud container clusters describe ${GKE_CLUSTER_NAME} --zone=${GKE_CLUSTER_ZONE} \
2828
--format="value(masterAuthorizedNetworksConfig.cidrBlocks[0])" | sed 's/cidrBlock=//')
29-
gcloud container clusters update ${GKE_CLUSTER_NAME} --enable-master-authorized-networks --master-authorized-networks=${CURRENT_AUTH_NETWORK},${EXTERNAL_IP}/32
29+
gcloud container clusters update ${GKE_CLUSTER_NAME} --zone=${GKE_CLUSTER_ZONE} --enable-master-authorized-networks --master-authorized-networks=${EXTERNAL_IP}/32,${CURRENT_AUTH_NETWORK}
3030
fi
3131

3232
# Poll for SSH connectivity
33-
MAX_RETRIES=30
34-
RETRY_INTERVAL=10
33+
MAX_RETRIES=10
34+
RETRY_INTERVAL=5
3535
for ((i=1; i<=MAX_RETRIES; i++)); do
3636
echo "Attempt $i to connect to the VM..."
37-
gcloud compute ssh ${RESOURCE_NAME} --zone=${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} --quiet --command="echo 'VM is ready'"
37+
gcloud compute ssh username@${RESOURCE_NAME} --zone=${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} --quiet --command="echo 'VM is ready'"
3838
if [ $? -eq 0 ]; then
3939
echo "SSH connection successful. VM is ready."
4040
break
@@ -43,6 +43,6 @@ for ((i=1; i<=MAX_RETRIES; i++)); do
4343
sleep ${RETRY_INTERVAL}
4444
done
4545

46-
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${SCRIPT_DIR}/vars.env ${RESOURCE_NAME}:~
46+
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${SCRIPT_DIR}/vars.env username@${RESOURCE_NAME}:~
4747

48-
gcloud compute ssh --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${RESOURCE_NAME} --command="bash -s" < ${SCRIPT_DIR}/remote-scripts/install-deps.sh
48+
gcloud compute ssh --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} username@${RESOURCE_NAME} --command="bash -s" < ${SCRIPT_DIR}/remote-scripts/install-deps.sh

tests/scripts/create-gke-cluster.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
3+
source scripts/vars.env
4+
5+
ip_random_digit=$((1 + $RANDOM % 250))
6+
7+
gcloud container clusters create ${GKE_CLUSTER_NAME} \
8+
--project ${GKE_PROJECT} \
9+
--zone ${GKE_CLUSTER_ZONE} \
10+
--enable-master-authorized-networks \
11+
--enable-ip-alias \
12+
--service-account ${GKE_NODES_SERVICE_ACCOUNT} \
13+
--enable-private-nodes \
14+
--master-ipv4-cidr 172.16.${ip_random_digit}.32/28 \
15+
--metadata=block-project-ssh-keys=TRUE

tests/scripts/delete-gke-cluster.sh

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#!/bin/bash
2+
3+
source scripts/vars.env
4+
5+
gcloud container clusters delete ${GKE_CLUSTER_NAME} --zone ${GKE_CLUSTER_ZONE} --project ${GKE_PROJECT} --quiet

tests/scripts/remote-scripts/run-tests.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ source ~/vars.env
66

77
echo "export PATH=$PATH:/usr/local/go/bin" >> $HOME/.profile && . $HOME/.profile
88

9-
cd nginx-gateway-fabric/tests && make test TAG=${TAG} PREFIX=${PREFIX} NGINX_PREFIX=${NGINX_PREFIX} NGINX_PLUS_PREFIX=${NGINX_PLUS_PREFIX} PLUS_ENABLED=${PLUS_ENABLED} GINKGO_LABEL=${GINKGO_LABEL} GINKGO_FLAGS=${GINKGO_FLAGS} PULL_POLICY=Always GW_SERVICE_TYPE=LoadBalancer GW_SVC_GKE_INTERNAL=true
9+
cd nginx-gateway-fabric/tests && make test TAG=${TAG} PREFIX=${PREFIX} NGINX_PREFIX=${NGINX_PREFIX} NGINX_PLUS_PREFIX=${NGINX_PLUS_PREFIX} PLUS_ENABLED=${PLUS_ENABLED} GINKGO_LABEL=${GINKGO_LABEL} GINKGO_FLAGS=${GINKGO_FLAGS} PULL_POLICY=Always GW_SERVICE_TYPE=LoadBalancer GW_SVC_GKE_INTERNAL=true NGF_VERSION=${NGF_VERSION}

tests/scripts/run-tests-gcp-vm.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
44

55
source scripts/vars.env
66

7-
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${SCRIPT_DIR}/vars.env ${RESOURCE_NAME}:~
7+
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${SCRIPT_DIR}/vars.env username@${RESOURCE_NAME}:~
88

9-
gcloud compute ssh --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} ${RESOURCE_NAME} --command="bash -s" < ${SCRIPT_DIR}/remote-scripts/run-tests.sh
9+
gcloud compute ssh --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} username@${RESOURCE_NAME} --command="bash -s" < ${SCRIPT_DIR}/remote-scripts/run-tests.sh
1010

11-
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} --recurse ${RESOURCE_NAME}:~/nginx-gateway-fabric/tests/results .
11+
gcloud compute scp --zone ${GKE_CLUSTER_ZONE} --project=${GKE_PROJECT} --recurse username@${RESOURCE_NAME}:~/nginx-gateway-fabric/tests/results .

0 commit comments

Comments
 (0)