Skip to content

Commit 388c0bc

Browse files
committed
Migrate OLM bundle image CI job from Gitlab to Github
Signed-off-by: shiva kumar <[email protected]>
1 parent 0c17b01 commit 388c0bc

File tree

2 files changed

+106
-127
lines changed

2 files changed

+106
-127
lines changed

.github/workflows/ci.yaml

+105-126
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ name: CI
1717
on:
1818
push:
1919
branches:
20-
# - "pull-request/[0-9]+"
20+
- "pull-request/[0-9]+"
2121
- main
2222
- release-*
23-
- bundleimage
23+
# - bundleimage
2424

2525
jobs:
2626
### Configuration checks ###
@@ -161,7 +161,7 @@ jobs:
161161
VERSION: ${COMMIT_SHORT_SHA}
162162
run: |
163163
echo "${VERSION}"
164-
# make build-${{ matrix.dist }}
164+
make build-${{ matrix.dist }}
165165
build-gpu-operator-validator:
166166
needs: [go-check, go-test, go-build]
167167
runs-on: ubuntu-latest
@@ -209,38 +209,18 @@ jobs:
209209
SUBCOMPONENT: validator
210210
run: |
211211
echo "${VERSION}"
212-
# make build-${{ matrix.dist }}
212+
make build-${{ matrix.dist }}
213213
214214
build-gpu-operator-bundle-image:
215-
# needs: [go-check, go-test, go-build]
216-
# SHIVA could be only branch=main
217-
if: github.ref_type == 'branch' # # Runs only if the event is from a branch commit
215+
if: github.ref_type == 'main' # Runs only if the event is from a main branch commit
218216
runs-on: ubuntu-latest
219-
# strategy:
220-
# matrix:
221-
# dist: [ubi9]
222217
steps:
223218
- uses: actions/checkout@v4
224219
name: Check out code
225220
- name: Calculate build vars
226221
id: vars
227222
run: |
228-
echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
229-
echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
230-
REPO_FULL_NAME="${{ github.event.pull_request.head.repo.full_name }}"
231-
echo "${REPO_FULL_NAME}"
232-
echo "LABEL_IMAGE_SOURCE=https://github.com/${REPO_FULL_NAME}" >> $GITHUB_ENV
233-
234-
GENERATE_ARTIFACTS="false"
235-
if [[ "${{ github.actor }}" == "dependabot[bot]" ]]; then
236-
GENERATE_ARTIFACTS="false"
237-
elif [[ "${{ github.event_name }}" == "pull_request" && "${{ github.event.pull_request.head.repo.full_name }}" == "${{ github.repository }}" ]]; then
238-
GENERATE_ARTIFACTS="true"
239-
elif [[ "${{ github.event_name }}" == "push" ]]; then
240-
GENERATE_ARTIFACTS="true"
241-
fi
242-
echo "PUSH_ON_BUILD=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
243-
echo "BUILD_MULTI_ARCH_IMAGES=${GENERATE_ARTIFACTS}" >> $GITHUB_ENV
223+
# echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
244224
echo "BRANCH_NAME=${GITHUB_REF_NAME}" >> $GITHUB_ENV
245225
- name: Set up QEMU
246226
uses: docker/setup-qemu-action@v3
@@ -256,114 +236,113 @@ jobs:
256236
password: ${{ secrets.GITHUB_TOKEN }}
257237
- name: Build bundle-image
258238
env:
259-
# BUNDLE_IMAGE: "${CI_REGISTRY_IMAGE}/staging/gpu-operator-bundle:${CI_COMMIT_BRANCH}-latest"
260239
BUNDLE_IMAGE: "ghcr.io/nvidia/gpu-operator/gpu-operator-bundle:${{ env.BRANCH_NAME }}-latest"
261240
DEFAULT_CHANNEL: "stable"
262241
CHANNELS: "stable"
263242
run: |
264243
make push-bundle-image
265244
266-
### e2e tests ###
267-
# e2e-tests-containerd:
268-
# needs: [build-gpu-operator, build-gpu-operator-validator]
269-
# runs-on: linux-amd64-cpu4
270-
# steps:
271-
# - uses: actions/checkout@v4
272-
# name: Check out code
273-
# - name: Set up Holodeck
274-
# uses: NVIDIA/[email protected]
275-
# with:
276-
# aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
277-
# aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
278-
# aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
279-
# holodeck_config: "tests/holodeck.yaml"
280-
# - name: Get public dns name
281-
# id: get_public_dns_name
282-
# uses: mikefarah/yq@master
283-
# with:
284-
# cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
285-
# - name: Calculate test vars
286-
# id: vars
287-
# run: |
288-
# COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
289-
# echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
290-
# LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
291-
# echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
245+
## e2e tests ###
246+
e2e-tests-containerd:
247+
needs: [build-gpu-operator, build-gpu-operator-validator]
248+
runs-on: linux-amd64-cpu4
249+
steps:
250+
- uses: actions/checkout@v4
251+
name: Check out code
252+
- name: Set up Holodeck
253+
uses: NVIDIA/[email protected]
254+
with:
255+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
256+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
257+
aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
258+
holodeck_config: "tests/holodeck.yaml"
259+
- name: Get public dns name
260+
id: get_public_dns_name
261+
uses: mikefarah/yq@master
262+
with:
263+
cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
264+
- name: Calculate test vars
265+
id: vars
266+
run: |
267+
COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
268+
echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
269+
LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
270+
echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
292271
293-
# echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
294-
# echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
295-
# echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
296-
# echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
272+
echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
273+
echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
274+
echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
275+
echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
297276
298-
# echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
299-
# echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
300-
# - name: Run e2e tests
301-
# env:
302-
# GPU_PRODUCT_NAME: "Tesla-T4"
303-
# SKIP_LAUNCH: "true"
304-
# CONTAINER_RUNTIME: "containerd"
305-
# TEST_CASE: "./tests/cases/defaults.sh"
306-
# run: |
307-
# echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
308-
# ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
309-
# ./tests/scripts/pull.sh /tmp/logs logs
310-
# exit $rc
311-
# - name: Archive test logs
312-
# if: ${{ failure() }}
313-
# uses: actions/upload-artifact@v4
314-
# with:
315-
# name: containerd-e2e-test-logs
316-
# path: ./logs/
317-
# retention-days: 15
277+
echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
278+
echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
279+
- name: Run e2e tests
280+
env:
281+
GPU_PRODUCT_NAME: "Tesla-T4"
282+
SKIP_LAUNCH: "true"
283+
CONTAINER_RUNTIME: "containerd"
284+
TEST_CASE: "./tests/cases/defaults.sh"
285+
run: |
286+
echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
287+
./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
288+
./tests/scripts/pull.sh /tmp/logs logs
289+
exit $rc
290+
- name: Archive test logs
291+
if: ${{ failure() }}
292+
uses: actions/upload-artifact@v4
293+
with:
294+
name: containerd-e2e-test-logs
295+
path: ./logs/
296+
retention-days: 15
318297

