Skip to content

Commit

Permalink
Go back using ubuntu-latest on validate-images job (#95)
Browse files Browse the repository at this point in the history
* Update runtime images with latest component versions

Revert back to image tags vs sha256 to better support multiarch

Signed-off-by: Fellipe Resende <[email protected]>

* Update image tags on tests

Signed-off-by: Fellipe Resende <[email protected]>

* Fix integration test

* Use Python instead of curl to download test file on validate-runtime-image target

Signed-off-by: Guilherme Caponetto <[email protected]>

* Go back using ubuntu-latest on validate-images job

---------

Signed-off-by: Fellipe Resende <[email protected]>
Signed-off-by: Guilherme Caponetto <[email protected]>
Co-authored-by: Fellipe Resende <[email protected]>
  • Loading branch information
caponetto and fresende authored Dec 26, 2024
1 parent 322588a commit cc31c1b
Show file tree
Hide file tree
Showing 13 changed files with 51 additions and 45 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ env:
PYTHON_VERSION: 3.11
QUAY_WORKBENCH_IMAGES_REPOSITORY: 'opendatahub/workbench-images'
QUAY_WORKBENCH_IMAGES_TAG_PREFIX_CSV: 'jupyter-trustyai-ubi9-python-3.11-20241,cuda-jupyter-tensorflow-ubi9-python-3.11-20241'
NODE_OPTIONS: "--max_old_space_size=4096"
NODE_OPTIONS: '--max_old_space_size=4096'

jobs:
prepare-yarn-cache:
Expand Down Expand Up @@ -242,7 +242,7 @@ jobs:

validate-images:
name: Validate Images
runs-on: ubuntu-22.04 # This job is failing on Ubuntu 24.04
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Validate runtime images
Expand Down
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ KF_NOTEBOOK_IMAGE=elyra/kf-notebook:$(TAG)
KF_NOTEBOOK_IMAGE_LATEST=elyra/kf-notebook:latest

# Contains the set of commands required to be used by elyra
REQUIRED_RUNTIME_IMAGE_COMMANDS?="curl python3"
REQUIRED_RUNTIME_IMAGE_COMMANDS?="python3"
REMOVE_RUNTIME_IMAGE?=0 # Invoke `make REMOVE_RUNTIME_IMAGE=1 validate-runtime-images` to have images removed after validation
UPGRADE_STRATEGY?=only-if-needed

Expand Down Expand Up @@ -352,7 +352,7 @@ validate-runtime-image: # Validate that runtime image meets minimum criteria
elif [[ $$IMAGE_PYTHON3_MINOR_VERSION -ge 8 ]]; then \
echo "=> Checking notebook execution..." ; \
docker run -v $$(pwd)/etc/generic:/opt/elyra/ --rm --entrypoint /bin/bash $$image -c "python3 -m pip install -r /opt/elyra/requirements-elyra.txt && \
curl https://raw.githubusercontent.com/nteract/papermill/main/papermill/tests/notebooks/simple_execute.ipynb --output simple_execute.ipynb && \
python3 -c 'import urllib.request; urllib.request.urlretrieve(\"https://raw.githubusercontent.com/nteract/papermill/main/papermill/tests/notebooks/simple_execute.ipynb\", \"simple_execute.ipynb\")' && \
python3 -m papermill simple_execute.ipynb output.ipynb > /dev/null" ; \
if [ $$? -ne 0 ]; then \
echo "ERROR: Image $$image does not meet Python requirements criteria in requirements-elyra.txt" ; \
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"kubernetes_tolerations": [],
"mounted_volumes": [],
"filename": "producer.ipynb",
"runtime_image": "continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8"
"runtime_image": "continuumio/anaconda3:2024.02-1"
},
"ui_data": {
"label": "producer.ipynb",
Expand Down Expand Up @@ -88,7 +88,7 @@
"kubernetes_tolerations": [],
"mounted_volumes": [],
"filename": "consumer.ipynb",
"runtime_image": "continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8"
"runtime_image": "continuumio/anaconda3:2024.02-1"
},
"ui_data": {
"label": "consumer.ipynb",
Expand Down Expand Up @@ -146,7 +146,7 @@
"kubernetes_tolerations": [],
"mounted_volumes": [],
"filename": "../scripts/setup.py",
"runtime_image": "continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8"
"runtime_image": "continuumio/anaconda3:2024.02-1"
},
"ui_data": {
"label": "setup.py",
Expand Down Expand Up @@ -205,7 +205,7 @@
"kubernetes_tolerations": [],
"mounted_volumes": [],
"filename": "create-source-files.py",
"runtime_image": "continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8"
"runtime_image": "continuumio/anaconda3:2024.02-1"
},
"ui_data": {
"label": "create-source-files.py",
Expand Down Expand Up @@ -264,7 +264,7 @@
"kubernetes_tolerations": [],
"mounted_volumes": [],
"filename": "producer-script.py",
"runtime_image": "continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8"
"runtime_image": "continuumio/anaconda3:2024.02-1"
},
"ui_data": {
"label": "producer-script.py",
Expand Down
15 changes: 6 additions & 9 deletions cypress/tests/pipeline.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -205,23 +205,23 @@ describe('Pipeline Editor tests', () => {
});
cy.get('#root_component_parameters_runtime_image').within(() => {
cy.get('select[id="root_component_parameters_runtime_image"]').select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8'
'continuumio/anaconda3:2024.02-1'
);
});

