11name : Arm AL2023 Smoke Test WorkFlow
22permissions :
33 contents : read
4+ checks : write
45 packages : write
56 id-token : write
67 pull-requests : write
78on :
8- workflow_dispatch :
9+ workflow_dispatch :
910 inputs :
1011 splunk_image_repository_tag :
1112 description : ' Splunk AL2023-based Docker Image repository and tag (e.g. repository-name:tag)'
1718 - uses : actions/checkout@v2
1819 - name : Dotenv Action
1920 id : dotenv
20- uses : falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
21+ uses : falti/dotenv-action@v1
2122 - name : Setup Go
2223 uses : actions/setup-go@v2
2324 with :
3334 - uses : actions/checkout@v2
3435 - name : Dotenv Action
3536 id : dotenv
36- uses : falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
37+ uses : falti/dotenv-action@v1
3738 - name : Setup Go
3839 uses : actions/setup-go@v2
3940 with :
@@ -50,11 +51,25 @@ jobs:
5051 run : make test
5152 - name : Run Code Coverage
5253 run : goveralls -coverprofile=coverage.out -service=circle-ci -repotoken ${{ secrets.COVERALLS_TOKEN }}
54+ continue-on-error : true
5355 - name : Upload Coverage artifacts
54- uses : actions/upload-artifact@v4.4.0
56+ uses : actions/upload-artifact@v6
5557 with :
5658 name : coverage.out
5759 path : coverage.out
60+ - name : Upload Unit Test Results
61+ if : always()
62+ uses : actions/upload-artifact@v6
63+ with :
64+ name : test-report-unit
65+ path : unit_test*.xml
66+ - name : Publish Unit Test Report
67+ uses : mikepenz/action-junit-report@v6
68+ if : always()
69+ with :
70+ report_paths : ' unit_test*.xml'
71+ check_name : ' Unit Test Results (ARM AL2023)'
72+ detailed_summary : true
5873 build-operator-image-arm-al2023 :
5974 runs-on : ubuntu-latest
6075 needs : unit-tests
@@ -65,12 +80,12 @@ jobs:
6580 S3_REGION : ${{ secrets.AWS_DEFAULT_REGION }}
6681 steps :
6782 - name : Set up cosign
68- uses : sigstore/cosign-installer@main
83+ uses : sigstore/cosign-installer@v4.0.0
6984
7085 - uses : actions/checkout@v2
7186 - name : Dotenv Action
7287 id : dotenv
73- uses : falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
88+ uses : falti/dotenv-action@v1
7489 - name : Setup Go
7590 uses : actions/setup-go@v2
7691 with :
@@ -89,14 +104,15 @@ jobs:
89104 sudo chmod +x operator-sdk_${OS}_${ARCH}
90105 sudo mv operator-sdk_${OS}_${ARCH} /usr/local/bin/operator-sdk
91106 - name : Configure AWS credentials
92- uses : aws-actions/configure-aws-credentials@v1
107+ uses : aws-actions/configure-aws-credentials@v5
93108 with :
94- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
95- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
96- aws-region : ${{ secrets.AWS_DEFAULT_REGION }}
109+ role-to-assume : ${{ vars.AWS_ROLE_ARN }}
110+ role-session-name : github-${{ github.run_id }}
111+ aws-region : ${{ vars.AWS_REGION }}
112+ role-duration-seconds : ${{ vars.AWS_ROLE_DURATION_SECONDS }}
97113 - name : Login to Amazon ECR
98114 id : login-ecr
99- uses : aws-actions/amazon-ecr-login@v1
115+ uses : aws-actions/amazon-ecr-login@v2
100116 - name : Build and push Splunk Operator Image
101117 run : |
102118 export PLATFORMS=linux/arm64,linux/amd64
@@ -120,6 +136,7 @@ jobs:
120136 appframeworksS1,
121137 managersecret,
122138 managermc,
139+ indingsep,
123140 ]
124141 runs-on : ubuntu-latest
125142 env :
@@ -145,15 +162,25 @@ jobs:
145162 DEPLOYMENT_TYPE : " "
146163 ARM64 : " true"
147164 GRAVITON_TESTING : " true"
165+ AWS_INDEX_INGEST_SEP_ACCESS_KEY_ID : ${{ secrets.AWS_INDEX_INGEST_SEP_ACCESS_KEY_ID }}
166+ AWS_INDEX_INGEST_SEP_SECRET_ACCESS_KEY : ${{ secrets.AWS_INDEX_INGEST_SEP_SECRET_ACCESS_KEY }}
148167 steps :
149- - name : Set Test Cluster Name
150- run : |
151- echo "TEST_CLUSTER_NAME=eks-integration-test-cluster-${{ matrix.test }}-$GITHUB_RUN_ID" >> $GITHUB_ENV
152168 - name : Chekcout code
153169 uses : actions/checkout@v2
170+ - name : Set Test Cluster Name
171+ id : set-cluster-name
172+ uses : ./.github/actions/set-cluster-name
173+ with :
174+ test-type : smoke
175+ platform : arm-al2023
176+ test-name : ${{ matrix.test }}
177+ run-id : ${{ github.run_id }}
178+ - name : Export cluster name to environment
179+ run : |
180+ echo "TEST_CLUSTER_NAME=${{ steps.set-cluster-name.outputs.cluster-name }}" >> $GITHUB_ENV
154181 - name : Dotenv Action
155182 id : dotenv
156- uses : falti/dotenv-action@d4d12eaa0e1dd06d5bdc3d7af3bf4c8c93cb5359
183+ uses : falti/dotenv-action@v1
157184 - name : Change splunk enterprise to release image on main branches
158185 if : github.ref == 'refs/heads/main'
159186 run : |
@@ -195,22 +222,23 @@ jobs:
195222 sudo curl -L -o /usr/local/bin/operator-sdk https://github.com/operator-framework/operator-sdk/releases/download/${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}/operator-sdk-${{ steps.dotenv.outputs.OPERATOR_SDK_VERSION }}-x86_64-linux-gnu
196223 sudo chmod +x /usr/local/bin/operator-sdk
197224 - name : Configure Docker Hub credentials
198- uses : docker/login-action@v1
225+ uses : docker/login-action@v3
199226 with :
200227 username : ${{ secrets.DOCKERHUB_USERNAME }}
201228 password : ${{ secrets.DOCKERHUB_TOKEN}}
202229 - name : Set Splunk Operator image
203230 run : |
204231 echo "SPLUNK_OPERATOR_IMAGE=${{ env.SPLUNK_OPERATOR_IMAGE_NAME }}:$GITHUB_SHA" >> $GITHUB_ENV
205232 - name : Configure AWS credentials
206- uses : aws-actions/configure-aws-credentials@v1
233+ uses : aws-actions/configure-aws-credentials@v5
207234 with :
208- aws-access-key-id : ${{ secrets.AWS_ACCESS_KEY_ID }}
209- aws-secret-access-key : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
210- aws-region : ${{ secrets.AWS_DEFAULT_REGION }}
235+ role-to-assume : ${{ vars.AWS_ROLE_ARN }}
236+ role-session-name : github-${{ github.run_id }}
237+ aws-region : ${{ vars.AWS_REGION }}
238+ role-duration-seconds : ${{ vars.AWS_ROLE_DURATION_SECONDS }}
211239 - name : Login to Amazon ECR
212240 id : login-ecr
213- uses : aws-actions/amazon-ecr-login@v1
241+ uses : aws-actions/amazon-ecr-login@v2
214242 - name : Pull Splunk Enterprise Image
215243 run : docker pull ${{ env.SPLUNK_ENTERPRISE_IMAGE }}
216244 - name : Create EKS cluster
@@ -220,7 +248,8 @@ jobs:
220248 make cluster-up
221249 - name : install metric server
222250 run : |
223- kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
251+ curl -LO https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
252+ kubectl replace --force -f components.yaml || kubectl apply -f components.yaml
224253 - name : install k8s dashboard
225254 run : |
226255 kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.5/aio/deploy/recommended.yaml
@@ -231,6 +260,11 @@ jobs:
231260 cp /snap/bin/kustomize ./bin/kustomize
232261 - name : Run smoke test
233262 id : smoketest
263+ timeout-minutes : 240
264+ env :
265+ TEST_TIMEOUT : 225m
266+ TEST_S3_ACCESS_KEY_ID : ${{ vars.TEST_S3_ACCESS_KEY_ID }}
267+ TEST_S3_SECRET_ACCESS_KEY : ${{ secrets.TEST_S3_SECRET_ACCESS_KEY }}
234268 run : |
235269 make int-test
236270 - name : Collect Test Logs
@@ -240,10 +274,23 @@ jobs:
240274 find ./test -name "*.log" -exec cp {} /tmp/pod_logs \;
241275 - name : Archive Pod Logs
242276 if : ${{ always() }}
243- uses : actions/upload-artifact@v4.4.0
277+ uses : actions/upload-artifact@v6
244278 with :
245279 name : " splunk-pods-logs--artifacts-${{ matrix.test }}"
246280 path : " /tmp/pod_logs/**"
281+ - name : Upload Smoke Test Results
282+ if : always()
283+ uses : actions/upload-artifact@v6
284+ with :
285+ name : " test-report-smoke-arm-al2023-${{ matrix.test }}"
286+ path : report-junit*.xml
287+ - name : Publish Smoke Test Report
288+ uses : mikepenz/action-junit-report@v6
289+ if : always()
290+ with :
291+ report_paths : ' report-junit*.xml'
292+ check_name : ' Smoke Test Results (ARM AL2023) - ${{ matrix.test }}'
293+ detailed_summary : true
247294 - name : Cleanup Test Case artifacts
248295 if : ${{ always() }}
249296 run : |
0 commit comments