Skip to content

Commit 3d6dce0

Browse files
authored
Fix k8s test fixture (#274)
#271 broke the tests because GitHub won't allow users to pass a secret between jobs. 🤦🏼‍♂️
1 parent 6f58c9f commit 3d6dce0

File tree

1 file changed

+49
-59
lines changed

1 file changed

+49
-59
lines changed

.github/workflows/smoke.yml

Lines changed: 49 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -10,61 +10,14 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- run: echo ✓
13-
start:
14-
needs: authorize
15-
runs-on: ubuntu-latest
16-
timeout-minutes: 30
17-
outputs:
18-
kubeconfig: ${{ steps.cluster.outputs.kubeconfig }}
19-
steps:
20-
- id: cluster
21-
run: |
22-
az login \
23-
--service-principal \
24-
--user="$AZURE_CLIENT_ID" \
25-
--password="$AZURE_CLIENT_SECRET" \
26-
--tenant="$AZURE_TENANT_ID"
27-
az account set \
28-
--subscription="$AZURE_SUBSCRIPTION_ID"
29-
az extension add \
30-
--name=aks-preview
31-
az provider register \
32-
--namespace=Microsoft.ContainerService
33-
az feature register \
34-
--namespace=Microsoft.ContainerService \
35-
--name=GPUDedicatedVHDPreview
36-
az group create \
37-
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
38-
--location=eastus
39-
az aks create \
40-
--resource-group="tpiSmokeTestCluster$GITHUB_RUN_ID" \
41-
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
42-
--node-vm-size=Standard_NC6 \
43-
--node-count=1 \
44-
--aks-custom-headers=UseGPUDedicatedVHD=true \
45-
--generate-ssh-keys
46-
az aks get-credentials \
47-
--resource-group="tpiSmokeTestCluster$GITHUB_RUN_ID" \
48-
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
49-
--file - |
50-
perl -0777p \
51-
-e 's/%/%25/g;' \
52-
-e 's/\n/%0A/g;' \
53-
-e 's/\r/%0D/g;' \
54-
-e 's/(.+)/::add-mask::\1\n::set-output name=kubeconfig::\1\n/g'
55-
env:
56-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
57-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
58-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
59-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
6013
test:
61-
needs: start
14+
needs: authorize
6215
runs-on: ubuntu-latest
6316
timeout-minutes: 60
6417
strategy:
6518
fail-fast: false
6619
matrix:
67-
provider: [AWS, AZ, GCP, K8S]
20+
provider: [AWS, AZ, GCP]
6821
env:
6922
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
7023
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
@@ -74,8 +27,6 @@ jobs:
7427
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
7528
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
7629
GOOGLE_APPLICATION_CREDENTIALS_DATA: ${{ secrets.GOOGLE_APPLICATION_CREDENTIALS_DATA }}
77-
KUBECONFIG_DATA: ${{ needs.start.outputs.kubeconfig }}
78-
SMOKE_TEST_IDENTIFIER: smoke test ${{ github.run_id }}
7930
SMOKE_TEST_ENABLE_${{ matrix.provider }}: true
8031
steps:
8132
- uses: actions/checkout@v2
@@ -91,12 +42,20 @@ jobs:
9142
run: go test ./task -v -timeout=30m -count=1
9243
env:
9344
SMOKE_TEST_SWEEP: true
94-
stop:
95-
if: always()
96-
needs: test
45+
test-k8s:
46+
needs: authorize
9747
runs-on: ubuntu-latest
9848
timeout-minutes: 30
49+
env:
50+
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
51+
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
52+
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
53+
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
9954
steps:
55+
- uses: actions/checkout@v2
56+
- uses: actions/setup-go@v2
57+
with:
58+
go-version: ^1.17
10059
- run: |
10160
az login \
10261
--service-principal \
@@ -105,11 +64,42 @@ jobs:
10564
--tenant="$AZURE_TENANT_ID"
10665
az account set \
10766
--subscription="$AZURE_SUBSCRIPTION_ID"
67+
- id: cluster
68+
run: |
69+
az extension add \
70+
--name=aks-preview
71+
az provider register \
72+
--namespace=Microsoft.ContainerService
73+
az feature register \
74+
--namespace=Microsoft.ContainerService \
75+
--name=GPUDedicatedVHDPreview
76+
az group create \
77+
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
78+
--location=eastus
79+
az aks create \
80+
--resource-group="tpiSmokeTestCluster$GITHUB_RUN_ID" \
81+
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
82+
--node-vm-size=Standard_NC6 \
83+
--node-count=1 \
84+
--aks-custom-headers=UseGPUDedicatedVHD=true \
85+
--generate-ssh-keys
86+
az aks get-credentials \
87+
--resource-group="tpiSmokeTestCluster$GITHUB_RUN_ID" \
88+
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
89+
--file - |
90+
perl -0777p \
91+
-e 's/%/%25/g;' \
92+
-e 's/\n/%0A/g;' \
93+
-e 's/\r/%0D/g;' \
94+
-e 's/(.+)/::add-mask::\1\n::set-output name=kubeconfig::\1\n/g'
95+
- run: go test ./task -v -timeout=30m -count=1
96+
env:
97+
KUBECONFIG_DATA: ${{ steps.cluster.outputs.kubeconfig }}
98+
SMOKE_TEST_ENABLE_K8S: true
99+
- if: always()
100+
run: |
108101
az group delete \
109102
--name="tpiSmokeTestCluster$GITHUB_RUN_ID" \
110103
--yes
111-
env:
112-
AZURE_CLIENT_ID: ${{ secrets.AZURE_CLIENT_ID }}
113-
AZURE_CLIENT_SECRET: ${{ secrets.AZURE_CLIENT_SECRET }}
114-
AZURE_SUBSCRIPTION_ID: ${{ secrets.AZURE_SUBSCRIPTION_ID }}
115-
AZURE_TENANT_ID: ${{ secrets.AZURE_TENANT_ID }}
104+
env:
105+
SMOKE_TEST_IDENTIFIER: smoke test ${{ github.run_id }}

0 commit comments

Comments
 (0)