From 0f41fcc90acdd4b19c083492c1667a369a731989 Mon Sep 17 00:00:00 2001 From: Karel Suta Date: Thu, 18 Jul 2024 11:16:50 +0200 Subject: [PATCH] Run PR check for guided notebooks --- ..._tests.yaml => guided_notebook_tests.yaml} | 41 ++++++++----------- 1 file changed, 18 insertions(+), 23 deletions(-) rename .github/workflows/{e2e_tests.yaml => guided_notebook_tests.yaml} (83%) diff --git a/.github/workflows/e2e_tests.yaml b/.github/workflows/guided_notebook_tests.yaml similarity index 83% rename from .github/workflows/e2e_tests.yaml rename to .github/workflows/guided_notebook_tests.yaml index d216df9d7..1f3000a8c 100644 --- a/.github/workflows/e2e_tests.yaml +++ b/.github/workflows/guided_notebook_tests.yaml @@ -1,4 +1,4 @@ -name: e2e +name: Guided notebooks tests on: pull_request: @@ -30,7 +30,7 @@ env: jobs: kubernetes: - runs-on: ubuntu-20.04-4core-gpu + runs-on: ubuntu-20.04-4core steps: - name: Checkout code @@ -68,15 +68,9 @@ jobs: python-version: '3.9' cache: 'pip' # caching pip dependencies - - name: Setup NVidia GPU environment for KinD - uses: ./common/github-actions/nvidia-gpu-setup - - name: Setup and start KinD cluster uses: ./common/github-actions/kind - - name: Install NVidia GPU operator for KinD - uses: ./common/github-actions/nvidia-gpu-operator - - name: Deploy CodeFlare stack id: deploy run: | @@ -115,14 +109,14 @@ jobs: - name: Run e2e tests run: | - export CODEFLARE_TEST_OUTPUT_DIR=${{ env.TEMP_DIR }} - echo "CODEFLARE_TEST_OUTPUT_DIR=${CODEFLARE_TEST_OUTPUT_DIR}" >> $GITHUB_ENV - set -euo pipefail - pip install poetry + pip install poetry papermill ipython ipykernel poetry install --with test,docs - echo "Running e2e tests..." - poetry run pytest -v -s ./tests/e2e -m 'kind and nvidia_gpu' > ${CODEFLARE_TEST_OUTPUT_DIR}/pytest_output.log 2>&1 + + echo "Running Guided notebooks..." + cd demo-notebooks/guided-demos + jq 'del(.cells[] | select(.source[] | contains("Create authentication object for user permissions")))' 0_basic_ray.ipynb > 0_basic_ray.ipynb.tmp + poetry run papermill 0_basic_ray.ipynb.tmp 0_basic_ray_out.ipynb --log-output --execution-timeout 600 env: GRPC_DNS_RESOLVER: "native" @@ -130,29 +124,30 @@ jobs: if: always() && steps.deploy.outcome == 'success' run: kubectl config use-context kind-cluster - - name: Print Pytest output log + - name: Print CodeFlare operator logs if: always() && steps.deploy.outcome == 'success' run: | - echo "Printing Pytest output logs" - cat ${CODEFLARE_TEST_OUTPUT_DIR}/pytest_output.log + echo "Printing CodeFlare operator logs" + kubectl logs -n openshift-operators --tail -1 -l app.kubernetes.io/name=codeflare-operator | tee ${TEMP_DIR}/codeflare-operator.log - - name: Print CodeFlare operator logs + - name: Print Kueue operator logs if: always() && steps.deploy.outcome == 'success' run: | - echo "Printing CodeFlare operator logs" - kubectl logs -n openshift-operators --tail -1 -l app.kubernetes.io/name=codeflare-operator | tee ${CODEFLARE_TEST_OUTPUT_DIR}/codeflare-operator.log + echo "Printing Kueue operator logs" + KUEUE_CONTROLLER_POD=$(kubectl get pods -n kueue-system | grep kueue-controller | awk '{print $1}') + kubectl logs -n kueue-system --tail -1 ${KUEUE_CONTROLLER_POD} | tee ${TEMP_DIR}/kueue.log - name: Print KubeRay operator logs if: always() && steps.deploy.outcome == 'success' run: | echo "Printing KubeRay operator logs" - kubectl logs -n ray-system --tail -1 -l app.kubernetes.io/name=kuberay | tee ${CODEFLARE_TEST_OUTPUT_DIR}/kuberay.log + kubectl logs -n ray-system --tail -1 -l app.kubernetes.io/name=kuberay | tee ${TEMP_DIR}/kuberay.log - name: Export all KinD pod logs uses: ./common/github-actions/kind-export-logs if: always() && steps.deploy.outcome == 'success' with: - output-directory: ${CODEFLARE_TEST_OUTPUT_DIR} + output-directory: ${TEMP_DIR} - name: Upload logs uses: actions/upload-artifact@v4 @@ -161,4 +156,4 @@ jobs: name: logs retention-days: 10 path: | - ${{ env.CODEFLARE_TEST_OUTPUT_DIR }}/**/*.log + ${{ env.TEMP_DIR }}/**/*.log