319-
# e2e-tests-nvidiadriver:
320-
# needs: [build-gpu-operator, build-gpu-operator-validator]
321-
# runs-on: linux-amd64-cpu4
322-
# steps:
323-
# - uses: actions/checkout@v4
324-
# name: Check out code
325-
# - name: Set up Holodeck
326-
# uses: NVIDIA/[email protected]
327-
# with:
328-
# aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
329-
# aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
330-
# aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
331-
# holodeck_config: "tests/holodeck.yaml"
332-
# - name: Get public dns name
333-
# id: get_public_dns_name
334-
# uses: mikefarah/yq@master
335-
# with:
336-
# cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
337-
# - name: Calculate test vars
338-
# id: vars
339-
# run: |
340-
# COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
341-
# echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
342-
# LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
343-
# echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
298+
e2e-tests-nvidiadriver:
299+
needs: [build-gpu-operator, build-gpu-operator-validator]
300+
runs-on: linux-amd64-cpu4
301+
steps:
302+
- uses: actions/checkout@v4
303+
name: Check out code
304+
- name: Set up Holodeck
305+
uses: NVIDIA/[email protected]
306+
with:
307+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
308+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
309+
aws_ssh_key: ${{ secrets.AWS_SSH_KEY }}
310+
holodeck_config: "tests/holodeck.yaml"
311+
- name: Get public dns name
312+
id: get_public_dns_name
313+
uses: mikefarah/yq@master
314+
with:
315+
cmd: yq '.status.properties[] | select(.name == "public-dns-name") | .value' /github/workspace/.cache/holodeck.yaml
316+
- name: Calculate test vars
317+
id: vars
318+
run: |
319+
COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}
320+
echo "COMMIT_SHORT_SHA=${GITHUB_SHA:0:8}" >> $GITHUB_ENV
321+
LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')
322+
echo "LOWERCASE_REPO_OWNER=$(echo "${GITHUB_REPOSITORY_OWNER}" | awk '{print tolower($0)}')" >> $GITHUB_ENV
344323
345-
# echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
346-
# echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
347-
# echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
348-
# echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
324+
echo "OPERATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
325+
echo "OPERATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator" >> $GITHUB_ENV
326+
echo "VALIDATOR_VERSION=${COMMIT_SHORT_SHA}" >> $GITHUB_ENV
327+
echo "VALIDATOR_IMAGE=ghcr.io/${LOWERCASE_REPO_OWNER}/gpu-operator/gpu-operator-validator" >> $GITHUB_ENV
349328
350-
# echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
351-
# echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
352-
# - name: Run e2e tests
353-
# env:
354-
# GPU_PRODUCT_NAME: "Tesla-T4"
355-
# SKIP_LAUNCH: "true"
356-
# CONTAINER_RUNTIME: "containerd"
357-
# TEST_CASE: "./tests/cases/nvidia-driver.sh"
358-
# run: |
359-
# echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
360-
# ./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
361-
# ./tests/scripts/pull.sh /tmp/logs logs
362-
# exit $rc
363-
# - name: Archive test logs
364-
# if: ${{ failure() }}
365-
# uses: actions/upload-artifact@v4
366-
# with:
367-
# name: nvidiadriver-e2e-test-logs
368-
# path: ./logs/
369-
# retention-days: 15
329+
echo "instance_hostname=ubuntu@${{ steps.get_public_dns_name.outputs.result }}" >> $GITHUB_ENV
330+
echo "private_key=${{ github.workspace }}/key.pem" >> $GITHUB_ENV
331+
- name: Run e2e tests
332+
env:
333+
GPU_PRODUCT_NAME: "Tesla-T4"
334+
SKIP_LAUNCH: "true"
335+
CONTAINER_RUNTIME: "containerd"
336+
TEST_CASE: "./tests/cases/nvidia-driver.sh"
337+
run: |
338+
echo "${{ secrets.AWS_SSH_KEY }}" > ${private_key} && chmod 400 ${private_key}
339+
./tests/ci-run-e2e.sh ${OPERATOR_IMAGE} ${OPERATOR_VERSION} ${VALIDATOR_IMAGE} ${VALIDATOR_VERSION} ${GPU_PRODUCT_NAME} ${TEST_CASE} || rc=$?
340+
./tests/scripts/pull.sh /tmp/logs logs
341+
exit $rc
342+
- name: Archive test logs
343+
if: ${{ failure() }}
344+
uses: actions/upload-artifact@v4
345+
with:
346+
name: nvidiadriver-e2e-test-logs
347+
path: ./logs/
348+
retention-days: 15

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ build-bundle-image:
140140
$(DOCKER) build \
141141
--build-arg VERSION=$(VERSION) \
142142
--build-arg DEFAULT_CHANNEL=$(DEFAULT_CHANNEL) \
143-
--build-arg GIT_COMMIT=$(GITHUB_SHA) \
143+
--build-arg GIT_COMMIT=$(GIT_COMMIT) \
144144
-f docker/bundle.Dockerfile -t $(BUNDLE_IMAGE) .
145145

146146
# Push the bundle image.

0 commit comments

Comments
 (0)