// consumer props
cy.findByText('consumer.ipynb').click();
cy.get('#root_component_parameters_runtime_image').within(() => {
cy.get('select[id="root_component_parameters_runtime_image"]').select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8'
'continuumio/anaconda3:2024.02-1'
);
});

// setup props
cy.findByText('setup.py').click();
cy.get('#root_component_parameters_runtime_image').within(() => {
cy.get('select[id="root_component_parameters_runtime_image"]').select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8'
'continuumio/anaconda3:2024.02-1'
);
});
cy.get('#root_component_parameters_dependencies').within(() => {
Expand All @@ -241,7 +241,7 @@ describe('Pipeline Editor tests', () => {
cy.findByText('create-source-files.py').click();
cy.get('#root_component_parameters_runtime_image').within(() => {
cy.get('select[id="root_component_parameters_runtime_image"]').select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8'
'continuumio/anaconda3:2024.02-1'
);
});
cy.get('#root_component_parameters_outputs').within(() => {
Expand All @@ -260,7 +260,7 @@ describe('Pipeline Editor tests', () => {
cy.findByText('producer-script.py').click();
cy.get('#root_component_parameters_runtime_image').within(() => {
cy.get('select[id="root_component_parameters_runtime_image"]').select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8'
'continuumio/anaconda3:2024.02-1'
);
});
cy.get('#root_component_parameters_outputs').within(() => {
Expand Down Expand Up @@ -385,10 +385,7 @@ describe('Pipeline Editor tests', () => {
.scrollIntoView()
.find('select')
.should('be.visible')
.select(
'continuumio/anaconda3@sha256:a2816acd3acda208d92e0bf6c11eb41fda9009ea20f24e123dbf84bb4bd4c4b8',
{ force: true }
);
.select('continuumio/anaconda3:2024.02-1', { force: true });
// Generic Node Defaults > Kubernetes Secrets
cy.get('#root_pipeline_defaults_kubernetes_secrets')
.scrollIntoView()
Expand Down
9 changes: 9 additions & 0 deletions etc/config/metadata/runtime-images/anaconda-py311.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"display_name": "Anaconda Python 3.11",
"metadata": {
"description": "Anaconda (2004-02) with Python 3.11",
"image_name": "continuumio/anaconda3:2024.02-1",
"tags": ["anaconda", "python-3.11"]
},
"schema_name": "runtime-image"
}
9 changes: 9 additions & 0 deletions etc/config/metadata/runtime-images/anaconda-py312.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"display_name": "Anaconda Python 3.12",
"metadata": {
"description": "Anaconda (2024-10) with Python 3.12",
"image_name": "continuumio/anaconda3:2024.10-1",
"tags": ["anaconda", "python-3.12"]
},
"schema_name": "runtime-image"
}
9 changes: 0 additions & 9 deletions etc/config/metadata/runtime-images/anaconda.json

This file was deleted.

6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/pandas.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "Pandas 1.4.1",
"display_name": "Pandas 2.2.2",
"metadata": {
"description": "Pandas 1.4.1",
"image_name": "amancevice/pandas@sha256:f74bef70689b19d3cd610ef67227fce1c9a6ed8fa950ac2aff39ce72310d5520",
"description": "Pandas 2.2.2",
"image_name": "amancevice/pandas:jupyter-2.2.2",
"tags": ["pandas"]
},
"schema_name": "runtime-image"
Expand Down
6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/pytorch-devel.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "Pytorch 1.4 with CUDA-devel",
"display_name": "PyTorch 2.5.1 (with GPU support)",
"metadata": {
"description": "PyTorch 1.4 (with GPU support)",
"image_name": "pytorch/pytorch@sha256:c612782acc39256aac0637d58d297644066c62f6f84f0b88cfdc335bb25d0d22",
"description": "Pytorch 2.5.1 with CUDA 11.8 devel",
"image_name": "pytorch/pytorch:2.5.1-cuda11.8-cudnn9-devel",
"tags": ["gpu", "pytorch"]
},
"schema_name": "runtime-image"
Expand Down
6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/pytorch-runtime.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "Pytorch 1.12 with CUDA-runtime",
"display_name": "PyTorch 2.5.1 (with GPU support)",
"metadata": {
"description": "PyTorch 1.12 (with GPU support)",
"image_name": "nvcr.io/nvidia/pytorch@sha256:b6080b287f79ba34c392730566a8903361453c15c3b3beff032d11a05e08f7c3",
"description": "Pytorch 2.5.1 with CUDA 11.8 runtime",
"image_name": "pytorch/pytorch:2.5.1-cuda11.8-cudnn9-runtime",
"tags": ["gpu", "pytorch"]
},
"schema_name": "runtime-image"
Expand Down
6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/r.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "R Script",
"display_name": "R Script 4.3.1",
"metadata": {
"description": "R Script",
"image_name": "jupyter/r-notebook@sha256:08b7c3a1be31deac36cd9d65db6f6a4d58dc0cba32087101f3166d093c1a9c82",
"description": "R Script 4.3.1 with Python 3.11.6",
"image_name": "jupyter/r-notebook:x86_64-python-3.11.6",
"tags": ["R"]
},
"schema_name": "runtime-image"
Expand Down
6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/tensorflow_2x_gpu_py3.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "Tensorflow 2.8.0 with GPU",
"display_name": "Tensorflow 2.18.0 with GPU",
"metadata": {
"description": "TensorFlow 2.8 (with GPU support)",
"image_name": "tensorflow/tensorflow@sha256:1e03623e335aac1610b1a3cfa6a96cf10156acb095287f9d6031df3980148663",
"description": "TensorFlow 2.18.0 (with GPU and Python 3.11)",
"image_name": "tensorflow/tensorflow:2.18.0-gpu",
"tags": ["gpu", "tensorflow"]
},
"schema_name": "runtime-image"
Expand Down
6 changes: 3 additions & 3 deletions etc/config/metadata/runtime-images/tensorflow_2x_py3.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"display_name": "Tensorflow 2.8.0",
"display_name": "Tensorflow 2.18.0",
"metadata": {
"description": "TensorFlow 2.8",
"image_name": "tensorflow/tensorflow@sha256:7c01f75d58fadc2cd1109d5baac1925ed131e05925d840b1b49363c794d1c4db",
"description": "TensorFlow 2.18.0 (with Python 3.11)",
"image_name": "tensorflow/tensorflow:2.18.0",
"tags": ["tensorflow"]
},
"schema_name": "runtime-image"
Expand Down

0 comments on commit cc31c1b

Please sign in to comment.