Created
November 14, 2025 16:01
-
-
Save dhellmann/66a419df46b0173f9cd7e9ef6dfc324a to your computer and use it in GitHub Desktop.
This file has been truncated, but you can view the full file.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| stages: | |
| - ".pre" | |
| - lint | |
| - test | |
| - build-images | |
| - bootstrap | |
| - build | |
| - notify | |
| - release | |
| - ".post" | |
| variables: | |
| IMAGE: "${CI_REGISTRY}/${CI_PROJECT_PATH}:${CI_COMMIT_SHA}" | |
| CONTAINERFILE: Containerfile | |
| CONTEXT: "." | |
| EXTRA_ARGS: '' | |
| BUILDER_IMAGE_VERSION: ci-${CI_MERGE_REQUEST_IID} | |
| WHEEL_SERVER_PROJECT_PREFIX: redhat/rhel-ai/core/wheels | |
| COLLECTION_VERSION: "$PRODUCT_VERSION" | |
| PRODUCT_VERSION: 0.0-el9.6 | |
| FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS: true | |
| PUBLISH_WHEEL_RELEASES: false | |
| PRODUCT_NAME: rhoai | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| SECURE_FILES_DOWNLOAD_PATH: "./config" | |
| FROMAGER_NETWORK_ISOLATION: '1' | |
| ARCH: x86_64 | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/${COLLECTION}/${VARIANT}-${ARCH}" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/core/wheels/upstream-sdists | |
| PYTHON_VERSION: '3.12' | |
| ".build-image": | |
| stage: build | |
| image: quay.io/buildah/stable:v1.40.1 | |
| needs: [] | |
| script: buildah bud -f ${CONTAINERFILE} --no-cache -t ${IMAGE} ${EXTRA_ARGS} ${CONTEXT} | |
| rules: | |
| - if: $CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS && $CI_PIPELINE_SOURCE == "push" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| - if: "$CI_COMMIT_BRANCH && $CI_OPEN_MERGE_REQUESTS" | |
| when: never | |
| ".trigger-accelerated-cpu-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_xet-*/*.patch | |
| - overrides/patches/hf_xet/*.patch | |
| - overrides/settings/hf_xet.yaml | |
| - package_plugins/hf_xet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch_tb_profiler-*/*.patch | |
| - overrides/patches/torch_tb_profiler/*.patch | |
| - overrides/settings/torch_tb_profiler.yaml | |
| - package_plugins/torch_tb_profiler.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/huggingface_hub-*/*.patch | |
| - overrides/patches/huggingface_hub/*.patch | |
| - overrides/settings/huggingface_hub.yaml | |
| - package_plugins/huggingface_hub.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling-*/*.patch | |
| - overrides/patches/docling/*.patch | |
| - overrides/settings/docling.yaml | |
| - package_plugins/docling.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_core-*/*.patch | |
| - overrides/patches/docling_core/*.patch | |
| - overrides/settings/docling_core.yaml | |
| - package_plugins/docling_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_parse-*/*.patch | |
| - overrides/patches/docling_parse/*.patch | |
| - overrides/settings/docling_parse.yaml | |
| - package_plugins/docling_parse.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_ibm_models-*/*.patch | |
| - overrides/patches/docling_ibm_models/*.patch | |
| - overrides/settings/docling_ibm_models.yaml | |
| - package_plugins/docling_ibm_models.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/trl-*/*.patch | |
| - overrides/patches/trl/*.patch | |
| - overrides/settings/trl.yaml | |
| - package_plugins/trl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/liger_kernel-*/*.patch | |
| - overrides/patches/liger_kernel/*.patch | |
| - overrides/settings/liger_kernel.yaml | |
| - package_plugins/liger_kernel.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/lm_eval-*/*.patch | |
| - overrides/patches/lm_eval/*.patch | |
| - overrides/settings/lm_eval.yaml | |
| - package_plugins/lm_eval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab-*/*.patch | |
| - overrides/patches/jupyterlab/*.patch | |
| - overrides/settings/jupyterlab.yaml | |
| - package_plugins/jupyterlab.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server-*/*.patch | |
| - overrides/patches/jupyter_server/*.patch | |
| - overrides/settings/jupyter_server.yaml | |
| - package_plugins/jupyter_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_mathjax-*/*.patch | |
| - overrides/patches/jupyter_server_mathjax/*.patch | |
| - overrides/settings/jupyter_server_mathjax.yaml | |
| - package_plugins/jupyter_server_mathjax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_proxy-*/*.patch | |
| - overrides/patches/jupyter_server_proxy/*.patch | |
| - overrides/settings/jupyter_server_proxy.yaml | |
| - package_plugins/jupyter_server_proxy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_terminals-*/*.patch | |
| - overrides/patches/jupyter_server_terminals/*.patch | |
| - overrides/settings/jupyter_server_terminals.yaml | |
| - package_plugins/jupyter_server_terminals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_git-*/*.patch | |
| - overrides/patches/jupyterlab_git/*.patch | |
| - overrides/settings/jupyterlab_git.yaml | |
| - package_plugins/jupyterlab_git.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbdime-*/*.patch | |
| - overrides/patches/nbdime/*.patch | |
| - overrides/settings/nbdime.yaml | |
| - package_plugins/nbdime.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbgitpuller-*/*.patch | |
| - overrides/patches/nbgitpuller/*.patch | |
| - overrides/settings/nbgitpuller.yaml | |
| - package_plugins/nbgitpuller.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/litellm-*/*.patch | |
| - overrides/patches/litellm/*.patch | |
| - overrides/settings/litellm.yaml | |
| - package_plugins/litellm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llvmlite-*/*.patch | |
| - overrides/patches/llvmlite/*.patch | |
| - overrides/settings/llvmlite.yaml | |
| - package_plugins/llvmlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/faiss_cpu-*/*.patch | |
| - overrides/patches/faiss_cpu/*.patch | |
| - overrides/settings/faiss_cpu.yaml | |
| - package_plugins/faiss_cpu.py | |
| ".trigger-accelerated-gaudi-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/habana_gpu_migration-*/*.patch | |
| - overrides/patches/habana_gpu_migration/*.patch | |
| - overrides/settings/habana_gpu_migration.yaml | |
| - package_plugins/habana_gpu_migration.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/habana_pyhlml-*/*.patch | |
| - overrides/patches/habana_pyhlml/*.patch | |
| - overrides/settings/habana_pyhlml.yaml | |
| - package_plugins/habana_pyhlml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/habana_quantization_toolkit-*/*.patch | |
| - overrides/patches/habana_quantization_toolkit/*.patch | |
| - overrides/settings/habana_quantization_toolkit.yaml | |
| - package_plugins/habana_quantization_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/habana_torch_dataloader-*/*.patch | |
| - overrides/patches/habana_torch_dataloader/*.patch | |
| - overrides/settings/habana_torch_dataloader.yaml | |
| - package_plugins/habana_torch_dataloader.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/habana_torch_plugin-*/*.patch | |
| - overrides/patches/habana_torch_plugin/*.patch | |
| - overrides/settings/habana_torch_plugin.yaml | |
| - package_plugins/habana_torch_plugin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_transformer_engine-*/*.patch | |
| - overrides/patches/intel_transformer_engine/*.patch | |
| - overrides/settings/intel_transformer_engine.yaml | |
| - package_plugins/intel_transformer_engine.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm_hpu_extension-*/*.patch | |
| - overrides/patches/vllm_hpu_extension/*.patch | |
| - overrides/settings/vllm_hpu_extension.yaml | |
| - package_plugins/vllm_hpu_extension.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm_tgis_adapter-*/*.patch | |
| - overrides/patches/vllm_tgis_adapter/*.patch | |
| - overrides/settings/vllm_tgis_adapter.yaml | |
| - package_plugins/vllm_tgis_adapter.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/compressed_tensors-*/*.patch | |
| - overrides/patches/compressed_tensors/*.patch | |
| - overrides/settings/compressed_tensors.yaml | |
| - package_plugins/compressed_tensors.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_cpp_python-*/*.patch | |
| - overrides/patches/llama_cpp_python/*.patch | |
| - overrides/settings/llama_cpp_python.yaml | |
| - package_plugins/llama_cpp_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/symengine-*/*.patch | |
| - overrides/patches/symengine/*.patch | |
| - overrides/settings/symengine.yaml | |
| - package_plugins/symengine.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/lightning_habana-*/*.patch | |
| - overrides/patches/lightning_habana/*.patch | |
| - overrides/settings/lightning_habana.yaml | |
| - package_plugins/lightning_habana.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| ".trigger-accelerated-spyre-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm_spyre-*/*.patch | |
| - overrides/patches/vllm_spyre/*.patch | |
| - overrides/settings/vllm_spyre.yaml | |
| - package_plugins/vllm_spyre.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ibm_sendnn-*/*.patch | |
| - overrides/patches/ibm_sendnn/*.patch | |
| - overrides/settings/ibm_sendnn.yaml | |
| - package_plugins/ibm_sendnn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch_sendnn-*/*.patch | |
| - overrides/patches/torch_sendnn/*.patch | |
| - overrides/settings/torch_sendnn.yaml | |
| - package_plugins/torch_sendnn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiu_monitor-*/*.patch | |
| - overrides/patches/aiu_monitor/*.patch | |
| - overrides/settings/aiu_monitor.yaml | |
| - package_plugins/aiu_monitor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ibm_fms-*/*.patch | |
| - overrides/patches/ibm_fms/*.patch | |
| - overrides/settings/ibm_fms.yaml | |
| - package_plugins/ibm_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/umf-*/*.patch | |
| - overrides/patches/umf/*.patch | |
| - overrides/settings/umf.yaml | |
| - package_plugins/umf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tcmlib-*/*.patch | |
| - overrides/patches/tcmlib/*.patch | |
| - overrides/settings/tcmlib.yaml | |
| - package_plugins/tcmlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/timm-*/*.patch | |
| - overrides/patches/timm/*.patch | |
| - overrides/settings/timm.yaml | |
| - package_plugins/timm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| ".trigger-non-accelerated-cpu-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyzmq-*/*.patch | |
| - overrides/patches/pyzmq/*.patch | |
| - overrides/settings/pyzmq.yaml | |
| - package_plugins/pyzmq.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opencv_python_headless-*/*.patch | |
| - overrides/patches/opencv_python_headless/*.patch | |
| - overrides/settings/opencv_python_headless.yaml | |
| - package_plugins/opencv_python_headless.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdfium2-*/*.patch | |
| - overrides/patches/pypdfium2/*.patch | |
| - overrides/settings/pypdfium2.yaml | |
| - package_plugins/pypdfium2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tesserocr-*/*.patch | |
| - overrides/patches/tesserocr/*.patch | |
| - overrides/settings/tesserocr.yaml | |
| - package_plugins/tesserocr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/certifi-*/*.patch | |
| - overrides/patches/certifi/*.patch | |
| - overrides/settings/certifi.yaml | |
| - package_plugins/certifi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fastapi-*/*.patch | |
| - overrides/patches/fastapi/*.patch | |
| - overrides/settings/fastapi.yaml | |
| - package_plugins/fastapi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/meson-*/*.patch | |
| - overrides/patches/meson/*.patch | |
| - overrides/settings/meson.yaml | |
| - package_plugins/meson.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pydantic_core-*/*.patch | |
| - overrides/patches/pydantic_core/*.patch | |
| - overrides/settings/pydantic_core.yaml | |
| - package_plugins/pydantic_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm_multiprocess-*/*.patch | |
| - overrides/patches/tqdm_multiprocess/*.patch | |
| - overrides/settings/tqdm_multiprocess.yaml | |
| - package_plugins/tqdm_multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_pygments-*/*.patch | |
| - overrides/patches/jupyterlab_pygments/*.patch | |
| - overrides/settings/jupyterlab_pygments.yaml | |
| - package_plugins/jupyterlab_pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sacrebleu-*/*.patch | |
| - overrides/patches/sacrebleu/*.patch | |
| - overrides/settings/sacrebleu.yaml | |
| - package_plugins/sacrebleu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/yarl-*/*.patch | |
| - overrides/patches/yarl/*.patch | |
| - overrides/settings/yarl.yaml | |
| - package_plugins/yarl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/gast-*/*.patch | |
| - overrides/patches/gast/*.patch | |
| - overrides/settings/gast.yaml | |
| - package_plugins/gast.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flit_core-*/*.patch | |
| - overrides/patches/flit_core/*.patch | |
| - overrides/settings/flit_core.yaml | |
| - package_plugins/flit_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kfp-*/*.patch | |
| - overrides/patches/kfp/*.patch | |
| - overrides/settings/kfp.yaml | |
| - package_plugins/kfp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multiprocess-*/*.patch | |
| - overrides/patches/multiprocess/*.patch | |
| - overrides/settings/multiprocess.yaml | |
| - package_plugins/multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_client-*/*.patch | |
| - overrides/patches/qdrant_client/*.patch | |
| - overrides/settings/qdrant_client.yaml | |
| - package_plugins/qdrant_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/langchain_qdrant-*/*.patch | |
| - overrides/patches/langchain_qdrant/*.patch | |
| - overrides/settings/langchain_qdrant.yaml | |
| - package_plugins/langchain_qdrant.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_haystack-*/*.patch | |
| - overrides/patches/qdrant_haystack/*.patch | |
| - overrides/settings/qdrant_haystack.yaml | |
| - package_plugins/qdrant_haystack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/haystack_ai-*/*.patch | |
| - overrides/patches/haystack_ai/*.patch | |
| - overrides/settings/haystack_ai.yaml | |
| - package_plugins/haystack_ai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack-*/*.patch | |
| - overrides/patches/llama_stack/*.patch | |
| - overrides/settings/llama_stack.yaml | |
| - package_plugins/llama_stack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai-*/*.patch | |
| - overrides/patches/openai/*.patch | |
| - overrides/settings/openai.yaml | |
| - package_plugins/openai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_client-*/*.patch | |
| - overrides/patches/llama_stack_client/*.patch | |
| - overrides/settings/llama_stack_client.yaml | |
| - package_plugins/llama_stack_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h5py-*/*.patch | |
| - overrides/patches/h5py/*.patch | |
| - overrides/settings/h5py.yaml | |
| - package_plugins/h5py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/boto3-*/*.patch | |
| - overrides/patches/boto3/*.patch | |
| - overrides/settings/boto3.yaml | |
| - package_plugins/boto3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/submodlib_py-*/*.patch | |
| - overrides/patches/submodlib_py/*.patch | |
| - overrides/settings/submodlib_py.yaml | |
| - package_plugins/submodlib_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ipython-*/*.patch | |
| - overrides/patches/ipython/*.patch | |
| - overrides/settings/ipython.yaml | |
| - package_plugins/ipython.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/notebook-*/*.patch | |
| - overrides/patches/notebook/*.patch | |
| - overrides/settings/notebook.yaml | |
| - package_plugins/notebook.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/matplotlib-*/*.patch | |
| - overrides/patches/matplotlib/*.patch | |
| - overrides/settings/matplotlib.yaml | |
| - package_plugins/matplotlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mysql_connector_python-*/*.patch | |
| - overrides/patches/mysql_connector_python/*.patch | |
| - overrides/settings/mysql_connector_python.yaml | |
| - package_plugins/mysql_connector_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyodbc-*/*.patch | |
| - overrides/patches/pyodbc/*.patch | |
| - overrides/settings/pyodbc.yaml | |
| - package_plugins/pyodbc.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg-*/*.patch | |
| - overrides/patches/psycopg/*.patch | |
| - overrides/settings/psycopg.yaml | |
| - package_plugins/psycopg.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soxr-*/*.patch | |
| - overrides/patches/soxr/*.patch | |
| - overrides/settings/soxr.yaml | |
| - package_plugins/soxr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/librosa-*/*.patch | |
| - overrides/patches/librosa/*.patch | |
| - overrides/settings/librosa.yaml | |
| - package_plugins/librosa.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soundfile-*/*.patch | |
| - overrides/patches/soundfile/*.patch | |
| - overrides/settings/soundfile.yaml | |
| - package_plugins/soundfile.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hatch_fancy_pypi_readme-*/*.patch | |
| - overrides/patches/hatch_fancy_pypi_readme/*.patch | |
| - overrides/settings/hatch_fancy_pypi_readme.yaml | |
| - package_plugins/hatch_fancy_pypi_readme.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soupsieve-*/*.patch | |
| - overrides/patches/soupsieve/*.patch | |
| - overrides/settings/soupsieve.yaml | |
| - package_plugins/soupsieve.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ply-*/*.patch | |
| - overrides/patches/ply/*.patch | |
| - overrides/settings/ply.yaml | |
| - package_plugins/ply.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sentencepiece-*/*.patch | |
| - overrides/patches/sentencepiece/*.patch | |
| - overrides/settings/sentencepiece.yaml | |
| - package_plugins/sentencepiece.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/argon2_cffi-*/*.patch | |
| - overrides/patches/argon2_cffi/*.patch | |
| - overrides/settings/argon2_cffi.yaml | |
| - package_plugins/argon2_cffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_transfer-*/*.patch | |
| - overrides/patches/hf_transfer/*.patch | |
| - overrides/settings/hf_transfer.yaml | |
| - package_plugins/hf_transfer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard-*/*.patch | |
| - overrides/patches/tensorboard/*.patch | |
| - overrides/settings/tensorboard.yaml | |
| - package_plugins/tensorboard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard_data_server-*/*.patch | |
| - overrides/patches/tensorboard_data_server/*.patch | |
| - overrides/settings/tensorboard_data_server.yaml | |
| - package_plugins/tensorboard_data_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h11-*/*.patch | |
| - overrides/patches/h11/*.patch | |
| - overrides/settings/h11.yaml | |
| - package_plugins/h11.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/zstandard-*/*.patch | |
| - overrides/patches/zstandard/*.patch | |
| - overrides/settings/zstandard.yaml | |
| - package_plugins/zstandard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mcp-*/*.patch | |
| - overrides/patches/mcp/*.patch | |
| - overrides/settings/mcp.yaml | |
| - package_plugins/mcp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/MarkupSafe-*/*.patch | |
| - overrides/patches/MarkupSafe/*.patch | |
| - overrides/settings/MarkupSafe.yaml | |
| - package_plugins/MarkupSafe.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohappyeyeballs-*/*.patch | |
| - overrides/patches/aiohappyeyeballs/*.patch | |
| - overrides/settings/aiohappyeyeballs.yaml | |
| - package_plugins/aiohappyeyeballs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohttp-*/*.patch | |
| - overrides/patches/aiohttp/*.patch | |
| - overrides/settings/aiohttp.yaml | |
| - package_plugins/aiohttp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosignal-*/*.patch | |
| - overrides/patches/aiosignal/*.patch | |
| - overrides/settings/aiosignal.yaml | |
| - package_plugins/aiosignal.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/attrs-*/*.patch | |
| - overrides/patches/attrs/*.patch | |
| - overrides/settings/attrs.yaml | |
| - package_plugins/attrs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/click-*/*.patch | |
| - overrides/patches/click/*.patch | |
| - overrides/settings/click.yaml | |
| - package_plugins/click.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/filelock-*/*.patch | |
| - overrides/patches/filelock/*.patch | |
| - overrides/settings/filelock.yaml | |
| - package_plugins/filelock.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fire-*/*.patch | |
| - overrides/patches/fire/*.patch | |
| - overrides/settings/fire.yaml | |
| - package_plugins/fire.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/frozenlist-*/*.patch | |
| - overrides/patches/frozenlist/*.patch | |
| - overrides/settings/frozenlist.yaml | |
| - package_plugins/frozenlist.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fsspec-*/*.patch | |
| - overrides/patches/fsspec/*.patch | |
| - overrides/settings/fsspec.yaml | |
| - package_plugins/fsspec.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jinja2-*/*.patch | |
| - overrides/patches/jinja2/*.patch | |
| - overrides/settings/jinja2.yaml | |
| - package_plugins/jinja2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema-*/*.patch | |
| - overrides/patches/jsonschema/*.patch | |
| - overrides/settings/jsonschema.yaml | |
| - package_plugins/jsonschema.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema_specifications-*/*.patch | |
| - overrides/patches/jsonschema_specifications/*.patch | |
| - overrides/settings/jsonschema_specifications.yaml | |
| - package_plugins/jsonschema_specifications.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/markdown_it_py-*/*.patch | |
| - overrides/patches/markdown_it_py/*.patch | |
| - overrides/settings/markdown_it_py.yaml | |
| - package_plugins/markdown_it_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mdurl-*/*.patch | |
| - overrides/patches/mdurl/*.patch | |
| - overrides/settings/mdurl.yaml | |
| - package_plugins/mdurl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multidict-*/*.patch | |
| - overrides/patches/multidict/*.patch | |
| - overrides/settings/multidict.yaml | |
| - package_plugins/multidict.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numpy-*/*.patch | |
| - overrides/patches/numpy/*.patch | |
| - overrides/settings/numpy.yaml | |
| - package_plugins/numpy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/packaging-*/*.patch | |
| - overrides/patches/packaging/*.patch | |
| - overrides/settings/packaging.yaml | |
| - package_plugins/packaging.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pandas-*/*.patch | |
| - overrides/patches/pandas/*.patch | |
| - overrides/settings/pandas.yaml | |
| - package_plugins/pandas.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pillow-*/*.patch | |
| - overrides/patches/pillow/*.patch | |
| - overrides/settings/pillow.yaml | |
| - package_plugins/pillow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/prompt_toolkit-*/*.patch | |
| - overrides/patches/prompt_toolkit/*.patch | |
| - overrides/settings/prompt_toolkit.yaml | |
| - package_plugins/prompt_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/propcache-*/*.patch | |
| - overrides/patches/propcache/*.patch | |
| - overrides/settings/propcache.yaml | |
| - package_plugins/propcache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyaml-*/*.patch | |
| - overrides/patches/pyaml/*.patch | |
| - overrides/settings/pyaml.yaml | |
| - package_plugins/pyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyasn1-*/*.patch | |
| - overrides/patches/pyasn1/*.patch | |
| - overrides/settings/pyasn1.yaml | |
| - package_plugins/pyasn1.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pygments-*/*.patch | |
| - overrides/patches/pygments/*.patch | |
| - overrides/settings/pygments.yaml | |
| - package_plugins/pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dateutil-*/*.patch | |
| - overrides/patches/python_dateutil/*.patch | |
| - overrides/settings/python_dateutil.yaml | |
| - package_plugins/python_dateutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dotenv-*/*.patch | |
| - overrides/patches/python_dotenv/*.patch | |
| - overrides/settings/python_dotenv.yaml | |
| - package_plugins/python_dotenv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_jose-*/*.patch | |
| - overrides/patches/python_jose/*.patch | |
| - overrides/settings/python_jose.yaml | |
| - package_plugins/python_jose.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_multipart-*/*.patch | |
| - overrides/patches/python_multipart/*.patch | |
| - overrides/settings/python_multipart.yaml | |
| - package_plugins/python_multipart.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytz-*/*.patch | |
| - overrides/patches/pytz/*.patch | |
| - overrides/settings/pytz.yaml | |
| - package_plugins/pytz.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyyaml-*/*.patch | |
| - overrides/patches/pyyaml/*.patch | |
| - overrides/settings/pyyaml.yaml | |
| - package_plugins/pyyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/referencing-*/*.patch | |
| - overrides/patches/referencing/*.patch | |
| - overrides/settings/referencing.yaml | |
| - package_plugins/referencing.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/regex-*/*.patch | |
| - overrides/patches/regex/*.patch | |
| - overrides/settings/regex.yaml | |
| - package_plugins/regex.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rich-*/*.patch | |
| - overrides/patches/rich/*.patch | |
| - overrides/settings/rich.yaml | |
| - package_plugins/rich.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rpds_py-*/*.patch | |
| - overrides/patches/rpds_py/*.patch | |
| - overrides/settings/rpds_py.yaml | |
| - package_plugins/rpds_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/six-*/*.patch | |
| - overrides/patches/six/*.patch | |
| - overrides/settings/six.yaml | |
| - package_plugins/six.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/termcolor-*/*.patch | |
| - overrides/patches/termcolor/*.patch | |
| - overrides/settings/termcolor.yaml | |
| - package_plugins/termcolor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tiktoken-*/*.patch | |
| - overrides/patches/tiktoken/*.patch | |
| - overrides/settings/tiktoken.yaml | |
| - package_plugins/tiktoken.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tzdata-*/*.patch | |
| - overrides/patches/tzdata/*.patch | |
| - overrides/settings/tzdata.yaml | |
| - package_plugins/tzdata.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wcwidth-*/*.patch | |
| - overrides/patches/wcwidth/*.patch | |
| - overrides/settings/wcwidth.yaml | |
| - package_plugins/wcwidth.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosqlite-*/*.patch | |
| - overrides/patches/aiosqlite/*.patch | |
| - overrides/settings/aiosqlite.yaml | |
| - package_plugins/aiosqlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/autoevals-*/*.patch | |
| - overrides/patches/autoevals/*.patch | |
| - overrides/settings/autoevals.yaml | |
| - package_plugins/autoevals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/chardet-*/*.patch | |
| - overrides/patches/chardet/*.patch | |
| - overrides/settings/chardet.yaml | |
| - package_plugins/chardet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/datasets-*/*.patch | |
| - overrides/patches/datasets/*.patch | |
| - overrides/settings/datasets.yaml | |
| - package_plugins/datasets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/httpx-*/*.patch | |
| - overrides/patches/httpx/*.patch | |
| - overrides/settings/httpx.yaml | |
| - package_plugins/httpx.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kubernetes-*/*.patch | |
| - overrides/patches/kubernetes/*.patch | |
| - overrides/settings/kubernetes.yaml | |
| - package_plugins/kubernetes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_lmeval-*/*.patch | |
| - overrides/patches/llama_stack_provider_lmeval/*.patch | |
| - overrides/settings/llama_stack_provider_lmeval.yaml | |
| - package_plugins/llama_stack_provider_lmeval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_trustyai_fms-*/*.patch | |
| - overrides/patches/llama_stack_provider_trustyai_fms/*.patch | |
| - overrides/settings/llama_stack_provider_trustyai_fms.yaml | |
| - package_plugins/llama_stack_provider_trustyai_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nltk-*/*.patch | |
| - overrides/patches/nltk/*.patch | |
| - overrides/settings/nltk.yaml | |
| - package_plugins/nltk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http/*.patch | |
| - overrides/settings/opentelemetry_exporter_otlp_proto_http.yaml | |
| - package_plugins/opentelemetry_exporter_otlp_proto_http.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_sdk-*/*.patch | |
| - overrides/patches/opentelemetry_sdk/*.patch | |
| - overrides/settings/opentelemetry_sdk.yaml | |
| - package_plugins/opentelemetry_sdk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg2_binary-*/*.patch | |
| - overrides/patches/psycopg2_binary/*.patch | |
| - overrides/settings/psycopg2_binary.yaml | |
| - package_plugins/psycopg2_binary.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymongo-*/*.patch | |
| - overrides/patches/pymongo/*.patch | |
| - overrides/settings/pymongo.yaml | |
| - package_plugins/pymongo.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdf-*/*.patch | |
| - overrides/patches/pypdf/*.patch | |
| - overrides/settings/pypdf.yaml | |
| - package_plugins/pypdf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/redis-*/*.patch | |
| - overrides/patches/redis/*.patch | |
| - overrides/settings/redis.yaml | |
| - package_plugins/redis.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/requests-*/*.patch | |
| - overrides/patches/requests/*.patch | |
| - overrides/settings/requests.yaml | |
| - package_plugins/requests.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scikit_learn-*/*.patch | |
| - overrides/patches/scikit_learn/*.patch | |
| - overrides/settings/scikit_learn.yaml | |
| - package_plugins/scikit_learn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scipy-*/*.patch | |
| - overrides/patches/scipy/*.patch | |
| - overrides/settings/scipy.yaml | |
| - package_plugins/scipy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sqlalchemy-*/*.patch | |
| - overrides/patches/sqlalchemy/*.patch | |
| - overrides/settings/sqlalchemy.yaml | |
| - package_plugins/sqlalchemy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm-*/*.patch | |
| - overrides/patches/tqdm/*.patch | |
| - overrides/settings/tqdm.yaml | |
| - package_plugins/tqdm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/transformers-*/*.patch | |
| - overrides/patches/transformers/*.patch | |
| - overrides/settings/transformers.yaml | |
| - package_plugins/transformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn-*/*.patch | |
| - overrides/patches/uvicorn/*.patch | |
| - overrides/settings/uvicorn.yaml | |
| - package_plugins/uvicorn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymilvus-*/*.patch | |
| - overrides/patches/pymilvus/*.patch | |
| - overrides/settings/pymilvus.yaml | |
| - package_plugins/pymilvus.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/milvus_lite-*/*.patch | |
| - overrides/patches/milvus_lite/*.patch | |
| - overrides/settings/milvus_lite.yaml | |
| - package_plugins/milvus_lite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rtree-*/*.patch | |
| - overrides/patches/rtree/*.patch | |
| - overrides/settings/rtree.yaml | |
| - package_plugins/rtree.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/grpcio-*/*.patch | |
| - overrides/patches/grpcio/*.patch | |
| - overrides/settings/grpcio.yaml | |
| - package_plugins/grpcio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cbor2-*/*.patch | |
| - overrides/patches/cbor2/*.patch | |
| - overrides/settings/cbor2.yaml | |
| - package_plugins/cbor2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/outlines_core-*/*.patch | |
| - overrides/patches/outlines_core/*.patch | |
| - overrides/settings/outlines_core.yaml | |
| - package_plugins/outlines_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setproctitle-*/*.patch | |
| - overrides/patches/setproctitle/*.patch | |
| - overrides/settings/setproctitle.yaml | |
| - package_plugins/setproctitle.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai_harmony-*/*.patch | |
| - overrides/patches/openai_harmony/*.patch | |
| - overrides/settings/openai_harmony.yaml | |
| - package_plugins/openai_harmony.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uv-*/*.patch | |
| - overrides/patches/uv/*.patch | |
| - overrides/settings/uv.yaml | |
| - package_plugins/uv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psutil-*/*.patch | |
| - overrides/patches/psutil/*.patch | |
| - overrides/settings/psutil.yaml | |
| - package_plugins/psutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/polars-*/*.patch | |
| - overrides/patches/polars/*.patch | |
| - overrides/settings/polars.yaml | |
| - package_plugins/polars.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docker-*/*.patch | |
| - overrides/patches/docker/*.patch | |
| - overrides/settings/docker.yaml | |
| - package_plugins/docker.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn_worker-*/*.patch | |
| - overrides/patches/uvicorn_worker/*.patch | |
| - overrides/settings/uvicorn_worker.yaml | |
| - package_plugins/uvicorn_worker.py | |
| ".trigger-torch-2.8.0-cpu-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| ".trigger-torch-2.8.0-cuda12.8-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_cpp_python-*/*.patch | |
| - overrides/patches/llama_cpp_python/*.patch | |
| - overrides/settings/llama_cpp_python.yaml | |
| - package_plugins/llama_cpp_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| ".trigger-torch-2.8.0-cuda12.9-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_pathfinder-*/*.patch | |
| - overrides/patches/cuda_pathfinder/*.patch | |
| - overrides/settings/cuda_pathfinder.yaml | |
| - package_plugins/cuda_pathfinder.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| ".trigger-torch-2.8.0-rocm6.4-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aotriton-*/*.patch | |
| - overrides/patches/aotriton/*.patch | |
| - overrides/settings/aotriton.yaml | |
| - package_plugins/aotriton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_cpp_python-*/*.patch | |
| - overrides/patches/llama_cpp_python/*.patch | |
| - overrides/settings/llama_cpp_python.yaml | |
| - package_plugins/llama_cpp_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/amdsmi-*/*.patch | |
| - overrides/patches/amdsmi/*.patch | |
| - overrides/settings/amdsmi.yaml | |
| - package_plugins/amdsmi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_s3-*/*.patch | |
| - overrides/patches/runai_model_streamer_s3/*.patch | |
| - overrides/settings/runai_model_streamer_s3.yaml | |
| - package_plugins/runai_model_streamer_s3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer-*/*.patch | |
| - overrides/patches/runai_model_streamer/*.patch | |
| - overrides/settings/runai_model_streamer.yaml | |
| - package_plugins/runai_model_streamer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_xet-*/*.patch | |
| - overrides/patches/hf_xet/*.patch | |
| - overrides/settings/hf_xet.yaml | |
| - package_plugins/hf_xet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab-*/*.patch | |
| - overrides/patches/jupyterlab/*.patch | |
| - overrides/settings/jupyterlab.yaml | |
| - package_plugins/jupyterlab.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server-*/*.patch | |
| - overrides/patches/jupyter_server/*.patch | |
| - overrides/settings/jupyter_server.yaml | |
| - package_plugins/jupyter_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_mathjax-*/*.patch | |
| - overrides/patches/jupyter_server_mathjax/*.patch | |
| - overrides/settings/jupyter_server_mathjax.yaml | |
| - package_plugins/jupyter_server_mathjax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_proxy-*/*.patch | |
| - overrides/patches/jupyter_server_proxy/*.patch | |
| - overrides/settings/jupyter_server_proxy.yaml | |
| - package_plugins/jupyter_server_proxy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_terminals-*/*.patch | |
| - overrides/patches/jupyter_server_terminals/*.patch | |
| - overrides/settings/jupyter_server_terminals.yaml | |
| - package_plugins/jupyter_server_terminals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_git-*/*.patch | |
| - overrides/patches/jupyterlab_git/*.patch | |
| - overrides/settings/jupyterlab_git.yaml | |
| - package_plugins/jupyterlab_git.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbdime-*/*.patch | |
| - overrides/patches/nbdime/*.patch | |
| - overrides/settings/nbdime.yaml | |
| - package_plugins/nbdime.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbgitpuller-*/*.patch | |
| - overrides/patches/nbgitpuller/*.patch | |
| - overrides/settings/nbgitpuller.yaml | |
| - package_plugins/nbgitpuller.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_bokeh-*/*.patch | |
| - overrides/patches/jupyter_bokeh/*.patch | |
| - overrides/settings/jupyter_bokeh.yaml | |
| - package_plugins/jupyter_bokeh.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_lsp-*/*.patch | |
| - overrides/patches/jupyterlab_lsp/*.patch | |
| - overrides/settings/jupyterlab_lsp.yaml | |
| - package_plugins/jupyterlab_lsp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_widgets-*/*.patch | |
| - overrides/patches/jupyterlab_widgets/*.patch | |
| - overrides/settings/jupyterlab_widgets.yaml | |
| - package_plugins/jupyterlab_widgets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_resource_usage-*/*.patch | |
| - overrides/patches/jupyter_resource_usage/*.patch | |
| - overrides/settings/jupyter_resource_usage.yaml | |
| - package_plugins/jupyter_resource_usage.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/conch_triton_kernels-*/*.patch | |
| - overrides/patches/conch_triton_kernels/*.patch | |
| - overrides/settings/conch_triton_kernels.yaml | |
| - package_plugins/conch_triton_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/timm-*/*.patch | |
| - overrides/patches/timm/*.patch | |
| - overrides/settings/timm.yaml | |
| - package_plugins/timm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiter-*/*.patch | |
| - overrides/patches/aiter/*.patch | |
| - overrides/settings/aiter.yaml | |
| - package_plugins/aiter.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_prometheus-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_prometheus/*.patch | |
| - overrides/settings/opentelemetry_exporter_prometheus.yaml | |
| - package_plugins/opentelemetry_exporter_prometheus.py | |
| ".trigger-torch-2.8.0-rocm7.0-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aotriton-*/*.patch | |
| - overrides/patches/aotriton/*.patch | |
| - overrides/settings/aotriton.yaml | |
| - package_plugins/aotriton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_cpp_python-*/*.patch | |
| - overrides/patches/llama_cpp_python/*.patch | |
| - overrides/settings/llama_cpp_python.yaml | |
| - package_plugins/llama_cpp_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/amdsmi-*/*.patch | |
| - overrides/patches/amdsmi/*.patch | |
| - overrides/settings/amdsmi.yaml | |
| - package_plugins/amdsmi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_s3-*/*.patch | |
| - overrides/patches/runai_model_streamer_s3/*.patch | |
| - overrides/settings/runai_model_streamer_s3.yaml | |
| - package_plugins/runai_model_streamer_s3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer-*/*.patch | |
| - overrides/patches/runai_model_streamer/*.patch | |
| - overrides/settings/runai_model_streamer.yaml | |
| - package_plugins/runai_model_streamer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_xet-*/*.patch | |
| - overrides/patches/hf_xet/*.patch | |
| - overrides/settings/hf_xet.yaml | |
| - package_plugins/hf_xet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab-*/*.patch | |
| - overrides/patches/jupyterlab/*.patch | |
| - overrides/settings/jupyterlab.yaml | |
| - package_plugins/jupyterlab.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server-*/*.patch | |
| - overrides/patches/jupyter_server/*.patch | |
| - overrides/settings/jupyter_server.yaml | |
| - package_plugins/jupyter_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_mathjax-*/*.patch | |
| - overrides/patches/jupyter_server_mathjax/*.patch | |
| - overrides/settings/jupyter_server_mathjax.yaml | |
| - package_plugins/jupyter_server_mathjax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_proxy-*/*.patch | |
| - overrides/patches/jupyter_server_proxy/*.patch | |
| - overrides/settings/jupyter_server_proxy.yaml | |
| - package_plugins/jupyter_server_proxy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_terminals-*/*.patch | |
| - overrides/patches/jupyter_server_terminals/*.patch | |
| - overrides/settings/jupyter_server_terminals.yaml | |
| - package_plugins/jupyter_server_terminals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_git-*/*.patch | |
| - overrides/patches/jupyterlab_git/*.patch | |
| - overrides/settings/jupyterlab_git.yaml | |
| - package_plugins/jupyterlab_git.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbdime-*/*.patch | |
| - overrides/patches/nbdime/*.patch | |
| - overrides/settings/nbdime.yaml | |
| - package_plugins/nbdime.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbgitpuller-*/*.patch | |
| - overrides/patches/nbgitpuller/*.patch | |
| - overrides/settings/nbgitpuller.yaml | |
| - package_plugins/nbgitpuller.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_bokeh-*/*.patch | |
| - overrides/patches/jupyter_bokeh/*.patch | |
| - overrides/settings/jupyter_bokeh.yaml | |
| - package_plugins/jupyter_bokeh.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_lsp-*/*.patch | |
| - overrides/patches/jupyterlab_lsp/*.patch | |
| - overrides/settings/jupyterlab_lsp.yaml | |
| - package_plugins/jupyterlab_lsp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_widgets-*/*.patch | |
| - overrides/patches/jupyterlab_widgets/*.patch | |
| - overrides/settings/jupyterlab_widgets.yaml | |
| - package_plugins/jupyterlab_widgets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_resource_usage-*/*.patch | |
| - overrides/patches/jupyter_resource_usage/*.patch | |
| - overrides/settings/jupyter_resource_usage.yaml | |
| - package_plugins/jupyter_resource_usage.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/conch_triton_kernels-*/*.patch | |
| - overrides/patches/conch_triton_kernels/*.patch | |
| - overrides/settings/conch_triton_kernels.yaml | |
| - package_plugins/conch_triton_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/timm-*/*.patch | |
| - overrides/patches/timm/*.patch | |
| - overrides/settings/timm.yaml | |
| - package_plugins/timm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiter-*/*.patch | |
| - overrides/patches/aiter/*.patch | |
| - overrides/settings/aiter.yaml | |
| - package_plugins/aiter.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_prometheus-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_prometheus/*.patch | |
| - overrides/settings/opentelemetry_exporter_prometheus.yaml | |
| - package_plugins/opentelemetry_exporter_prometheus.py | |
| ".trigger-torch-2.8.0-tpu-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch_xla-*/*.patch | |
| - overrides/patches/torch_xla/*.patch | |
| - overrides/settings/torch_xla.yaml | |
| - package_plugins/torch_xla.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jax-*/*.patch | |
| - overrides/patches/jax/*.patch | |
| - overrides/settings/jax.yaml | |
| - package_plugins/jax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jaxlib-*/*.patch | |
| - overrides/patches/jaxlib/*.patch | |
| - overrides/settings/jaxlib.yaml | |
| - package_plugins/jaxlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setuptools_scm-*/*.patch | |
| - overrides/patches/setuptools_scm/*.patch | |
| - overrides/settings/setuptools_scm.yaml | |
| - package_plugins/setuptools_scm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/libtpu-*/*.patch | |
| - overrides/patches/libtpu/*.patch | |
| - overrides/settings/libtpu.yaml | |
| - package_plugins/libtpu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tpu_info-*/*.patch | |
| - overrides/patches/tpu_info/*.patch | |
| - overrides/settings/tpu_info.yaml | |
| - package_plugins/tpu_info.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opt_einsum-*/*.patch | |
| - overrides/patches/opt_einsum/*.patch | |
| - overrides/settings/opt_einsum.yaml | |
| - package_plugins/opt_einsum.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/timm-*/*.patch | |
| - overrides/patches/timm/*.patch | |
| - overrides/settings/timm.yaml | |
| - package_plugins/timm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_prometheus-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_prometheus/*.patch | |
| - overrides/settings/opentelemetry_exporter_prometheus.yaml | |
| - package_plugins/opentelemetry_exporter_prometheus.py | |
| ".trigger-torch-2.9.0-cpu-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| ".trigger-torch-2.9.0-cuda12.8-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/apache_tvm_ffi-*/*.patch | |
| - overrides/patches/apache_tvm_ffi/*.patch | |
| - overrides/settings/apache_tvm_ffi.yaml | |
| - package_plugins/apache_tvm_ffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| ".trigger-torch-2.9.0-cuda12.9-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/apache_tvm_ffi-*/*.patch | |
| - overrides/patches/apache_tvm_ffi/*.patch | |
| - overrides/settings/apache_tvm_ffi.yaml | |
| - package_plugins/apache_tvm_ffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| ".trigger-torch-2.9.0-rocm6.4-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aotriton-*/*.patch | |
| - overrides/patches/aotriton/*.patch | |
| - overrides/settings/aotriton.yaml | |
| - package_plugins/aotriton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiter-*/*.patch | |
| - overrides/patches/aiter/*.patch | |
| - overrides/settings/aiter.yaml | |
| - package_plugins/aiter.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer-*/*.patch | |
| - overrides/patches/runai_model_streamer/*.patch | |
| - overrides/settings/runai_model_streamer.yaml | |
| - package_plugins/runai_model_streamer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_s3-*/*.patch | |
| - overrides/patches/runai_model_streamer_s3/*.patch | |
| - overrides/settings/runai_model_streamer_s3.yaml | |
| - package_plugins/runai_model_streamer_s3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_gcs-*/*.patch | |
| - overrides/patches/runai_model_streamer_gcs/*.patch | |
| - overrides/settings/runai_model_streamer_gcs.yaml | |
| - package_plugins/runai_model_streamer_gcs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| ".trigger-torch-2.9.0-rocm7.0-ubi9": | |
| rules: | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aotriton-*/*.patch | |
| - overrides/patches/aotriton/*.patch | |
| - overrides/settings/aotriton.yaml | |
| - package_plugins/aotriton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiter-*/*.patch | |
| - overrides/patches/aiter/*.patch | |
| - overrides/settings/aiter.yaml | |
| - package_plugins/aiter.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer-*/*.patch | |
| - overrides/patches/runai_model_streamer/*.patch | |
| - overrides/settings/runai_model_streamer.yaml | |
| - package_plugins/runai_model_streamer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_s3-*/*.patch | |
| - overrides/patches/runai_model_streamer_s3/*.patch | |
| - overrides/settings/runai_model_streamer_s3.yaml | |
| - package_plugins/runai_model_streamer_s3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/runai_model_streamer_gcs-*/*.patch | |
| - overrides/patches/runai_model_streamer_gcs/*.patch | |
| - overrides/settings/runai_model_streamer_gcs.yaml | |
| - package_plugins/runai_model_streamer_gcs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| build-image-cpu-ubi9-aarch64: | |
| image: quay.io/buildah/stable:v1.40.1 | |
| retry: 0 | |
| stage: build-images | |
| interruptible: true | |
| tags: | |
| - aipcc-small-aarch64 | |
| variables: | |
| ARCH: aarch64 | |
| VARIANT: cpu-ubi9 | |
| before_script: | |
| - dnf install -y which ncurses | |
| - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | |
| - | | |
| case ${VARIANT} in | |
| cuda*) CONTAINERFILE="Containerfile.cuda-ubi9" ;; | |
| rocm*) CONTAINERFILE="Containerfile.rocm-ubi9" ;; | |
| *) CONTAINERFILE="Containerfile.${VARIANT}" ;; | |
| esac | |
| - echo CONTAINERFILE=$CONTAINERFILE | |
| - if [ -n "$CI_COMMIT_TAG" ]; then echo "Using tag for version"; IMAGE_TAG="$CI_COMMIT_TAG"; | |
| else echo "Generating version from MR IID"; IMAGE_TAG="${BUILDER_IMAGE_VERSION}"; | |
| fi | |
| - echo IMAGE_TAG=$IMAGE_TAG | |
| - IMAGE_BASE="${CI_REGISTRY}/${CI_PROJECT_PATH}/builder-${VARIANT}-${ARCH}" | |
| - echo IMAGE_BASE=$IMAGE_BASE | |
| - IMAGE="${IMAGE_BASE}:${IMAGE_TAG}" | |
| - echo IMAGE=$IMAGE | |
| script: | |
| - mkdir -p ${SECURE_FILES_DOWNLOAD_PATH} | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${SECURE_FILES_DOWNLOAD_PATH}/.netrc | |
| - | | |
| buildah bud \ | |
| --secret=id=netrc,src=${SECURE_FILES_DOWNLOAD_PATH}/.netrc \ | |
| -f ${CONTAINERFILE} \ | |
| --layers --cache-from ${IMAGE_BASE} --cache-to ${IMAGE_BASE} \ | |
| -t ${IMAGE} \ | |
| --build-arg TOOL_SERVER_URL=${TOOL_SERVER_URL} \ | |
| --build-arg FROMAGER_NETWORK_ISOLATION=${FROMAGER_NETWORK_ISOLATION} \ | |
| --build-arg-file build-args/common.conf \ | |
| --build-arg-file build-args/${VARIANT}.conf \ | |
| --build-arg-file build-args/rhelai.conf \ | |
| --build-arg BUILDER_IMAGE_VERSION=${IMAGE_TAG} \ | |
| . | |
| - buildah push ${IMAGE} | |
| rules: | |
| - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - collections/*/$VARIANT/* | |
| - collections/global-constraints.txt | |
| - collections/global-requirements.txt | |
| - build-args/*.conf | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - gitlab-ci/images.yml | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $VARIANT == "cpu-ubi9" | |
| changes: | |
| - pipeline-api/* | |
| - collections/api-test/cpu-ubi9/* | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| needs: | |
| - job: linter | |
| optional: true | |
| - job: changelog-linter | |
| optional: true | |
| - job: update-tool-server | |
| optional: true | |
| ".api-test-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/api-test/constraints-rules.txt | |
| - collections/api-test/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "false" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "api-test" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| api-test-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS: false | |
| PUBLISH_WHEEL_RELEASES: true | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| - job: linter | |
| test-api-test-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $ENABLE_TEST_JOBS == "false" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/**/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| api-test-cpu-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: api-test-cpu-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| api-test-cpu-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: api-test-cpu-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| api-test-cpu-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".api-test-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: api-test-cpu-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| non-accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| test-non-accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyzmq-*/*.patch | |
| - overrides/patches/pyzmq/*.patch | |
| - overrides/settings/pyzmq.yaml | |
| - package_plugins/pyzmq.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opencv_python_headless-*/*.patch | |
| - overrides/patches/opencv_python_headless/*.patch | |
| - overrides/settings/opencv_python_headless.yaml | |
| - package_plugins/opencv_python_headless.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdfium2-*/*.patch | |
| - overrides/patches/pypdfium2/*.patch | |
| - overrides/settings/pypdfium2.yaml | |
| - package_plugins/pypdfium2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tesserocr-*/*.patch | |
| - overrides/patches/tesserocr/*.patch | |
| - overrides/settings/tesserocr.yaml | |
| - package_plugins/tesserocr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/certifi-*/*.patch | |
| - overrides/patches/certifi/*.patch | |
| - overrides/settings/certifi.yaml | |
| - package_plugins/certifi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fastapi-*/*.patch | |
| - overrides/patches/fastapi/*.patch | |
| - overrides/settings/fastapi.yaml | |
| - package_plugins/fastapi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/meson-*/*.patch | |
| - overrides/patches/meson/*.patch | |
| - overrides/settings/meson.yaml | |
| - package_plugins/meson.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pydantic_core-*/*.patch | |
| - overrides/patches/pydantic_core/*.patch | |
| - overrides/settings/pydantic_core.yaml | |
| - package_plugins/pydantic_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm_multiprocess-*/*.patch | |
| - overrides/patches/tqdm_multiprocess/*.patch | |
| - overrides/settings/tqdm_multiprocess.yaml | |
| - package_plugins/tqdm_multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_pygments-*/*.patch | |
| - overrides/patches/jupyterlab_pygments/*.patch | |
| - overrides/settings/jupyterlab_pygments.yaml | |
| - package_plugins/jupyterlab_pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sacrebleu-*/*.patch | |
| - overrides/patches/sacrebleu/*.patch | |
| - overrides/settings/sacrebleu.yaml | |
| - package_plugins/sacrebleu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/yarl-*/*.patch | |
| - overrides/patches/yarl/*.patch | |
| - overrides/settings/yarl.yaml | |
| - package_plugins/yarl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/gast-*/*.patch | |
| - overrides/patches/gast/*.patch | |
| - overrides/settings/gast.yaml | |
| - package_plugins/gast.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flit_core-*/*.patch | |
| - overrides/patches/flit_core/*.patch | |
| - overrides/settings/flit_core.yaml | |
| - package_plugins/flit_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kfp-*/*.patch | |
| - overrides/patches/kfp/*.patch | |
| - overrides/settings/kfp.yaml | |
| - package_plugins/kfp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multiprocess-*/*.patch | |
| - overrides/patches/multiprocess/*.patch | |
| - overrides/settings/multiprocess.yaml | |
| - package_plugins/multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_client-*/*.patch | |
| - overrides/patches/qdrant_client/*.patch | |
| - overrides/settings/qdrant_client.yaml | |
| - package_plugins/qdrant_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/langchain_qdrant-*/*.patch | |
| - overrides/patches/langchain_qdrant/*.patch | |
| - overrides/settings/langchain_qdrant.yaml | |
| - package_plugins/langchain_qdrant.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_haystack-*/*.patch | |
| - overrides/patches/qdrant_haystack/*.patch | |
| - overrides/settings/qdrant_haystack.yaml | |
| - package_plugins/qdrant_haystack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/haystack_ai-*/*.patch | |
| - overrides/patches/haystack_ai/*.patch | |
| - overrides/settings/haystack_ai.yaml | |
| - package_plugins/haystack_ai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack-*/*.patch | |
| - overrides/patches/llama_stack/*.patch | |
| - overrides/settings/llama_stack.yaml | |
| - package_plugins/llama_stack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai-*/*.patch | |
| - overrides/patches/openai/*.patch | |
| - overrides/settings/openai.yaml | |
| - package_plugins/openai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_client-*/*.patch | |
| - overrides/patches/llama_stack_client/*.patch | |
| - overrides/settings/llama_stack_client.yaml | |
| - package_plugins/llama_stack_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h5py-*/*.patch | |
| - overrides/patches/h5py/*.patch | |
| - overrides/settings/h5py.yaml | |
| - package_plugins/h5py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/boto3-*/*.patch | |
| - overrides/patches/boto3/*.patch | |
| - overrides/settings/boto3.yaml | |
| - package_plugins/boto3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/submodlib_py-*/*.patch | |
| - overrides/patches/submodlib_py/*.patch | |
| - overrides/settings/submodlib_py.yaml | |
| - package_plugins/submodlib_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ipython-*/*.patch | |
| - overrides/patches/ipython/*.patch | |
| - overrides/settings/ipython.yaml | |
| - package_plugins/ipython.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/notebook-*/*.patch | |
| - overrides/patches/notebook/*.patch | |
| - overrides/settings/notebook.yaml | |
| - package_plugins/notebook.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/matplotlib-*/*.patch | |
| - overrides/patches/matplotlib/*.patch | |
| - overrides/settings/matplotlib.yaml | |
| - package_plugins/matplotlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mysql_connector_python-*/*.patch | |
| - overrides/patches/mysql_connector_python/*.patch | |
| - overrides/settings/mysql_connector_python.yaml | |
| - package_plugins/mysql_connector_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyodbc-*/*.patch | |
| - overrides/patches/pyodbc/*.patch | |
| - overrides/settings/pyodbc.yaml | |
| - package_plugins/pyodbc.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg-*/*.patch | |
| - overrides/patches/psycopg/*.patch | |
| - overrides/settings/psycopg.yaml | |
| - package_plugins/psycopg.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soxr-*/*.patch | |
| - overrides/patches/soxr/*.patch | |
| - overrides/settings/soxr.yaml | |
| - package_plugins/soxr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/librosa-*/*.patch | |
| - overrides/patches/librosa/*.patch | |
| - overrides/settings/librosa.yaml | |
| - package_plugins/librosa.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soundfile-*/*.patch | |
| - overrides/patches/soundfile/*.patch | |
| - overrides/settings/soundfile.yaml | |
| - package_plugins/soundfile.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hatch_fancy_pypi_readme-*/*.patch | |
| - overrides/patches/hatch_fancy_pypi_readme/*.patch | |
| - overrides/settings/hatch_fancy_pypi_readme.yaml | |
| - package_plugins/hatch_fancy_pypi_readme.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soupsieve-*/*.patch | |
| - overrides/patches/soupsieve/*.patch | |
| - overrides/settings/soupsieve.yaml | |
| - package_plugins/soupsieve.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ply-*/*.patch | |
| - overrides/patches/ply/*.patch | |
| - overrides/settings/ply.yaml | |
| - package_plugins/ply.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sentencepiece-*/*.patch | |
| - overrides/patches/sentencepiece/*.patch | |
| - overrides/settings/sentencepiece.yaml | |
| - package_plugins/sentencepiece.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/argon2_cffi-*/*.patch | |
| - overrides/patches/argon2_cffi/*.patch | |
| - overrides/settings/argon2_cffi.yaml | |
| - package_plugins/argon2_cffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_transfer-*/*.patch | |
| - overrides/patches/hf_transfer/*.patch | |
| - overrides/settings/hf_transfer.yaml | |
| - package_plugins/hf_transfer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard-*/*.patch | |
| - overrides/patches/tensorboard/*.patch | |
| - overrides/settings/tensorboard.yaml | |
| - package_plugins/tensorboard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard_data_server-*/*.patch | |
| - overrides/patches/tensorboard_data_server/*.patch | |
| - overrides/settings/tensorboard_data_server.yaml | |
| - package_plugins/tensorboard_data_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h11-*/*.patch | |
| - overrides/patches/h11/*.patch | |
| - overrides/settings/h11.yaml | |
| - package_plugins/h11.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/zstandard-*/*.patch | |
| - overrides/patches/zstandard/*.patch | |
| - overrides/settings/zstandard.yaml | |
| - package_plugins/zstandard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mcp-*/*.patch | |
| - overrides/patches/mcp/*.patch | |
| - overrides/settings/mcp.yaml | |
| - package_plugins/mcp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/MarkupSafe-*/*.patch | |
| - overrides/patches/MarkupSafe/*.patch | |
| - overrides/settings/MarkupSafe.yaml | |
| - package_plugins/MarkupSafe.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohappyeyeballs-*/*.patch | |
| - overrides/patches/aiohappyeyeballs/*.patch | |
| - overrides/settings/aiohappyeyeballs.yaml | |
| - package_plugins/aiohappyeyeballs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohttp-*/*.patch | |
| - overrides/patches/aiohttp/*.patch | |
| - overrides/settings/aiohttp.yaml | |
| - package_plugins/aiohttp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosignal-*/*.patch | |
| - overrides/patches/aiosignal/*.patch | |
| - overrides/settings/aiosignal.yaml | |
| - package_plugins/aiosignal.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/attrs-*/*.patch | |
| - overrides/patches/attrs/*.patch | |
| - overrides/settings/attrs.yaml | |
| - package_plugins/attrs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/click-*/*.patch | |
| - overrides/patches/click/*.patch | |
| - overrides/settings/click.yaml | |
| - package_plugins/click.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/filelock-*/*.patch | |
| - overrides/patches/filelock/*.patch | |
| - overrides/settings/filelock.yaml | |
| - package_plugins/filelock.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fire-*/*.patch | |
| - overrides/patches/fire/*.patch | |
| - overrides/settings/fire.yaml | |
| - package_plugins/fire.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/frozenlist-*/*.patch | |
| - overrides/patches/frozenlist/*.patch | |
| - overrides/settings/frozenlist.yaml | |
| - package_plugins/frozenlist.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fsspec-*/*.patch | |
| - overrides/patches/fsspec/*.patch | |
| - overrides/settings/fsspec.yaml | |
| - package_plugins/fsspec.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jinja2-*/*.patch | |
| - overrides/patches/jinja2/*.patch | |
| - overrides/settings/jinja2.yaml | |
| - package_plugins/jinja2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema-*/*.patch | |
| - overrides/patches/jsonschema/*.patch | |
| - overrides/settings/jsonschema.yaml | |
| - package_plugins/jsonschema.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema_specifications-*/*.patch | |
| - overrides/patches/jsonschema_specifications/*.patch | |
| - overrides/settings/jsonschema_specifications.yaml | |
| - package_plugins/jsonschema_specifications.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/markdown_it_py-*/*.patch | |
| - overrides/patches/markdown_it_py/*.patch | |
| - overrides/settings/markdown_it_py.yaml | |
| - package_plugins/markdown_it_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mdurl-*/*.patch | |
| - overrides/patches/mdurl/*.patch | |
| - overrides/settings/mdurl.yaml | |
| - package_plugins/mdurl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multidict-*/*.patch | |
| - overrides/patches/multidict/*.patch | |
| - overrides/settings/multidict.yaml | |
| - package_plugins/multidict.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numpy-*/*.patch | |
| - overrides/patches/numpy/*.patch | |
| - overrides/settings/numpy.yaml | |
| - package_plugins/numpy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/packaging-*/*.patch | |
| - overrides/patches/packaging/*.patch | |
| - overrides/settings/packaging.yaml | |
| - package_plugins/packaging.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pandas-*/*.patch | |
| - overrides/patches/pandas/*.patch | |
| - overrides/settings/pandas.yaml | |
| - package_plugins/pandas.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pillow-*/*.patch | |
| - overrides/patches/pillow/*.patch | |
| - overrides/settings/pillow.yaml | |
| - package_plugins/pillow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/prompt_toolkit-*/*.patch | |
| - overrides/patches/prompt_toolkit/*.patch | |
| - overrides/settings/prompt_toolkit.yaml | |
| - package_plugins/prompt_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/propcache-*/*.patch | |
| - overrides/patches/propcache/*.patch | |
| - overrides/settings/propcache.yaml | |
| - package_plugins/propcache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyaml-*/*.patch | |
| - overrides/patches/pyaml/*.patch | |
| - overrides/settings/pyaml.yaml | |
| - package_plugins/pyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyasn1-*/*.patch | |
| - overrides/patches/pyasn1/*.patch | |
| - overrides/settings/pyasn1.yaml | |
| - package_plugins/pyasn1.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pygments-*/*.patch | |
| - overrides/patches/pygments/*.patch | |
| - overrides/settings/pygments.yaml | |
| - package_plugins/pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dateutil-*/*.patch | |
| - overrides/patches/python_dateutil/*.patch | |
| - overrides/settings/python_dateutil.yaml | |
| - package_plugins/python_dateutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dotenv-*/*.patch | |
| - overrides/patches/python_dotenv/*.patch | |
| - overrides/settings/python_dotenv.yaml | |
| - package_plugins/python_dotenv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_jose-*/*.patch | |
| - overrides/patches/python_jose/*.patch | |
| - overrides/settings/python_jose.yaml | |
| - package_plugins/python_jose.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_multipart-*/*.patch | |
| - overrides/patches/python_multipart/*.patch | |
| - overrides/settings/python_multipart.yaml | |
| - package_plugins/python_multipart.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytz-*/*.patch | |
| - overrides/patches/pytz/*.patch | |
| - overrides/settings/pytz.yaml | |
| - package_plugins/pytz.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyyaml-*/*.patch | |
| - overrides/patches/pyyaml/*.patch | |
| - overrides/settings/pyyaml.yaml | |
| - package_plugins/pyyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/referencing-*/*.patch | |
| - overrides/patches/referencing/*.patch | |
| - overrides/settings/referencing.yaml | |
| - package_plugins/referencing.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/regex-*/*.patch | |
| - overrides/patches/regex/*.patch | |
| - overrides/settings/regex.yaml | |
| - package_plugins/regex.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rich-*/*.patch | |
| - overrides/patches/rich/*.patch | |
| - overrides/settings/rich.yaml | |
| - package_plugins/rich.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rpds_py-*/*.patch | |
| - overrides/patches/rpds_py/*.patch | |
| - overrides/settings/rpds_py.yaml | |
| - package_plugins/rpds_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/six-*/*.patch | |
| - overrides/patches/six/*.patch | |
| - overrides/settings/six.yaml | |
| - package_plugins/six.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/termcolor-*/*.patch | |
| - overrides/patches/termcolor/*.patch | |
| - overrides/settings/termcolor.yaml | |
| - package_plugins/termcolor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tiktoken-*/*.patch | |
| - overrides/patches/tiktoken/*.patch | |
| - overrides/settings/tiktoken.yaml | |
| - package_plugins/tiktoken.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tzdata-*/*.patch | |
| - overrides/patches/tzdata/*.patch | |
| - overrides/settings/tzdata.yaml | |
| - package_plugins/tzdata.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wcwidth-*/*.patch | |
| - overrides/patches/wcwidth/*.patch | |
| - overrides/settings/wcwidth.yaml | |
| - package_plugins/wcwidth.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosqlite-*/*.patch | |
| - overrides/patches/aiosqlite/*.patch | |
| - overrides/settings/aiosqlite.yaml | |
| - package_plugins/aiosqlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/autoevals-*/*.patch | |
| - overrides/patches/autoevals/*.patch | |
| - overrides/settings/autoevals.yaml | |
| - package_plugins/autoevals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/chardet-*/*.patch | |
| - overrides/patches/chardet/*.patch | |
| - overrides/settings/chardet.yaml | |
| - package_plugins/chardet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/datasets-*/*.patch | |
| - overrides/patches/datasets/*.patch | |
| - overrides/settings/datasets.yaml | |
| - package_plugins/datasets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/httpx-*/*.patch | |
| - overrides/patches/httpx/*.patch | |
| - overrides/settings/httpx.yaml | |
| - package_plugins/httpx.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kubernetes-*/*.patch | |
| - overrides/patches/kubernetes/*.patch | |
| - overrides/settings/kubernetes.yaml | |
| - package_plugins/kubernetes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_lmeval-*/*.patch | |
| - overrides/patches/llama_stack_provider_lmeval/*.patch | |
| - overrides/settings/llama_stack_provider_lmeval.yaml | |
| - package_plugins/llama_stack_provider_lmeval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_trustyai_fms-*/*.patch | |
| - overrides/patches/llama_stack_provider_trustyai_fms/*.patch | |
| - overrides/settings/llama_stack_provider_trustyai_fms.yaml | |
| - package_plugins/llama_stack_provider_trustyai_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nltk-*/*.patch | |
| - overrides/patches/nltk/*.patch | |
| - overrides/settings/nltk.yaml | |
| - package_plugins/nltk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http/*.patch | |
| - overrides/settings/opentelemetry_exporter_otlp_proto_http.yaml | |
| - package_plugins/opentelemetry_exporter_otlp_proto_http.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_sdk-*/*.patch | |
| - overrides/patches/opentelemetry_sdk/*.patch | |
| - overrides/settings/opentelemetry_sdk.yaml | |
| - package_plugins/opentelemetry_sdk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg2_binary-*/*.patch | |
| - overrides/patches/psycopg2_binary/*.patch | |
| - overrides/settings/psycopg2_binary.yaml | |
| - package_plugins/psycopg2_binary.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymongo-*/*.patch | |
| - overrides/patches/pymongo/*.patch | |
| - overrides/settings/pymongo.yaml | |
| - package_plugins/pymongo.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdf-*/*.patch | |
| - overrides/patches/pypdf/*.patch | |
| - overrides/settings/pypdf.yaml | |
| - package_plugins/pypdf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/redis-*/*.patch | |
| - overrides/patches/redis/*.patch | |
| - overrides/settings/redis.yaml | |
| - package_plugins/redis.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/requests-*/*.patch | |
| - overrides/patches/requests/*.patch | |
| - overrides/settings/requests.yaml | |
| - package_plugins/requests.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scikit_learn-*/*.patch | |
| - overrides/patches/scikit_learn/*.patch | |
| - overrides/settings/scikit_learn.yaml | |
| - package_plugins/scikit_learn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scipy-*/*.patch | |
| - overrides/patches/scipy/*.patch | |
| - overrides/settings/scipy.yaml | |
| - package_plugins/scipy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sqlalchemy-*/*.patch | |
| - overrides/patches/sqlalchemy/*.patch | |
| - overrides/settings/sqlalchemy.yaml | |
| - package_plugins/sqlalchemy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm-*/*.patch | |
| - overrides/patches/tqdm/*.patch | |
| - overrides/settings/tqdm.yaml | |
| - package_plugins/tqdm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/transformers-*/*.patch | |
| - overrides/patches/transformers/*.patch | |
| - overrides/settings/transformers.yaml | |
| - package_plugins/transformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn-*/*.patch | |
| - overrides/patches/uvicorn/*.patch | |
| - overrides/settings/uvicorn.yaml | |
| - package_plugins/uvicorn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymilvus-*/*.patch | |
| - overrides/patches/pymilvus/*.patch | |
| - overrides/settings/pymilvus.yaml | |
| - package_plugins/pymilvus.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/milvus_lite-*/*.patch | |
| - overrides/patches/milvus_lite/*.patch | |
| - overrides/settings/milvus_lite.yaml | |
| - package_plugins/milvus_lite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rtree-*/*.patch | |
| - overrides/patches/rtree/*.patch | |
| - overrides/settings/rtree.yaml | |
| - package_plugins/rtree.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/grpcio-*/*.patch | |
| - overrides/patches/grpcio/*.patch | |
| - overrides/settings/grpcio.yaml | |
| - package_plugins/grpcio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cbor2-*/*.patch | |
| - overrides/patches/cbor2/*.patch | |
| - overrides/settings/cbor2.yaml | |
| - package_plugins/cbor2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/outlines_core-*/*.patch | |
| - overrides/patches/outlines_core/*.patch | |
| - overrides/settings/outlines_core.yaml | |
| - package_plugins/outlines_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setproctitle-*/*.patch | |
| - overrides/patches/setproctitle/*.patch | |
| - overrides/settings/setproctitle.yaml | |
| - package_plugins/setproctitle.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai_harmony-*/*.patch | |
| - overrides/patches/openai_harmony/*.patch | |
| - overrides/settings/openai_harmony.yaml | |
| - package_plugins/openai_harmony.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uv-*/*.patch | |
| - overrides/patches/uv/*.patch | |
| - overrides/settings/uv.yaml | |
| - package_plugins/uv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psutil-*/*.patch | |
| - overrides/patches/psutil/*.patch | |
| - overrides/settings/psutil.yaml | |
| - package_plugins/psutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/polars-*/*.patch | |
| - overrides/patches/polars/*.patch | |
| - overrides/settings/polars.yaml | |
| - package_plugins/polars.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docker-*/*.patch | |
| - overrides/patches/docker/*.patch | |
| - overrides/settings/docker.yaml | |
| - package_plugins/docker.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn_worker-*/*.patch | |
| - overrides/patches/uvicorn_worker/*.patch | |
| - overrides/settings/uvicorn_worker.yaml | |
| - package_plugins/uvicorn_worker.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| - job: linter | |
| non-accelerated-cpu-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| test-accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_xet-*/*.patch | |
| - overrides/patches/hf_xet/*.patch | |
| - overrides/settings/hf_xet.yaml | |
| - package_plugins/hf_xet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch_tb_profiler-*/*.patch | |
| - overrides/patches/torch_tb_profiler/*.patch | |
| - overrides/settings/torch_tb_profiler.yaml | |
| - package_plugins/torch_tb_profiler.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/huggingface_hub-*/*.patch | |
| - overrides/patches/huggingface_hub/*.patch | |
| - overrides/settings/huggingface_hub.yaml | |
| - package_plugins/huggingface_hub.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling-*/*.patch | |
| - overrides/patches/docling/*.patch | |
| - overrides/settings/docling.yaml | |
| - package_plugins/docling.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_core-*/*.patch | |
| - overrides/patches/docling_core/*.patch | |
| - overrides/settings/docling_core.yaml | |
| - package_plugins/docling_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_parse-*/*.patch | |
| - overrides/patches/docling_parse/*.patch | |
| - overrides/settings/docling_parse.yaml | |
| - package_plugins/docling_parse.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_ibm_models-*/*.patch | |
| - overrides/patches/docling_ibm_models/*.patch | |
| - overrides/settings/docling_ibm_models.yaml | |
| - package_plugins/docling_ibm_models.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/trl-*/*.patch | |
| - overrides/patches/trl/*.patch | |
| - overrides/settings/trl.yaml | |
| - package_plugins/trl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/liger_kernel-*/*.patch | |
| - overrides/patches/liger_kernel/*.patch | |
| - overrides/settings/liger_kernel.yaml | |
| - package_plugins/liger_kernel.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/lm_eval-*/*.patch | |
| - overrides/patches/lm_eval/*.patch | |
| - overrides/settings/lm_eval.yaml | |
| - package_plugins/lm_eval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab-*/*.patch | |
| - overrides/patches/jupyterlab/*.patch | |
| - overrides/settings/jupyterlab.yaml | |
| - package_plugins/jupyterlab.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server-*/*.patch | |
| - overrides/patches/jupyter_server/*.patch | |
| - overrides/settings/jupyter_server.yaml | |
| - package_plugins/jupyter_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_mathjax-*/*.patch | |
| - overrides/patches/jupyter_server_mathjax/*.patch | |
| - overrides/settings/jupyter_server_mathjax.yaml | |
| - package_plugins/jupyter_server_mathjax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_proxy-*/*.patch | |
| - overrides/patches/jupyter_server_proxy/*.patch | |
| - overrides/settings/jupyter_server_proxy.yaml | |
| - package_plugins/jupyter_server_proxy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_terminals-*/*.patch | |
| - overrides/patches/jupyter_server_terminals/*.patch | |
| - overrides/settings/jupyter_server_terminals.yaml | |
| - package_plugins/jupyter_server_terminals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_git-*/*.patch | |
| - overrides/patches/jupyterlab_git/*.patch | |
| - overrides/settings/jupyterlab_git.yaml | |
| - package_plugins/jupyterlab_git.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbdime-*/*.patch | |
| - overrides/patches/nbdime/*.patch | |
| - overrides/settings/nbdime.yaml | |
| - package_plugins/nbdime.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbgitpuller-*/*.patch | |
| - overrides/patches/nbgitpuller/*.patch | |
| - overrides/settings/nbgitpuller.yaml | |
| - package_plugins/nbgitpuller.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/litellm-*/*.patch | |
| - overrides/patches/litellm/*.patch | |
| - overrides/settings/litellm.yaml | |
| - package_plugins/litellm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llvmlite-*/*.patch | |
| - overrides/patches/llvmlite/*.patch | |
| - overrides/settings/llvmlite.yaml | |
| - package_plugins/llvmlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/faiss_cpu-*/*.patch | |
| - overrides/patches/faiss_cpu/*.patch | |
| - overrides/settings/faiss_cpu.yaml | |
| - package_plugins/faiss_cpu.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| - job: linter | |
| accelerated-cpu-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: accelerated-cpu-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| accelerated-cpu-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: accelerated-cpu-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| accelerated-cpu-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".accelerated-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: accelerated-cpu-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| torch-2.8.0-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| test-torch-2.8.0-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| - job: linter | |
| torch-2.8.0-cpu-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.8.0-cpu-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| torch-2.8.0-cpu-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: $PUBLISH_WHEEL_RELEASES == "false" | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| torch-2.9.0-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| test-torch-2.9.0-cpu-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-aarch64 | |
| - job: linter | |
| torch-2.9.0-cpu-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.9.0-cpu-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| torch-2.9.0-cpu-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| build-image-cpu-ubi9-ppc64le: | |
| image: quay.io/buildah/stable:v1.40.1 | |
| retry: 0 | |
| stage: build-images | |
| interruptible: true | |
| tags: | |
| - aipcc-small-ppc64le | |
| variables: | |
| ARCH: ppc64le | |
| VARIANT: cpu-ubi9 | |
| before_script: | |
| - dnf install -y which ncurses | |
| - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | |
| - | | |
| case ${VARIANT} in | |
| cuda*) CONTAINERFILE="Containerfile.cuda-ubi9" ;; | |
| rocm*) CONTAINERFILE="Containerfile.rocm-ubi9" ;; | |
| *) CONTAINERFILE="Containerfile.${VARIANT}" ;; | |
| esac | |
| - echo CONTAINERFILE=$CONTAINERFILE | |
| - if [ -n "$CI_COMMIT_TAG" ]; then echo "Using tag for version"; IMAGE_TAG="$CI_COMMIT_TAG"; | |
| else echo "Generating version from MR IID"; IMAGE_TAG="${BUILDER_IMAGE_VERSION}"; | |
| fi | |
| - echo IMAGE_TAG=$IMAGE_TAG | |
| - IMAGE_BASE="${CI_REGISTRY}/${CI_PROJECT_PATH}/builder-${VARIANT}-${ARCH}" | |
| - echo IMAGE_BASE=$IMAGE_BASE | |
| - IMAGE="${IMAGE_BASE}:${IMAGE_TAG}" | |
| - echo IMAGE=$IMAGE | |
| script: | |
| - mkdir -p ${SECURE_FILES_DOWNLOAD_PATH} | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${SECURE_FILES_DOWNLOAD_PATH}/.netrc | |
| - | | |
| buildah bud \ | |
| --secret=id=netrc,src=${SECURE_FILES_DOWNLOAD_PATH}/.netrc \ | |
| -f ${CONTAINERFILE} \ | |
| --layers --cache-from ${IMAGE_BASE} --cache-to ${IMAGE_BASE} \ | |
| -t ${IMAGE} \ | |
| --build-arg TOOL_SERVER_URL=${TOOL_SERVER_URL} \ | |
| --build-arg FROMAGER_NETWORK_ISOLATION=${FROMAGER_NETWORK_ISOLATION} \ | |
| --build-arg-file build-args/common.conf \ | |
| --build-arg-file build-args/${VARIANT}.conf \ | |
| --build-arg-file build-args/rhelai.conf \ | |
| --build-arg BUILDER_IMAGE_VERSION=${IMAGE_TAG} \ | |
| . | |
| - buildah push ${IMAGE} | |
| rules: | |
| - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - collections/*/$VARIANT/* | |
| - collections/global-constraints.txt | |
| - collections/global-requirements.txt | |
| - build-args/*.conf | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - gitlab-ci/images.yml | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $VARIANT == "cpu-ubi9" | |
| changes: | |
| - pipeline-api/* | |
| - collections/api-test/cpu-ubi9/* | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| needs: | |
| - job: linter | |
| optional: true | |
| - job: changelog-linter | |
| optional: true | |
| - job: update-tool-server | |
| optional: true | |
| ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/api-test/constraints-rules.txt | |
| - collections/api-test/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "false" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "api-test" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| api-test-cpu-ubi9-ppc64le-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS: false | |
| PUBLISH_WHEEL_RELEASES: true | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-ppc64le | |
| - job: linter | |
| test-api-test-cpu-ubi9-ppc64le-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $ENABLE_TEST_JOBS == "false" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/**/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: bootstrap | |
| api-test-cpu-ubi9-ppc64le-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: build | |
| needs: | |
| - job: api-test-cpu-ubi9-ppc64le-bootstrap-and-onboard | |
| artifacts: true | |
| api-test-cpu-ubi9-ppc64le-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: false | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: release | |
| needs: | |
| - job: api-test-cpu-ubi9-ppc64le-build-wheels | |
| artifacts: true | |
| api-test-cpu-ubi9-ppc64le-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".api-test-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: api-test-cpu-ubi9-ppc64le-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and ppc64le arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| non-accelerated-cpu-ubi9-ppc64le-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-ppc64le | |
| test-non-accelerated-cpu-ubi9-ppc64le-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyzmq-*/*.patch | |
| - overrides/patches/pyzmq/*.patch | |
| - overrides/settings/pyzmq.yaml | |
| - package_plugins/pyzmq.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opencv_python_headless-*/*.patch | |
| - overrides/patches/opencv_python_headless/*.patch | |
| - overrides/settings/opencv_python_headless.yaml | |
| - package_plugins/opencv_python_headless.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdfium2-*/*.patch | |
| - overrides/patches/pypdfium2/*.patch | |
| - overrides/settings/pypdfium2.yaml | |
| - package_plugins/pypdfium2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tesserocr-*/*.patch | |
| - overrides/patches/tesserocr/*.patch | |
| - overrides/settings/tesserocr.yaml | |
| - package_plugins/tesserocr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/certifi-*/*.patch | |
| - overrides/patches/certifi/*.patch | |
| - overrides/settings/certifi.yaml | |
| - package_plugins/certifi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fastapi-*/*.patch | |
| - overrides/patches/fastapi/*.patch | |
| - overrides/settings/fastapi.yaml | |
| - package_plugins/fastapi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/meson-*/*.patch | |
| - overrides/patches/meson/*.patch | |
| - overrides/settings/meson.yaml | |
| - package_plugins/meson.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pydantic_core-*/*.patch | |
| - overrides/patches/pydantic_core/*.patch | |
| - overrides/settings/pydantic_core.yaml | |
| - package_plugins/pydantic_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm_multiprocess-*/*.patch | |
| - overrides/patches/tqdm_multiprocess/*.patch | |
| - overrides/settings/tqdm_multiprocess.yaml | |
| - package_plugins/tqdm_multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_pygments-*/*.patch | |
| - overrides/patches/jupyterlab_pygments/*.patch | |
| - overrides/settings/jupyterlab_pygments.yaml | |
| - package_plugins/jupyterlab_pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sacrebleu-*/*.patch | |
| - overrides/patches/sacrebleu/*.patch | |
| - overrides/settings/sacrebleu.yaml | |
| - package_plugins/sacrebleu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/yarl-*/*.patch | |
| - overrides/patches/yarl/*.patch | |
| - overrides/settings/yarl.yaml | |
| - package_plugins/yarl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/gast-*/*.patch | |
| - overrides/patches/gast/*.patch | |
| - overrides/settings/gast.yaml | |
| - package_plugins/gast.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flit_core-*/*.patch | |
| - overrides/patches/flit_core/*.patch | |
| - overrides/settings/flit_core.yaml | |
| - package_plugins/flit_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kfp-*/*.patch | |
| - overrides/patches/kfp/*.patch | |
| - overrides/settings/kfp.yaml | |
| - package_plugins/kfp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multiprocess-*/*.patch | |
| - overrides/patches/multiprocess/*.patch | |
| - overrides/settings/multiprocess.yaml | |
| - package_plugins/multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_client-*/*.patch | |
| - overrides/patches/qdrant_client/*.patch | |
| - overrides/settings/qdrant_client.yaml | |
| - package_plugins/qdrant_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/langchain_qdrant-*/*.patch | |
| - overrides/patches/langchain_qdrant/*.patch | |
| - overrides/settings/langchain_qdrant.yaml | |
| - package_plugins/langchain_qdrant.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_haystack-*/*.patch | |
| - overrides/patches/qdrant_haystack/*.patch | |
| - overrides/settings/qdrant_haystack.yaml | |
| - package_plugins/qdrant_haystack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/haystack_ai-*/*.patch | |
| - overrides/patches/haystack_ai/*.patch | |
| - overrides/settings/haystack_ai.yaml | |
| - package_plugins/haystack_ai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack-*/*.patch | |
| - overrides/patches/llama_stack/*.patch | |
| - overrides/settings/llama_stack.yaml | |
| - package_plugins/llama_stack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai-*/*.patch | |
| - overrides/patches/openai/*.patch | |
| - overrides/settings/openai.yaml | |
| - package_plugins/openai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_client-*/*.patch | |
| - overrides/patches/llama_stack_client/*.patch | |
| - overrides/settings/llama_stack_client.yaml | |
| - package_plugins/llama_stack_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h5py-*/*.patch | |
| - overrides/patches/h5py/*.patch | |
| - overrides/settings/h5py.yaml | |
| - package_plugins/h5py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/boto3-*/*.patch | |
| - overrides/patches/boto3/*.patch | |
| - overrides/settings/boto3.yaml | |
| - package_plugins/boto3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/submodlib_py-*/*.patch | |
| - overrides/patches/submodlib_py/*.patch | |
| - overrides/settings/submodlib_py.yaml | |
| - package_plugins/submodlib_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ipython-*/*.patch | |
| - overrides/patches/ipython/*.patch | |
| - overrides/settings/ipython.yaml | |
| - package_plugins/ipython.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/notebook-*/*.patch | |
| - overrides/patches/notebook/*.patch | |
| - overrides/settings/notebook.yaml | |
| - package_plugins/notebook.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/matplotlib-*/*.patch | |
| - overrides/patches/matplotlib/*.patch | |
| - overrides/settings/matplotlib.yaml | |
| - package_plugins/matplotlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mysql_connector_python-*/*.patch | |
| - overrides/patches/mysql_connector_python/*.patch | |
| - overrides/settings/mysql_connector_python.yaml | |
| - package_plugins/mysql_connector_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyodbc-*/*.patch | |
| - overrides/patches/pyodbc/*.patch | |
| - overrides/settings/pyodbc.yaml | |
| - package_plugins/pyodbc.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg-*/*.patch | |
| - overrides/patches/psycopg/*.patch | |
| - overrides/settings/psycopg.yaml | |
| - package_plugins/psycopg.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soxr-*/*.patch | |
| - overrides/patches/soxr/*.patch | |
| - overrides/settings/soxr.yaml | |
| - package_plugins/soxr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/librosa-*/*.patch | |
| - overrides/patches/librosa/*.patch | |
| - overrides/settings/librosa.yaml | |
| - package_plugins/librosa.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soundfile-*/*.patch | |
| - overrides/patches/soundfile/*.patch | |
| - overrides/settings/soundfile.yaml | |
| - package_plugins/soundfile.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hatch_fancy_pypi_readme-*/*.patch | |
| - overrides/patches/hatch_fancy_pypi_readme/*.patch | |
| - overrides/settings/hatch_fancy_pypi_readme.yaml | |
| - package_plugins/hatch_fancy_pypi_readme.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soupsieve-*/*.patch | |
| - overrides/patches/soupsieve/*.patch | |
| - overrides/settings/soupsieve.yaml | |
| - package_plugins/soupsieve.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ply-*/*.patch | |
| - overrides/patches/ply/*.patch | |
| - overrides/settings/ply.yaml | |
| - package_plugins/ply.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sentencepiece-*/*.patch | |
| - overrides/patches/sentencepiece/*.patch | |
| - overrides/settings/sentencepiece.yaml | |
| - package_plugins/sentencepiece.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/argon2_cffi-*/*.patch | |
| - overrides/patches/argon2_cffi/*.patch | |
| - overrides/settings/argon2_cffi.yaml | |
| - package_plugins/argon2_cffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_transfer-*/*.patch | |
| - overrides/patches/hf_transfer/*.patch | |
| - overrides/settings/hf_transfer.yaml | |
| - package_plugins/hf_transfer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard-*/*.patch | |
| - overrides/patches/tensorboard/*.patch | |
| - overrides/settings/tensorboard.yaml | |
| - package_plugins/tensorboard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard_data_server-*/*.patch | |
| - overrides/patches/tensorboard_data_server/*.patch | |
| - overrides/settings/tensorboard_data_server.yaml | |
| - package_plugins/tensorboard_data_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h11-*/*.patch | |
| - overrides/patches/h11/*.patch | |
| - overrides/settings/h11.yaml | |
| - package_plugins/h11.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/zstandard-*/*.patch | |
| - overrides/patches/zstandard/*.patch | |
| - overrides/settings/zstandard.yaml | |
| - package_plugins/zstandard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mcp-*/*.patch | |
| - overrides/patches/mcp/*.patch | |
| - overrides/settings/mcp.yaml | |
| - package_plugins/mcp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/MarkupSafe-*/*.patch | |
| - overrides/patches/MarkupSafe/*.patch | |
| - overrides/settings/MarkupSafe.yaml | |
| - package_plugins/MarkupSafe.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohappyeyeballs-*/*.patch | |
| - overrides/patches/aiohappyeyeballs/*.patch | |
| - overrides/settings/aiohappyeyeballs.yaml | |
| - package_plugins/aiohappyeyeballs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohttp-*/*.patch | |
| - overrides/patches/aiohttp/*.patch | |
| - overrides/settings/aiohttp.yaml | |
| - package_plugins/aiohttp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosignal-*/*.patch | |
| - overrides/patches/aiosignal/*.patch | |
| - overrides/settings/aiosignal.yaml | |
| - package_plugins/aiosignal.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/attrs-*/*.patch | |
| - overrides/patches/attrs/*.patch | |
| - overrides/settings/attrs.yaml | |
| - package_plugins/attrs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/click-*/*.patch | |
| - overrides/patches/click/*.patch | |
| - overrides/settings/click.yaml | |
| - package_plugins/click.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/filelock-*/*.patch | |
| - overrides/patches/filelock/*.patch | |
| - overrides/settings/filelock.yaml | |
| - package_plugins/filelock.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fire-*/*.patch | |
| - overrides/patches/fire/*.patch | |
| - overrides/settings/fire.yaml | |
| - package_plugins/fire.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/frozenlist-*/*.patch | |
| - overrides/patches/frozenlist/*.patch | |
| - overrides/settings/frozenlist.yaml | |
| - package_plugins/frozenlist.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fsspec-*/*.patch | |
| - overrides/patches/fsspec/*.patch | |
| - overrides/settings/fsspec.yaml | |
| - package_plugins/fsspec.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jinja2-*/*.patch | |
| - overrides/patches/jinja2/*.patch | |
| - overrides/settings/jinja2.yaml | |
| - package_plugins/jinja2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema-*/*.patch | |
| - overrides/patches/jsonschema/*.patch | |
| - overrides/settings/jsonschema.yaml | |
| - package_plugins/jsonschema.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema_specifications-*/*.patch | |
| - overrides/patches/jsonschema_specifications/*.patch | |
| - overrides/settings/jsonschema_specifications.yaml | |
| - package_plugins/jsonschema_specifications.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/markdown_it_py-*/*.patch | |
| - overrides/patches/markdown_it_py/*.patch | |
| - overrides/settings/markdown_it_py.yaml | |
| - package_plugins/markdown_it_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mdurl-*/*.patch | |
| - overrides/patches/mdurl/*.patch | |
| - overrides/settings/mdurl.yaml | |
| - package_plugins/mdurl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multidict-*/*.patch | |
| - overrides/patches/multidict/*.patch | |
| - overrides/settings/multidict.yaml | |
| - package_plugins/multidict.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numpy-*/*.patch | |
| - overrides/patches/numpy/*.patch | |
| - overrides/settings/numpy.yaml | |
| - package_plugins/numpy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/packaging-*/*.patch | |
| - overrides/patches/packaging/*.patch | |
| - overrides/settings/packaging.yaml | |
| - package_plugins/packaging.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pandas-*/*.patch | |
| - overrides/patches/pandas/*.patch | |
| - overrides/settings/pandas.yaml | |
| - package_plugins/pandas.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pillow-*/*.patch | |
| - overrides/patches/pillow/*.patch | |
| - overrides/settings/pillow.yaml | |
| - package_plugins/pillow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/prompt_toolkit-*/*.patch | |
| - overrides/patches/prompt_toolkit/*.patch | |
| - overrides/settings/prompt_toolkit.yaml | |
| - package_plugins/prompt_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/propcache-*/*.patch | |
| - overrides/patches/propcache/*.patch | |
| - overrides/settings/propcache.yaml | |
| - package_plugins/propcache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyaml-*/*.patch | |
| - overrides/patches/pyaml/*.patch | |
| - overrides/settings/pyaml.yaml | |
| - package_plugins/pyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyasn1-*/*.patch | |
| - overrides/patches/pyasn1/*.patch | |
| - overrides/settings/pyasn1.yaml | |
| - package_plugins/pyasn1.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pygments-*/*.patch | |
| - overrides/patches/pygments/*.patch | |
| - overrides/settings/pygments.yaml | |
| - package_plugins/pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dateutil-*/*.patch | |
| - overrides/patches/python_dateutil/*.patch | |
| - overrides/settings/python_dateutil.yaml | |
| - package_plugins/python_dateutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dotenv-*/*.patch | |
| - overrides/patches/python_dotenv/*.patch | |
| - overrides/settings/python_dotenv.yaml | |
| - package_plugins/python_dotenv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_jose-*/*.patch | |
| - overrides/patches/python_jose/*.patch | |
| - overrides/settings/python_jose.yaml | |
| - package_plugins/python_jose.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_multipart-*/*.patch | |
| - overrides/patches/python_multipart/*.patch | |
| - overrides/settings/python_multipart.yaml | |
| - package_plugins/python_multipart.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytz-*/*.patch | |
| - overrides/patches/pytz/*.patch | |
| - overrides/settings/pytz.yaml | |
| - package_plugins/pytz.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyyaml-*/*.patch | |
| - overrides/patches/pyyaml/*.patch | |
| - overrides/settings/pyyaml.yaml | |
| - package_plugins/pyyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/referencing-*/*.patch | |
| - overrides/patches/referencing/*.patch | |
| - overrides/settings/referencing.yaml | |
| - package_plugins/referencing.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/regex-*/*.patch | |
| - overrides/patches/regex/*.patch | |
| - overrides/settings/regex.yaml | |
| - package_plugins/regex.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rich-*/*.patch | |
| - overrides/patches/rich/*.patch | |
| - overrides/settings/rich.yaml | |
| - package_plugins/rich.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rpds_py-*/*.patch | |
| - overrides/patches/rpds_py/*.patch | |
| - overrides/settings/rpds_py.yaml | |
| - package_plugins/rpds_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/six-*/*.patch | |
| - overrides/patches/six/*.patch | |
| - overrides/settings/six.yaml | |
| - package_plugins/six.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/termcolor-*/*.patch | |
| - overrides/patches/termcolor/*.patch | |
| - overrides/settings/termcolor.yaml | |
| - package_plugins/termcolor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tiktoken-*/*.patch | |
| - overrides/patches/tiktoken/*.patch | |
| - overrides/settings/tiktoken.yaml | |
| - package_plugins/tiktoken.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tzdata-*/*.patch | |
| - overrides/patches/tzdata/*.patch | |
| - overrides/settings/tzdata.yaml | |
| - package_plugins/tzdata.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wcwidth-*/*.patch | |
| - overrides/patches/wcwidth/*.patch | |
| - overrides/settings/wcwidth.yaml | |
| - package_plugins/wcwidth.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosqlite-*/*.patch | |
| - overrides/patches/aiosqlite/*.patch | |
| - overrides/settings/aiosqlite.yaml | |
| - package_plugins/aiosqlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/autoevals-*/*.patch | |
| - overrides/patches/autoevals/*.patch | |
| - overrides/settings/autoevals.yaml | |
| - package_plugins/autoevals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/chardet-*/*.patch | |
| - overrides/patches/chardet/*.patch | |
| - overrides/settings/chardet.yaml | |
| - package_plugins/chardet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/datasets-*/*.patch | |
| - overrides/patches/datasets/*.patch | |
| - overrides/settings/datasets.yaml | |
| - package_plugins/datasets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/httpx-*/*.patch | |
| - overrides/patches/httpx/*.patch | |
| - overrides/settings/httpx.yaml | |
| - package_plugins/httpx.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kubernetes-*/*.patch | |
| - overrides/patches/kubernetes/*.patch | |
| - overrides/settings/kubernetes.yaml | |
| - package_plugins/kubernetes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_lmeval-*/*.patch | |
| - overrides/patches/llama_stack_provider_lmeval/*.patch | |
| - overrides/settings/llama_stack_provider_lmeval.yaml | |
| - package_plugins/llama_stack_provider_lmeval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_trustyai_fms-*/*.patch | |
| - overrides/patches/llama_stack_provider_trustyai_fms/*.patch | |
| - overrides/settings/llama_stack_provider_trustyai_fms.yaml | |
| - package_plugins/llama_stack_provider_trustyai_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nltk-*/*.patch | |
| - overrides/patches/nltk/*.patch | |
| - overrides/settings/nltk.yaml | |
| - package_plugins/nltk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http/*.patch | |
| - overrides/settings/opentelemetry_exporter_otlp_proto_http.yaml | |
| - package_plugins/opentelemetry_exporter_otlp_proto_http.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_sdk-*/*.patch | |
| - overrides/patches/opentelemetry_sdk/*.patch | |
| - overrides/settings/opentelemetry_sdk.yaml | |
| - package_plugins/opentelemetry_sdk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg2_binary-*/*.patch | |
| - overrides/patches/psycopg2_binary/*.patch | |
| - overrides/settings/psycopg2_binary.yaml | |
| - package_plugins/psycopg2_binary.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymongo-*/*.patch | |
| - overrides/patches/pymongo/*.patch | |
| - overrides/settings/pymongo.yaml | |
| - package_plugins/pymongo.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdf-*/*.patch | |
| - overrides/patches/pypdf/*.patch | |
| - overrides/settings/pypdf.yaml | |
| - package_plugins/pypdf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/redis-*/*.patch | |
| - overrides/patches/redis/*.patch | |
| - overrides/settings/redis.yaml | |
| - package_plugins/redis.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/requests-*/*.patch | |
| - overrides/patches/requests/*.patch | |
| - overrides/settings/requests.yaml | |
| - package_plugins/requests.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scikit_learn-*/*.patch | |
| - overrides/patches/scikit_learn/*.patch | |
| - overrides/settings/scikit_learn.yaml | |
| - package_plugins/scikit_learn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scipy-*/*.patch | |
| - overrides/patches/scipy/*.patch | |
| - overrides/settings/scipy.yaml | |
| - package_plugins/scipy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sqlalchemy-*/*.patch | |
| - overrides/patches/sqlalchemy/*.patch | |
| - overrides/settings/sqlalchemy.yaml | |
| - package_plugins/sqlalchemy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm-*/*.patch | |
| - overrides/patches/tqdm/*.patch | |
| - overrides/settings/tqdm.yaml | |
| - package_plugins/tqdm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/transformers-*/*.patch | |
| - overrides/patches/transformers/*.patch | |
| - overrides/settings/transformers.yaml | |
| - package_plugins/transformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn-*/*.patch | |
| - overrides/patches/uvicorn/*.patch | |
| - overrides/settings/uvicorn.yaml | |
| - package_plugins/uvicorn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymilvus-*/*.patch | |
| - overrides/patches/pymilvus/*.patch | |
| - overrides/settings/pymilvus.yaml | |
| - package_plugins/pymilvus.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/milvus_lite-*/*.patch | |
| - overrides/patches/milvus_lite/*.patch | |
| - overrides/settings/milvus_lite.yaml | |
| - package_plugins/milvus_lite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rtree-*/*.patch | |
| - overrides/patches/rtree/*.patch | |
| - overrides/settings/rtree.yaml | |
| - package_plugins/rtree.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/grpcio-*/*.patch | |
| - overrides/patches/grpcio/*.patch | |
| - overrides/settings/grpcio.yaml | |
| - package_plugins/grpcio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cbor2-*/*.patch | |
| - overrides/patches/cbor2/*.patch | |
| - overrides/settings/cbor2.yaml | |
| - package_plugins/cbor2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/outlines_core-*/*.patch | |
| - overrides/patches/outlines_core/*.patch | |
| - overrides/settings/outlines_core.yaml | |
| - package_plugins/outlines_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setproctitle-*/*.patch | |
| - overrides/patches/setproctitle/*.patch | |
| - overrides/settings/setproctitle.yaml | |
| - package_plugins/setproctitle.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai_harmony-*/*.patch | |
| - overrides/patches/openai_harmony/*.patch | |
| - overrides/settings/openai_harmony.yaml | |
| - package_plugins/openai_harmony.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uv-*/*.patch | |
| - overrides/patches/uv/*.patch | |
| - overrides/settings/uv.yaml | |
| - package_plugins/uv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psutil-*/*.patch | |
| - overrides/patches/psutil/*.patch | |
| - overrides/settings/psutil.yaml | |
| - package_plugins/psutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/polars-*/*.patch | |
| - overrides/patches/polars/*.patch | |
| - overrides/settings/polars.yaml | |
| - package_plugins/polars.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docker-*/*.patch | |
| - overrides/patches/docker/*.patch | |
| - overrides/settings/docker.yaml | |
| - package_plugins/docker.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn_worker-*/*.patch | |
| - overrides/patches/uvicorn_worker/*.patch | |
| - overrides/settings/uvicorn_worker.yaml | |
| - package_plugins/uvicorn_worker.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-ppc64le | |
| - job: linter | |
| non-accelerated-cpu-ubi9-ppc64le-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: build | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-ppc64le-bootstrap-and-onboard | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-ppc64le-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: ppc64le | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-ppc64le" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-ppc64le" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"false" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-ppc64le | |
| stage: release | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-ppc64le-build-wheels | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-ppc64le-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-ppc64le" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-ppc64le-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-ppc64le-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and ppc64le arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| build-image-cpu-ubi9-s390x: | |
| image: quay.io/buildah/stable:v1.40.1 | |
| retry: 1 | |
| stage: build-images | |
| interruptible: true | |
| tags: | |
| - aipcc-small-s390x | |
| variables: | |
| ARCH: s390x | |
| VARIANT: cpu-ubi9 | |
| before_script: | |
| - dnf install -y which ncurses | |
| - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | |
| - | | |
| case ${VARIANT} in | |
| cuda*) CONTAINERFILE="Containerfile.cuda-ubi9" ;; | |
| rocm*) CONTAINERFILE="Containerfile.rocm-ubi9" ;; | |
| *) CONTAINERFILE="Containerfile.${VARIANT}" ;; | |
| esac | |
| - echo CONTAINERFILE=$CONTAINERFILE | |
| - if [ -n "$CI_COMMIT_TAG" ]; then echo "Using tag for version"; IMAGE_TAG="$CI_COMMIT_TAG"; | |
| else echo "Generating version from MR IID"; IMAGE_TAG="${BUILDER_IMAGE_VERSION}"; | |
| fi | |
| - echo IMAGE_TAG=$IMAGE_TAG | |
| - IMAGE_BASE="${CI_REGISTRY}/${CI_PROJECT_PATH}/builder-${VARIANT}-${ARCH}" | |
| - echo IMAGE_BASE=$IMAGE_BASE | |
| - IMAGE="${IMAGE_BASE}:${IMAGE_TAG}" | |
| - echo IMAGE=$IMAGE | |
| script: | |
| - mkdir -p ${SECURE_FILES_DOWNLOAD_PATH} | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${SECURE_FILES_DOWNLOAD_PATH}/.netrc | |
| - | | |
| buildah bud \ | |
| --secret=id=netrc,src=${SECURE_FILES_DOWNLOAD_PATH}/.netrc \ | |
| -f ${CONTAINERFILE} \ | |
| --layers --cache-from ${IMAGE_BASE} --cache-to ${IMAGE_BASE} \ | |
| -t ${IMAGE} \ | |
| --build-arg TOOL_SERVER_URL=${TOOL_SERVER_URL} \ | |
| --build-arg FROMAGER_NETWORK_ISOLATION=${FROMAGER_NETWORK_ISOLATION} \ | |
| --build-arg-file build-args/common.conf \ | |
| --build-arg-file build-args/${VARIANT}.conf \ | |
| --build-arg-file build-args/rhelai.conf \ | |
| --build-arg BUILDER_IMAGE_VERSION=${IMAGE_TAG} \ | |
| . | |
| - buildah push ${IMAGE} | |
| rules: | |
| - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - collections/*/$VARIANT/* | |
| - collections/global-constraints.txt | |
| - collections/global-requirements.txt | |
| - build-args/*.conf | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - gitlab-ci/images.yml | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $VARIANT == "cpu-ubi9" | |
| changes: | |
| - pipeline-api/* | |
| - collections/api-test/cpu-ubi9/* | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| needs: | |
| - job: linter | |
| optional: true | |
| - job: changelog-linter | |
| optional: true | |
| - job: update-tool-server | |
| optional: true | |
| ".api-test-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/api-test/constraints-rules.txt | |
| - collections/api-test/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "api-test" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| api-test-cpu-ubi9-s390x-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS: false | |
| PUBLISH_WHEEL_RELEASES: true | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-s390x | |
| - job: linter | |
| test-api-test-cpu-ubi9-s390x-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $ENABLE_TEST_JOBS == "false" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/**/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: bootstrap | |
| api-test-cpu-ubi9-s390x-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: build | |
| needs: | |
| - job: api-test-cpu-ubi9-s390x-bootstrap-and-onboard | |
| artifacts: true | |
| api-test-cpu-ubi9-s390x-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: release | |
| needs: | |
| - job: api-test-cpu-ubi9-s390x-build-wheels | |
| artifacts: true | |
| api-test-cpu-ubi9-s390x-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".api-test-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 1 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: api-test-cpu-ubi9-s390x-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and s390x arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| non-accelerated-cpu-ubi9-s390x-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-s390x | |
| test-non-accelerated-cpu-ubi9-s390x-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyzmq-*/*.patch | |
| - overrides/patches/pyzmq/*.patch | |
| - overrides/settings/pyzmq.yaml | |
| - package_plugins/pyzmq.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opencv_python_headless-*/*.patch | |
| - overrides/patches/opencv_python_headless/*.patch | |
| - overrides/settings/opencv_python_headless.yaml | |
| - package_plugins/opencv_python_headless.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdfium2-*/*.patch | |
| - overrides/patches/pypdfium2/*.patch | |
| - overrides/settings/pypdfium2.yaml | |
| - package_plugins/pypdfium2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tesserocr-*/*.patch | |
| - overrides/patches/tesserocr/*.patch | |
| - overrides/settings/tesserocr.yaml | |
| - package_plugins/tesserocr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/certifi-*/*.patch | |
| - overrides/patches/certifi/*.patch | |
| - overrides/settings/certifi.yaml | |
| - package_plugins/certifi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fastapi-*/*.patch | |
| - overrides/patches/fastapi/*.patch | |
| - overrides/settings/fastapi.yaml | |
| - package_plugins/fastapi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/meson-*/*.patch | |
| - overrides/patches/meson/*.patch | |
| - overrides/settings/meson.yaml | |
| - package_plugins/meson.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pydantic_core-*/*.patch | |
| - overrides/patches/pydantic_core/*.patch | |
| - overrides/settings/pydantic_core.yaml | |
| - package_plugins/pydantic_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm_multiprocess-*/*.patch | |
| - overrides/patches/tqdm_multiprocess/*.patch | |
| - overrides/settings/tqdm_multiprocess.yaml | |
| - package_plugins/tqdm_multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_pygments-*/*.patch | |
| - overrides/patches/jupyterlab_pygments/*.patch | |
| - overrides/settings/jupyterlab_pygments.yaml | |
| - package_plugins/jupyterlab_pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sacrebleu-*/*.patch | |
| - overrides/patches/sacrebleu/*.patch | |
| - overrides/settings/sacrebleu.yaml | |
| - package_plugins/sacrebleu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/yarl-*/*.patch | |
| - overrides/patches/yarl/*.patch | |
| - overrides/settings/yarl.yaml | |
| - package_plugins/yarl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/gast-*/*.patch | |
| - overrides/patches/gast/*.patch | |
| - overrides/settings/gast.yaml | |
| - package_plugins/gast.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flit_core-*/*.patch | |
| - overrides/patches/flit_core/*.patch | |
| - overrides/settings/flit_core.yaml | |
| - package_plugins/flit_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kfp-*/*.patch | |
| - overrides/patches/kfp/*.patch | |
| - overrides/settings/kfp.yaml | |
| - package_plugins/kfp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multiprocess-*/*.patch | |
| - overrides/patches/multiprocess/*.patch | |
| - overrides/settings/multiprocess.yaml | |
| - package_plugins/multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_client-*/*.patch | |
| - overrides/patches/qdrant_client/*.patch | |
| - overrides/settings/qdrant_client.yaml | |
| - package_plugins/qdrant_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/langchain_qdrant-*/*.patch | |
| - overrides/patches/langchain_qdrant/*.patch | |
| - overrides/settings/langchain_qdrant.yaml | |
| - package_plugins/langchain_qdrant.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_haystack-*/*.patch | |
| - overrides/patches/qdrant_haystack/*.patch | |
| - overrides/settings/qdrant_haystack.yaml | |
| - package_plugins/qdrant_haystack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/haystack_ai-*/*.patch | |
| - overrides/patches/haystack_ai/*.patch | |
| - overrides/settings/haystack_ai.yaml | |
| - package_plugins/haystack_ai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack-*/*.patch | |
| - overrides/patches/llama_stack/*.patch | |
| - overrides/settings/llama_stack.yaml | |
| - package_plugins/llama_stack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai-*/*.patch | |
| - overrides/patches/openai/*.patch | |
| - overrides/settings/openai.yaml | |
| - package_plugins/openai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_client-*/*.patch | |
| - overrides/patches/llama_stack_client/*.patch | |
| - overrides/settings/llama_stack_client.yaml | |
| - package_plugins/llama_stack_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h5py-*/*.patch | |
| - overrides/patches/h5py/*.patch | |
| - overrides/settings/h5py.yaml | |
| - package_plugins/h5py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/boto3-*/*.patch | |
| - overrides/patches/boto3/*.patch | |
| - overrides/settings/boto3.yaml | |
| - package_plugins/boto3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/submodlib_py-*/*.patch | |
| - overrides/patches/submodlib_py/*.patch | |
| - overrides/settings/submodlib_py.yaml | |
| - package_plugins/submodlib_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ipython-*/*.patch | |
| - overrides/patches/ipython/*.patch | |
| - overrides/settings/ipython.yaml | |
| - package_plugins/ipython.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/notebook-*/*.patch | |
| - overrides/patches/notebook/*.patch | |
| - overrides/settings/notebook.yaml | |
| - package_plugins/notebook.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/matplotlib-*/*.patch | |
| - overrides/patches/matplotlib/*.patch | |
| - overrides/settings/matplotlib.yaml | |
| - package_plugins/matplotlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mysql_connector_python-*/*.patch | |
| - overrides/patches/mysql_connector_python/*.patch | |
| - overrides/settings/mysql_connector_python.yaml | |
| - package_plugins/mysql_connector_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyodbc-*/*.patch | |
| - overrides/patches/pyodbc/*.patch | |
| - overrides/settings/pyodbc.yaml | |
| - package_plugins/pyodbc.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg-*/*.patch | |
| - overrides/patches/psycopg/*.patch | |
| - overrides/settings/psycopg.yaml | |
| - package_plugins/psycopg.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soxr-*/*.patch | |
| - overrides/patches/soxr/*.patch | |
| - overrides/settings/soxr.yaml | |
| - package_plugins/soxr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/librosa-*/*.patch | |
| - overrides/patches/librosa/*.patch | |
| - overrides/settings/librosa.yaml | |
| - package_plugins/librosa.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soundfile-*/*.patch | |
| - overrides/patches/soundfile/*.patch | |
| - overrides/settings/soundfile.yaml | |
| - package_plugins/soundfile.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hatch_fancy_pypi_readme-*/*.patch | |
| - overrides/patches/hatch_fancy_pypi_readme/*.patch | |
| - overrides/settings/hatch_fancy_pypi_readme.yaml | |
| - package_plugins/hatch_fancy_pypi_readme.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soupsieve-*/*.patch | |
| - overrides/patches/soupsieve/*.patch | |
| - overrides/settings/soupsieve.yaml | |
| - package_plugins/soupsieve.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ply-*/*.patch | |
| - overrides/patches/ply/*.patch | |
| - overrides/settings/ply.yaml | |
| - package_plugins/ply.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sentencepiece-*/*.patch | |
| - overrides/patches/sentencepiece/*.patch | |
| - overrides/settings/sentencepiece.yaml | |
| - package_plugins/sentencepiece.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/argon2_cffi-*/*.patch | |
| - overrides/patches/argon2_cffi/*.patch | |
| - overrides/settings/argon2_cffi.yaml | |
| - package_plugins/argon2_cffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_transfer-*/*.patch | |
| - overrides/patches/hf_transfer/*.patch | |
| - overrides/settings/hf_transfer.yaml | |
| - package_plugins/hf_transfer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard-*/*.patch | |
| - overrides/patches/tensorboard/*.patch | |
| - overrides/settings/tensorboard.yaml | |
| - package_plugins/tensorboard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard_data_server-*/*.patch | |
| - overrides/patches/tensorboard_data_server/*.patch | |
| - overrides/settings/tensorboard_data_server.yaml | |
| - package_plugins/tensorboard_data_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h11-*/*.patch | |
| - overrides/patches/h11/*.patch | |
| - overrides/settings/h11.yaml | |
| - package_plugins/h11.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/zstandard-*/*.patch | |
| - overrides/patches/zstandard/*.patch | |
| - overrides/settings/zstandard.yaml | |
| - package_plugins/zstandard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mcp-*/*.patch | |
| - overrides/patches/mcp/*.patch | |
| - overrides/settings/mcp.yaml | |
| - package_plugins/mcp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/MarkupSafe-*/*.patch | |
| - overrides/patches/MarkupSafe/*.patch | |
| - overrides/settings/MarkupSafe.yaml | |
| - package_plugins/MarkupSafe.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohappyeyeballs-*/*.patch | |
| - overrides/patches/aiohappyeyeballs/*.patch | |
| - overrides/settings/aiohappyeyeballs.yaml | |
| - package_plugins/aiohappyeyeballs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohttp-*/*.patch | |
| - overrides/patches/aiohttp/*.patch | |
| - overrides/settings/aiohttp.yaml | |
| - package_plugins/aiohttp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosignal-*/*.patch | |
| - overrides/patches/aiosignal/*.patch | |
| - overrides/settings/aiosignal.yaml | |
| - package_plugins/aiosignal.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/attrs-*/*.patch | |
| - overrides/patches/attrs/*.patch | |
| - overrides/settings/attrs.yaml | |
| - package_plugins/attrs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/click-*/*.patch | |
| - overrides/patches/click/*.patch | |
| - overrides/settings/click.yaml | |
| - package_plugins/click.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/filelock-*/*.patch | |
| - overrides/patches/filelock/*.patch | |
| - overrides/settings/filelock.yaml | |
| - package_plugins/filelock.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fire-*/*.patch | |
| - overrides/patches/fire/*.patch | |
| - overrides/settings/fire.yaml | |
| - package_plugins/fire.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/frozenlist-*/*.patch | |
| - overrides/patches/frozenlist/*.patch | |
| - overrides/settings/frozenlist.yaml | |
| - package_plugins/frozenlist.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fsspec-*/*.patch | |
| - overrides/patches/fsspec/*.patch | |
| - overrides/settings/fsspec.yaml | |
| - package_plugins/fsspec.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jinja2-*/*.patch | |
| - overrides/patches/jinja2/*.patch | |
| - overrides/settings/jinja2.yaml | |
| - package_plugins/jinja2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema-*/*.patch | |
| - overrides/patches/jsonschema/*.patch | |
| - overrides/settings/jsonschema.yaml | |
| - package_plugins/jsonschema.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema_specifications-*/*.patch | |
| - overrides/patches/jsonschema_specifications/*.patch | |
| - overrides/settings/jsonschema_specifications.yaml | |
| - package_plugins/jsonschema_specifications.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/markdown_it_py-*/*.patch | |
| - overrides/patches/markdown_it_py/*.patch | |
| - overrides/settings/markdown_it_py.yaml | |
| - package_plugins/markdown_it_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mdurl-*/*.patch | |
| - overrides/patches/mdurl/*.patch | |
| - overrides/settings/mdurl.yaml | |
| - package_plugins/mdurl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multidict-*/*.patch | |
| - overrides/patches/multidict/*.patch | |
| - overrides/settings/multidict.yaml | |
| - package_plugins/multidict.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numpy-*/*.patch | |
| - overrides/patches/numpy/*.patch | |
| - overrides/settings/numpy.yaml | |
| - package_plugins/numpy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/packaging-*/*.patch | |
| - overrides/patches/packaging/*.patch | |
| - overrides/settings/packaging.yaml | |
| - package_plugins/packaging.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pandas-*/*.patch | |
| - overrides/patches/pandas/*.patch | |
| - overrides/settings/pandas.yaml | |
| - package_plugins/pandas.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pillow-*/*.patch | |
| - overrides/patches/pillow/*.patch | |
| - overrides/settings/pillow.yaml | |
| - package_plugins/pillow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/prompt_toolkit-*/*.patch | |
| - overrides/patches/prompt_toolkit/*.patch | |
| - overrides/settings/prompt_toolkit.yaml | |
| - package_plugins/prompt_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/propcache-*/*.patch | |
| - overrides/patches/propcache/*.patch | |
| - overrides/settings/propcache.yaml | |
| - package_plugins/propcache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyaml-*/*.patch | |
| - overrides/patches/pyaml/*.patch | |
| - overrides/settings/pyaml.yaml | |
| - package_plugins/pyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyasn1-*/*.patch | |
| - overrides/patches/pyasn1/*.patch | |
| - overrides/settings/pyasn1.yaml | |
| - package_plugins/pyasn1.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pygments-*/*.patch | |
| - overrides/patches/pygments/*.patch | |
| - overrides/settings/pygments.yaml | |
| - package_plugins/pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dateutil-*/*.patch | |
| - overrides/patches/python_dateutil/*.patch | |
| - overrides/settings/python_dateutil.yaml | |
| - package_plugins/python_dateutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dotenv-*/*.patch | |
| - overrides/patches/python_dotenv/*.patch | |
| - overrides/settings/python_dotenv.yaml | |
| - package_plugins/python_dotenv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_jose-*/*.patch | |
| - overrides/patches/python_jose/*.patch | |
| - overrides/settings/python_jose.yaml | |
| - package_plugins/python_jose.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_multipart-*/*.patch | |
| - overrides/patches/python_multipart/*.patch | |
| - overrides/settings/python_multipart.yaml | |
| - package_plugins/python_multipart.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytz-*/*.patch | |
| - overrides/patches/pytz/*.patch | |
| - overrides/settings/pytz.yaml | |
| - package_plugins/pytz.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyyaml-*/*.patch | |
| - overrides/patches/pyyaml/*.patch | |
| - overrides/settings/pyyaml.yaml | |
| - package_plugins/pyyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/referencing-*/*.patch | |
| - overrides/patches/referencing/*.patch | |
| - overrides/settings/referencing.yaml | |
| - package_plugins/referencing.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/regex-*/*.patch | |
| - overrides/patches/regex/*.patch | |
| - overrides/settings/regex.yaml | |
| - package_plugins/regex.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rich-*/*.patch | |
| - overrides/patches/rich/*.patch | |
| - overrides/settings/rich.yaml | |
| - package_plugins/rich.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rpds_py-*/*.patch | |
| - overrides/patches/rpds_py/*.patch | |
| - overrides/settings/rpds_py.yaml | |
| - package_plugins/rpds_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/six-*/*.patch | |
| - overrides/patches/six/*.patch | |
| - overrides/settings/six.yaml | |
| - package_plugins/six.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/termcolor-*/*.patch | |
| - overrides/patches/termcolor/*.patch | |
| - overrides/settings/termcolor.yaml | |
| - package_plugins/termcolor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tiktoken-*/*.patch | |
| - overrides/patches/tiktoken/*.patch | |
| - overrides/settings/tiktoken.yaml | |
| - package_plugins/tiktoken.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tzdata-*/*.patch | |
| - overrides/patches/tzdata/*.patch | |
| - overrides/settings/tzdata.yaml | |
| - package_plugins/tzdata.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wcwidth-*/*.patch | |
| - overrides/patches/wcwidth/*.patch | |
| - overrides/settings/wcwidth.yaml | |
| - package_plugins/wcwidth.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosqlite-*/*.patch | |
| - overrides/patches/aiosqlite/*.patch | |
| - overrides/settings/aiosqlite.yaml | |
| - package_plugins/aiosqlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/autoevals-*/*.patch | |
| - overrides/patches/autoevals/*.patch | |
| - overrides/settings/autoevals.yaml | |
| - package_plugins/autoevals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/chardet-*/*.patch | |
| - overrides/patches/chardet/*.patch | |
| - overrides/settings/chardet.yaml | |
| - package_plugins/chardet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/datasets-*/*.patch | |
| - overrides/patches/datasets/*.patch | |
| - overrides/settings/datasets.yaml | |
| - package_plugins/datasets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/httpx-*/*.patch | |
| - overrides/patches/httpx/*.patch | |
| - overrides/settings/httpx.yaml | |
| - package_plugins/httpx.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kubernetes-*/*.patch | |
| - overrides/patches/kubernetes/*.patch | |
| - overrides/settings/kubernetes.yaml | |
| - package_plugins/kubernetes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_lmeval-*/*.patch | |
| - overrides/patches/llama_stack_provider_lmeval/*.patch | |
| - overrides/settings/llama_stack_provider_lmeval.yaml | |
| - package_plugins/llama_stack_provider_lmeval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_trustyai_fms-*/*.patch | |
| - overrides/patches/llama_stack_provider_trustyai_fms/*.patch | |
| - overrides/settings/llama_stack_provider_trustyai_fms.yaml | |
| - package_plugins/llama_stack_provider_trustyai_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nltk-*/*.patch | |
| - overrides/patches/nltk/*.patch | |
| - overrides/settings/nltk.yaml | |
| - package_plugins/nltk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http/*.patch | |
| - overrides/settings/opentelemetry_exporter_otlp_proto_http.yaml | |
| - package_plugins/opentelemetry_exporter_otlp_proto_http.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_sdk-*/*.patch | |
| - overrides/patches/opentelemetry_sdk/*.patch | |
| - overrides/settings/opentelemetry_sdk.yaml | |
| - package_plugins/opentelemetry_sdk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg2_binary-*/*.patch | |
| - overrides/patches/psycopg2_binary/*.patch | |
| - overrides/settings/psycopg2_binary.yaml | |
| - package_plugins/psycopg2_binary.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymongo-*/*.patch | |
| - overrides/patches/pymongo/*.patch | |
| - overrides/settings/pymongo.yaml | |
| - package_plugins/pymongo.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdf-*/*.patch | |
| - overrides/patches/pypdf/*.patch | |
| - overrides/settings/pypdf.yaml | |
| - package_plugins/pypdf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/redis-*/*.patch | |
| - overrides/patches/redis/*.patch | |
| - overrides/settings/redis.yaml | |
| - package_plugins/redis.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/requests-*/*.patch | |
| - overrides/patches/requests/*.patch | |
| - overrides/settings/requests.yaml | |
| - package_plugins/requests.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scikit_learn-*/*.patch | |
| - overrides/patches/scikit_learn/*.patch | |
| - overrides/settings/scikit_learn.yaml | |
| - package_plugins/scikit_learn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scipy-*/*.patch | |
| - overrides/patches/scipy/*.patch | |
| - overrides/settings/scipy.yaml | |
| - package_plugins/scipy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sqlalchemy-*/*.patch | |
| - overrides/patches/sqlalchemy/*.patch | |
| - overrides/settings/sqlalchemy.yaml | |
| - package_plugins/sqlalchemy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm-*/*.patch | |
| - overrides/patches/tqdm/*.patch | |
| - overrides/settings/tqdm.yaml | |
| - package_plugins/tqdm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/transformers-*/*.patch | |
| - overrides/patches/transformers/*.patch | |
| - overrides/settings/transformers.yaml | |
| - package_plugins/transformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn-*/*.patch | |
| - overrides/patches/uvicorn/*.patch | |
| - overrides/settings/uvicorn.yaml | |
| - package_plugins/uvicorn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymilvus-*/*.patch | |
| - overrides/patches/pymilvus/*.patch | |
| - overrides/settings/pymilvus.yaml | |
| - package_plugins/pymilvus.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/milvus_lite-*/*.patch | |
| - overrides/patches/milvus_lite/*.patch | |
| - overrides/settings/milvus_lite.yaml | |
| - package_plugins/milvus_lite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rtree-*/*.patch | |
| - overrides/patches/rtree/*.patch | |
| - overrides/settings/rtree.yaml | |
| - package_plugins/rtree.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/grpcio-*/*.patch | |
| - overrides/patches/grpcio/*.patch | |
| - overrides/settings/grpcio.yaml | |
| - package_plugins/grpcio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cbor2-*/*.patch | |
| - overrides/patches/cbor2/*.patch | |
| - overrides/settings/cbor2.yaml | |
| - package_plugins/cbor2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/outlines_core-*/*.patch | |
| - overrides/patches/outlines_core/*.patch | |
| - overrides/settings/outlines_core.yaml | |
| - package_plugins/outlines_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setproctitle-*/*.patch | |
| - overrides/patches/setproctitle/*.patch | |
| - overrides/settings/setproctitle.yaml | |
| - package_plugins/setproctitle.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai_harmony-*/*.patch | |
| - overrides/patches/openai_harmony/*.patch | |
| - overrides/settings/openai_harmony.yaml | |
| - package_plugins/openai_harmony.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uv-*/*.patch | |
| - overrides/patches/uv/*.patch | |
| - overrides/settings/uv.yaml | |
| - package_plugins/uv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psutil-*/*.patch | |
| - overrides/patches/psutil/*.patch | |
| - overrides/settings/psutil.yaml | |
| - package_plugins/psutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/polars-*/*.patch | |
| - overrides/patches/polars/*.patch | |
| - overrides/settings/polars.yaml | |
| - package_plugins/polars.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docker-*/*.patch | |
| - overrides/patches/docker/*.patch | |
| - overrides/settings/docker.yaml | |
| - package_plugins/docker.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn_worker-*/*.patch | |
| - overrides/patches/uvicorn_worker/*.patch | |
| - overrides/settings/uvicorn_worker.yaml | |
| - package_plugins/uvicorn_worker.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-s390x | |
| - job: linter | |
| non-accelerated-cpu-ubi9-s390x-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: build | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-s390x-bootstrap-and-onboard | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-s390x-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: s390x | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-s390x" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-s390x" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 1 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-s390x | |
| stage: release | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-s390x-build-wheels | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-s390x-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-s390x" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-s390x-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 1 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-s390x-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and s390x arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| build-image-cpu-ubi9-x86_64: | |
| image: quay.io/buildah/stable:v1.40.1 | |
| retry: 0 | |
| stage: build-images | |
| interruptible: true | |
| tags: | |
| - aipcc-small-x86_64 | |
| variables: | |
| ARCH: x86_64 | |
| VARIANT: cpu-ubi9 | |
| before_script: | |
| - dnf install -y which ncurses | |
| - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | |
| - | | |
| case ${VARIANT} in | |
| cuda*) CONTAINERFILE="Containerfile.cuda-ubi9" ;; | |
| rocm*) CONTAINERFILE="Containerfile.rocm-ubi9" ;; | |
| *) CONTAINERFILE="Containerfile.${VARIANT}" ;; | |
| esac | |
| - echo CONTAINERFILE=$CONTAINERFILE | |
| - if [ -n "$CI_COMMIT_TAG" ]; then echo "Using tag for version"; IMAGE_TAG="$CI_COMMIT_TAG"; | |
| else echo "Generating version from MR IID"; IMAGE_TAG="${BUILDER_IMAGE_VERSION}"; | |
| fi | |
| - echo IMAGE_TAG=$IMAGE_TAG | |
| - IMAGE_BASE="${CI_REGISTRY}/${CI_PROJECT_PATH}/builder-${VARIANT}-${ARCH}" | |
| - echo IMAGE_BASE=$IMAGE_BASE | |
| - IMAGE="${IMAGE_BASE}:${IMAGE_TAG}" | |
| - echo IMAGE=$IMAGE | |
| script: | |
| - mkdir -p ${SECURE_FILES_DOWNLOAD_PATH} | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${SECURE_FILES_DOWNLOAD_PATH}/.netrc | |
| - | | |
| buildah bud \ | |
| --secret=id=netrc,src=${SECURE_FILES_DOWNLOAD_PATH}/.netrc \ | |
| -f ${CONTAINERFILE} \ | |
| --layers --cache-from ${IMAGE_BASE} --cache-to ${IMAGE_BASE} \ | |
| -t ${IMAGE} \ | |
| --build-arg TOOL_SERVER_URL=${TOOL_SERVER_URL} \ | |
| --build-arg FROMAGER_NETWORK_ISOLATION=${FROMAGER_NETWORK_ISOLATION} \ | |
| --build-arg-file build-args/common.conf \ | |
| --build-arg-file build-args/${VARIANT}.conf \ | |
| --build-arg-file build-args/rhelai.conf \ | |
| --build-arg BUILDER_IMAGE_VERSION=${IMAGE_TAG} \ | |
| . | |
| - buildah push ${IMAGE} | |
| rules: | |
| - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - collections/*/$VARIANT/* | |
| - collections/global-constraints.txt | |
| - collections/global-requirements.txt | |
| - build-args/*.conf | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - gitlab-ci/images.yml | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $VARIANT == "cpu-ubi9" | |
| changes: | |
| - pipeline-api/* | |
| - collections/api-test/cpu-ubi9/* | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| needs: | |
| - job: linter | |
| optional: true | |
| - job: changelog-linter | |
| optional: true | |
| - job: update-tool-server | |
| optional: true | |
| ".api-test-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/api-test/constraints-rules.txt | |
| - collections/api-test/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "api-test" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| api-test-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS: false | |
| PUBLISH_WHEEL_RELEASES: true | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| - job: linter | |
| test-api-test-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $ENABLE_TEST_JOBS == "false" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - collections/api-test/cpu-ubi9/requirements.txt | |
| - collections/api-test/cpu-ubi9/constraints.txt | |
| - collections/**/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| api-test-cpu-ubi9-x86_64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: build | |
| needs: | |
| - job: api-test-cpu-ubi9-x86_64-bootstrap-and-onboard | |
| artifacts: true | |
| api-test-cpu-ubi9-x86_64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: api-test | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/api-test-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=api-test" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: release | |
| needs: | |
| - job: api-test-cpu-ubi9-x86_64-build-wheels | |
| artifacts: true | |
| api-test-cpu-ubi9-x86_64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+api-test-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/api-test-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".api-test-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: api-test-cpu-ubi9-x86_64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and x86_64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| non-accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| test-non-accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyzmq-*/*.patch | |
| - overrides/patches/pyzmq/*.patch | |
| - overrides/settings/pyzmq.yaml | |
| - package_plugins/pyzmq.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opencv_python_headless-*/*.patch | |
| - overrides/patches/opencv_python_headless/*.patch | |
| - overrides/settings/opencv_python_headless.yaml | |
| - package_plugins/opencv_python_headless.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdfium2-*/*.patch | |
| - overrides/patches/pypdfium2/*.patch | |
| - overrides/settings/pypdfium2.yaml | |
| - package_plugins/pypdfium2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tesserocr-*/*.patch | |
| - overrides/patches/tesserocr/*.patch | |
| - overrides/settings/tesserocr.yaml | |
| - package_plugins/tesserocr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/certifi-*/*.patch | |
| - overrides/patches/certifi/*.patch | |
| - overrides/settings/certifi.yaml | |
| - package_plugins/certifi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fastapi-*/*.patch | |
| - overrides/patches/fastapi/*.patch | |
| - overrides/settings/fastapi.yaml | |
| - package_plugins/fastapi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/meson-*/*.patch | |
| - overrides/patches/meson/*.patch | |
| - overrides/settings/meson.yaml | |
| - package_plugins/meson.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pydantic_core-*/*.patch | |
| - overrides/patches/pydantic_core/*.patch | |
| - overrides/settings/pydantic_core.yaml | |
| - package_plugins/pydantic_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm_multiprocess-*/*.patch | |
| - overrides/patches/tqdm_multiprocess/*.patch | |
| - overrides/settings/tqdm_multiprocess.yaml | |
| - package_plugins/tqdm_multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_pygments-*/*.patch | |
| - overrides/patches/jupyterlab_pygments/*.patch | |
| - overrides/settings/jupyterlab_pygments.yaml | |
| - package_plugins/jupyterlab_pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sacrebleu-*/*.patch | |
| - overrides/patches/sacrebleu/*.patch | |
| - overrides/settings/sacrebleu.yaml | |
| - package_plugins/sacrebleu.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/yarl-*/*.patch | |
| - overrides/patches/yarl/*.patch | |
| - overrides/settings/yarl.yaml | |
| - package_plugins/yarl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/gast-*/*.patch | |
| - overrides/patches/gast/*.patch | |
| - overrides/settings/gast.yaml | |
| - package_plugins/gast.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flit_core-*/*.patch | |
| - overrides/patches/flit_core/*.patch | |
| - overrides/settings/flit_core.yaml | |
| - package_plugins/flit_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kfp-*/*.patch | |
| - overrides/patches/kfp/*.patch | |
| - overrides/settings/kfp.yaml | |
| - package_plugins/kfp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multiprocess-*/*.patch | |
| - overrides/patches/multiprocess/*.patch | |
| - overrides/settings/multiprocess.yaml | |
| - package_plugins/multiprocess.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_client-*/*.patch | |
| - overrides/patches/qdrant_client/*.patch | |
| - overrides/settings/qdrant_client.yaml | |
| - package_plugins/qdrant_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/langchain_qdrant-*/*.patch | |
| - overrides/patches/langchain_qdrant/*.patch | |
| - overrides/settings/langchain_qdrant.yaml | |
| - package_plugins/langchain_qdrant.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/qdrant_haystack-*/*.patch | |
| - overrides/patches/qdrant_haystack/*.patch | |
| - overrides/settings/qdrant_haystack.yaml | |
| - package_plugins/qdrant_haystack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/haystack_ai-*/*.patch | |
| - overrides/patches/haystack_ai/*.patch | |
| - overrides/settings/haystack_ai.yaml | |
| - package_plugins/haystack_ai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack-*/*.patch | |
| - overrides/patches/llama_stack/*.patch | |
| - overrides/settings/llama_stack.yaml | |
| - package_plugins/llama_stack.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai-*/*.patch | |
| - overrides/patches/openai/*.patch | |
| - overrides/settings/openai.yaml | |
| - package_plugins/openai.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_client-*/*.patch | |
| - overrides/patches/llama_stack_client/*.patch | |
| - overrides/settings/llama_stack_client.yaml | |
| - package_plugins/llama_stack_client.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h5py-*/*.patch | |
| - overrides/patches/h5py/*.patch | |
| - overrides/settings/h5py.yaml | |
| - package_plugins/h5py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/boto3-*/*.patch | |
| - overrides/patches/boto3/*.patch | |
| - overrides/settings/boto3.yaml | |
| - package_plugins/boto3.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/submodlib_py-*/*.patch | |
| - overrides/patches/submodlib_py/*.patch | |
| - overrides/settings/submodlib_py.yaml | |
| - package_plugins/submodlib_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ipython-*/*.patch | |
| - overrides/patches/ipython/*.patch | |
| - overrides/settings/ipython.yaml | |
| - package_plugins/ipython.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/notebook-*/*.patch | |
| - overrides/patches/notebook/*.patch | |
| - overrides/settings/notebook.yaml | |
| - package_plugins/notebook.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/matplotlib-*/*.patch | |
| - overrides/patches/matplotlib/*.patch | |
| - overrides/settings/matplotlib.yaml | |
| - package_plugins/matplotlib.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mysql_connector_python-*/*.patch | |
| - overrides/patches/mysql_connector_python/*.patch | |
| - overrides/settings/mysql_connector_python.yaml | |
| - package_plugins/mysql_connector_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyodbc-*/*.patch | |
| - overrides/patches/pyodbc/*.patch | |
| - overrides/settings/pyodbc.yaml | |
| - package_plugins/pyodbc.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg-*/*.patch | |
| - overrides/patches/psycopg/*.patch | |
| - overrides/settings/psycopg.yaml | |
| - package_plugins/psycopg.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soxr-*/*.patch | |
| - overrides/patches/soxr/*.patch | |
| - overrides/settings/soxr.yaml | |
| - package_plugins/soxr.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/librosa-*/*.patch | |
| - overrides/patches/librosa/*.patch | |
| - overrides/settings/librosa.yaml | |
| - package_plugins/librosa.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soundfile-*/*.patch | |
| - overrides/patches/soundfile/*.patch | |
| - overrides/settings/soundfile.yaml | |
| - package_plugins/soundfile.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hatch_fancy_pypi_readme-*/*.patch | |
| - overrides/patches/hatch_fancy_pypi_readme/*.patch | |
| - overrides/settings/hatch_fancy_pypi_readme.yaml | |
| - package_plugins/hatch_fancy_pypi_readme.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/soupsieve-*/*.patch | |
| - overrides/patches/soupsieve/*.patch | |
| - overrides/settings/soupsieve.yaml | |
| - package_plugins/soupsieve.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ply-*/*.patch | |
| - overrides/patches/ply/*.patch | |
| - overrides/settings/ply.yaml | |
| - package_plugins/ply.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sentencepiece-*/*.patch | |
| - overrides/patches/sentencepiece/*.patch | |
| - overrides/settings/sentencepiece.yaml | |
| - package_plugins/sentencepiece.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/argon2_cffi-*/*.patch | |
| - overrides/patches/argon2_cffi/*.patch | |
| - overrides/settings/argon2_cffi.yaml | |
| - package_plugins/argon2_cffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_transfer-*/*.patch | |
| - overrides/patches/hf_transfer/*.patch | |
| - overrides/settings/hf_transfer.yaml | |
| - package_plugins/hf_transfer.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard-*/*.patch | |
| - overrides/patches/tensorboard/*.patch | |
| - overrides/settings/tensorboard.yaml | |
| - package_plugins/tensorboard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tensorboard_data_server-*/*.patch | |
| - overrides/patches/tensorboard_data_server/*.patch | |
| - overrides/settings/tensorboard_data_server.yaml | |
| - package_plugins/tensorboard_data_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/h11-*/*.patch | |
| - overrides/patches/h11/*.patch | |
| - overrides/settings/h11.yaml | |
| - package_plugins/h11.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/zstandard-*/*.patch | |
| - overrides/patches/zstandard/*.patch | |
| - overrides/settings/zstandard.yaml | |
| - package_plugins/zstandard.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mcp-*/*.patch | |
| - overrides/patches/mcp/*.patch | |
| - overrides/settings/mcp.yaml | |
| - package_plugins/mcp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/MarkupSafe-*/*.patch | |
| - overrides/patches/MarkupSafe/*.patch | |
| - overrides/settings/MarkupSafe.yaml | |
| - package_plugins/MarkupSafe.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohappyeyeballs-*/*.patch | |
| - overrides/patches/aiohappyeyeballs/*.patch | |
| - overrides/settings/aiohappyeyeballs.yaml | |
| - package_plugins/aiohappyeyeballs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiohttp-*/*.patch | |
| - overrides/patches/aiohttp/*.patch | |
| - overrides/settings/aiohttp.yaml | |
| - package_plugins/aiohttp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosignal-*/*.patch | |
| - overrides/patches/aiosignal/*.patch | |
| - overrides/settings/aiosignal.yaml | |
| - package_plugins/aiosignal.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/attrs-*/*.patch | |
| - overrides/patches/attrs/*.patch | |
| - overrides/settings/attrs.yaml | |
| - package_plugins/attrs.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/click-*/*.patch | |
| - overrides/patches/click/*.patch | |
| - overrides/settings/click.yaml | |
| - package_plugins/click.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/filelock-*/*.patch | |
| - overrides/patches/filelock/*.patch | |
| - overrides/settings/filelock.yaml | |
| - package_plugins/filelock.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fire-*/*.patch | |
| - overrides/patches/fire/*.patch | |
| - overrides/settings/fire.yaml | |
| - package_plugins/fire.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/frozenlist-*/*.patch | |
| - overrides/patches/frozenlist/*.patch | |
| - overrides/settings/frozenlist.yaml | |
| - package_plugins/frozenlist.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/fsspec-*/*.patch | |
| - overrides/patches/fsspec/*.patch | |
| - overrides/settings/fsspec.yaml | |
| - package_plugins/fsspec.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jinja2-*/*.patch | |
| - overrides/patches/jinja2/*.patch | |
| - overrides/settings/jinja2.yaml | |
| - package_plugins/jinja2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema-*/*.patch | |
| - overrides/patches/jsonschema/*.patch | |
| - overrides/settings/jsonschema.yaml | |
| - package_plugins/jsonschema.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jsonschema_specifications-*/*.patch | |
| - overrides/patches/jsonschema_specifications/*.patch | |
| - overrides/settings/jsonschema_specifications.yaml | |
| - package_plugins/jsonschema_specifications.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/markdown_it_py-*/*.patch | |
| - overrides/patches/markdown_it_py/*.patch | |
| - overrides/settings/markdown_it_py.yaml | |
| - package_plugins/markdown_it_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mdurl-*/*.patch | |
| - overrides/patches/mdurl/*.patch | |
| - overrides/settings/mdurl.yaml | |
| - package_plugins/mdurl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/multidict-*/*.patch | |
| - overrides/patches/multidict/*.patch | |
| - overrides/settings/multidict.yaml | |
| - package_plugins/multidict.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numpy-*/*.patch | |
| - overrides/patches/numpy/*.patch | |
| - overrides/settings/numpy.yaml | |
| - package_plugins/numpy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/packaging-*/*.patch | |
| - overrides/patches/packaging/*.patch | |
| - overrides/settings/packaging.yaml | |
| - package_plugins/packaging.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pandas-*/*.patch | |
| - overrides/patches/pandas/*.patch | |
| - overrides/settings/pandas.yaml | |
| - package_plugins/pandas.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pillow-*/*.patch | |
| - overrides/patches/pillow/*.patch | |
| - overrides/settings/pillow.yaml | |
| - package_plugins/pillow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/prompt_toolkit-*/*.patch | |
| - overrides/patches/prompt_toolkit/*.patch | |
| - overrides/settings/prompt_toolkit.yaml | |
| - package_plugins/prompt_toolkit.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/propcache-*/*.patch | |
| - overrides/patches/propcache/*.patch | |
| - overrides/settings/propcache.yaml | |
| - package_plugins/propcache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyaml-*/*.patch | |
| - overrides/patches/pyaml/*.patch | |
| - overrides/settings/pyaml.yaml | |
| - package_plugins/pyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyasn1-*/*.patch | |
| - overrides/patches/pyasn1/*.patch | |
| - overrides/settings/pyasn1.yaml | |
| - package_plugins/pyasn1.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pygments-*/*.patch | |
| - overrides/patches/pygments/*.patch | |
| - overrides/settings/pygments.yaml | |
| - package_plugins/pygments.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dateutil-*/*.patch | |
| - overrides/patches/python_dateutil/*.patch | |
| - overrides/settings/python_dateutil.yaml | |
| - package_plugins/python_dateutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_dotenv-*/*.patch | |
| - overrides/patches/python_dotenv/*.patch | |
| - overrides/settings/python_dotenv.yaml | |
| - package_plugins/python_dotenv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_jose-*/*.patch | |
| - overrides/patches/python_jose/*.patch | |
| - overrides/settings/python_jose.yaml | |
| - package_plugins/python_jose.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/python_multipart-*/*.patch | |
| - overrides/patches/python_multipart/*.patch | |
| - overrides/settings/python_multipart.yaml | |
| - package_plugins/python_multipart.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytz-*/*.patch | |
| - overrides/patches/pytz/*.patch | |
| - overrides/settings/pytz.yaml | |
| - package_plugins/pytz.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyyaml-*/*.patch | |
| - overrides/patches/pyyaml/*.patch | |
| - overrides/settings/pyyaml.yaml | |
| - package_plugins/pyyaml.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/referencing-*/*.patch | |
| - overrides/patches/referencing/*.patch | |
| - overrides/settings/referencing.yaml | |
| - package_plugins/referencing.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/regex-*/*.patch | |
| - overrides/patches/regex/*.patch | |
| - overrides/settings/regex.yaml | |
| - package_plugins/regex.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rich-*/*.patch | |
| - overrides/patches/rich/*.patch | |
| - overrides/settings/rich.yaml | |
| - package_plugins/rich.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rpds_py-*/*.patch | |
| - overrides/patches/rpds_py/*.patch | |
| - overrides/settings/rpds_py.yaml | |
| - package_plugins/rpds_py.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/six-*/*.patch | |
| - overrides/patches/six/*.patch | |
| - overrides/settings/six.yaml | |
| - package_plugins/six.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/termcolor-*/*.patch | |
| - overrides/patches/termcolor/*.patch | |
| - overrides/settings/termcolor.yaml | |
| - package_plugins/termcolor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tiktoken-*/*.patch | |
| - overrides/patches/tiktoken/*.patch | |
| - overrides/settings/tiktoken.yaml | |
| - package_plugins/tiktoken.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tzdata-*/*.patch | |
| - overrides/patches/tzdata/*.patch | |
| - overrides/settings/tzdata.yaml | |
| - package_plugins/tzdata.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wcwidth-*/*.patch | |
| - overrides/patches/wcwidth/*.patch | |
| - overrides/settings/wcwidth.yaml | |
| - package_plugins/wcwidth.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/aiosqlite-*/*.patch | |
| - overrides/patches/aiosqlite/*.patch | |
| - overrides/settings/aiosqlite.yaml | |
| - package_plugins/aiosqlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/autoevals-*/*.patch | |
| - overrides/patches/autoevals/*.patch | |
| - overrides/settings/autoevals.yaml | |
| - package_plugins/autoevals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/chardet-*/*.patch | |
| - overrides/patches/chardet/*.patch | |
| - overrides/settings/chardet.yaml | |
| - package_plugins/chardet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/datasets-*/*.patch | |
| - overrides/patches/datasets/*.patch | |
| - overrides/settings/datasets.yaml | |
| - package_plugins/datasets.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/httpx-*/*.patch | |
| - overrides/patches/httpx/*.patch | |
| - overrides/settings/httpx.yaml | |
| - package_plugins/httpx.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/kubernetes-*/*.patch | |
| - overrides/patches/kubernetes/*.patch | |
| - overrides/settings/kubernetes.yaml | |
| - package_plugins/kubernetes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_lmeval-*/*.patch | |
| - overrides/patches/llama_stack_provider_lmeval/*.patch | |
| - overrides/settings/llama_stack_provider_lmeval.yaml | |
| - package_plugins/llama_stack_provider_lmeval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_stack_provider_trustyai_fms-*/*.patch | |
| - overrides/patches/llama_stack_provider_trustyai_fms/*.patch | |
| - overrides/settings/llama_stack_provider_trustyai_fms.yaml | |
| - package_plugins/llama_stack_provider_trustyai_fms.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nltk-*/*.patch | |
| - overrides/patches/nltk/*.patch | |
| - overrides/settings/nltk.yaml | |
| - package_plugins/nltk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http-*/*.patch | |
| - overrides/patches/opentelemetry_exporter_otlp_proto_http/*.patch | |
| - overrides/settings/opentelemetry_exporter_otlp_proto_http.yaml | |
| - package_plugins/opentelemetry_exporter_otlp_proto_http.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/opentelemetry_sdk-*/*.patch | |
| - overrides/patches/opentelemetry_sdk/*.patch | |
| - overrides/settings/opentelemetry_sdk.yaml | |
| - package_plugins/opentelemetry_sdk.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psycopg2_binary-*/*.patch | |
| - overrides/patches/psycopg2_binary/*.patch | |
| - overrides/settings/psycopg2_binary.yaml | |
| - package_plugins/psycopg2_binary.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymongo-*/*.patch | |
| - overrides/patches/pymongo/*.patch | |
| - overrides/settings/pymongo.yaml | |
| - package_plugins/pymongo.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pypdf-*/*.patch | |
| - overrides/patches/pypdf/*.patch | |
| - overrides/settings/pypdf.yaml | |
| - package_plugins/pypdf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/redis-*/*.patch | |
| - overrides/patches/redis/*.patch | |
| - overrides/settings/redis.yaml | |
| - package_plugins/redis.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/requests-*/*.patch | |
| - overrides/patches/requests/*.patch | |
| - overrides/settings/requests.yaml | |
| - package_plugins/requests.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scikit_learn-*/*.patch | |
| - overrides/patches/scikit_learn/*.patch | |
| - overrides/settings/scikit_learn.yaml | |
| - package_plugins/scikit_learn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/scipy-*/*.patch | |
| - overrides/patches/scipy/*.patch | |
| - overrides/settings/scipy.yaml | |
| - package_plugins/scipy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/sqlalchemy-*/*.patch | |
| - overrides/patches/sqlalchemy/*.patch | |
| - overrides/settings/sqlalchemy.yaml | |
| - package_plugins/sqlalchemy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tqdm-*/*.patch | |
| - overrides/patches/tqdm/*.patch | |
| - overrides/settings/tqdm.yaml | |
| - package_plugins/tqdm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/transformers-*/*.patch | |
| - overrides/patches/transformers/*.patch | |
| - overrides/settings/transformers.yaml | |
| - package_plugins/transformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn-*/*.patch | |
| - overrides/patches/uvicorn/*.patch | |
| - overrides/settings/uvicorn.yaml | |
| - package_plugins/uvicorn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pymilvus-*/*.patch | |
| - overrides/patches/pymilvus/*.patch | |
| - overrides/settings/pymilvus.yaml | |
| - package_plugins/pymilvus.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/milvus_lite-*/*.patch | |
| - overrides/patches/milvus_lite/*.patch | |
| - overrides/settings/milvus_lite.yaml | |
| - package_plugins/milvus_lite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/rtree-*/*.patch | |
| - overrides/patches/rtree/*.patch | |
| - overrides/settings/rtree.yaml | |
| - package_plugins/rtree.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/grpcio-*/*.patch | |
| - overrides/patches/grpcio/*.patch | |
| - overrides/settings/grpcio.yaml | |
| - package_plugins/grpcio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cbor2-*/*.patch | |
| - overrides/patches/cbor2/*.patch | |
| - overrides/settings/cbor2.yaml | |
| - package_plugins/cbor2.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/outlines_core-*/*.patch | |
| - overrides/patches/outlines_core/*.patch | |
| - overrides/settings/outlines_core.yaml | |
| - package_plugins/outlines_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/setproctitle-*/*.patch | |
| - overrides/patches/setproctitle/*.patch | |
| - overrides/settings/setproctitle.yaml | |
| - package_plugins/setproctitle.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/openai_harmony-*/*.patch | |
| - overrides/patches/openai_harmony/*.patch | |
| - overrides/settings/openai_harmony.yaml | |
| - package_plugins/openai_harmony.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uv-*/*.patch | |
| - overrides/patches/uv/*.patch | |
| - overrides/settings/uv.yaml | |
| - package_plugins/uv.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/psutil-*/*.patch | |
| - overrides/patches/psutil/*.patch | |
| - overrides/settings/psutil.yaml | |
| - package_plugins/psutil.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/polars-*/*.patch | |
| - overrides/patches/polars/*.patch | |
| - overrides/settings/polars.yaml | |
| - package_plugins/polars.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docker-*/*.patch | |
| - overrides/patches/docker/*.patch | |
| - overrides/settings/docker.yaml | |
| - package_plugins/docker.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/uvicorn_worker-*/*.patch | |
| - overrides/patches/uvicorn_worker/*.patch | |
| - overrides/settings/uvicorn_worker.yaml | |
| - package_plugins/uvicorn_worker.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| - job: linter | |
| non-accelerated-cpu-ubi9-x86_64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: build | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-x86_64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: non-accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/non-accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/non-accelerated/cpu-ubi9/requirements.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/non-accelerated/constraints-rules.txt | |
| - collections/non-accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "non-accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=non-accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: release | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-x86_64-build-wheels | |
| artifacts: true | |
| non-accelerated-cpu-ubi9-x86_64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+non-accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/non-accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".non-accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: non-accelerated-cpu-ubi9-x86_64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and x86_64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| test-accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/hf_xet-*/*.patch | |
| - overrides/patches/hf_xet/*.patch | |
| - overrides/settings/hf_xet.yaml | |
| - package_plugins/hf_xet.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch_tb_profiler-*/*.patch | |
| - overrides/patches/torch_tb_profiler/*.patch | |
| - overrides/settings/torch_tb_profiler.yaml | |
| - package_plugins/torch_tb_profiler.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/huggingface_hub-*/*.patch | |
| - overrides/patches/huggingface_hub/*.patch | |
| - overrides/settings/huggingface_hub.yaml | |
| - package_plugins/huggingface_hub.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling-*/*.patch | |
| - overrides/patches/docling/*.patch | |
| - overrides/settings/docling.yaml | |
| - package_plugins/docling.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_core-*/*.patch | |
| - overrides/patches/docling_core/*.patch | |
| - overrides/settings/docling_core.yaml | |
| - package_plugins/docling_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_parse-*/*.patch | |
| - overrides/patches/docling_parse/*.patch | |
| - overrides/settings/docling_parse.yaml | |
| - package_plugins/docling_parse.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/docling_ibm_models-*/*.patch | |
| - overrides/patches/docling_ibm_models/*.patch | |
| - overrides/settings/docling_ibm_models.yaml | |
| - package_plugins/docling_ibm_models.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/trl-*/*.patch | |
| - overrides/patches/trl/*.patch | |
| - overrides/settings/trl.yaml | |
| - package_plugins/trl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/liger_kernel-*/*.patch | |
| - overrides/patches/liger_kernel/*.patch | |
| - overrides/settings/liger_kernel.yaml | |
| - package_plugins/liger_kernel.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/lm_eval-*/*.patch | |
| - overrides/patches/lm_eval/*.patch | |
| - overrides/settings/lm_eval.yaml | |
| - package_plugins/lm_eval.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab-*/*.patch | |
| - overrides/patches/jupyterlab/*.patch | |
| - overrides/settings/jupyterlab.yaml | |
| - package_plugins/jupyterlab.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server-*/*.patch | |
| - overrides/patches/jupyter_server/*.patch | |
| - overrides/settings/jupyter_server.yaml | |
| - package_plugins/jupyter_server.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_mathjax-*/*.patch | |
| - overrides/patches/jupyter_server_mathjax/*.patch | |
| - overrides/settings/jupyter_server_mathjax.yaml | |
| - package_plugins/jupyter_server_mathjax.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_proxy-*/*.patch | |
| - overrides/patches/jupyter_server_proxy/*.patch | |
| - overrides/settings/jupyter_server_proxy.yaml | |
| - package_plugins/jupyter_server_proxy.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyter_server_terminals-*/*.patch | |
| - overrides/patches/jupyter_server_terminals/*.patch | |
| - overrides/settings/jupyter_server_terminals.yaml | |
| - package_plugins/jupyter_server_terminals.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/jupyterlab_git-*/*.patch | |
| - overrides/patches/jupyterlab_git/*.patch | |
| - overrides/settings/jupyterlab_git.yaml | |
| - package_plugins/jupyterlab_git.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbdime-*/*.patch | |
| - overrides/patches/nbdime/*.patch | |
| - overrides/settings/nbdime.yaml | |
| - package_plugins/nbdime.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nbgitpuller-*/*.patch | |
| - overrides/patches/nbgitpuller/*.patch | |
| - overrides/settings/nbgitpuller.yaml | |
| - package_plugins/nbgitpuller.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/depyf-*/*.patch | |
| - overrides/patches/depyf/*.patch | |
| - overrides/settings/depyf.yaml | |
| - package_plugins/depyf.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pytest_asyncio-*/*.patch | |
| - overrides/patches/pytest_asyncio/*.patch | |
| - overrides/settings/pytest_asyncio.yaml | |
| - package_plugins/pytest_asyncio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/litellm-*/*.patch | |
| - overrides/patches/litellm/*.patch | |
| - overrides/settings/litellm.yaml | |
| - package_plugins/litellm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llvmlite-*/*.patch | |
| - overrides/patches/llvmlite/*.patch | |
| - overrides/settings/llvmlite.yaml | |
| - package_plugins/llvmlite.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/faiss_cpu-*/*.patch | |
| - overrides/patches/faiss_cpu/*.patch | |
| - overrides/settings/faiss_cpu.yaml | |
| - package_plugins/faiss_cpu.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| - job: linter | |
| accelerated-cpu-ubi9-x86_64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: build | |
| needs: | |
| - job: accelerated-cpu-ubi9-x86_64-bootstrap-and-onboard | |
| artifacts: true | |
| accelerated-cpu-ubi9-x86_64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: accelerated | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/accelerated-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/accelerated/cpu-ubi9/requirements.txt | |
| - collections/accelerated/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/accelerated/constraints-rules.txt | |
| - collections/accelerated/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "accelerated" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=accelerated" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: release | |
| needs: | |
| - job: accelerated-cpu-ubi9-x86_64-build-wheels | |
| artifacts: true | |
| accelerated-cpu-ubi9-x86_64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+accelerated-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/accelerated-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".accelerated-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: accelerated-cpu-ubi9-x86_64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and x86_64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| torch-2.8.0-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| test-torch-2.8.0-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_openmp-*/*.patch | |
| - overrides/patches/intel_openmp/*.patch | |
| - overrides/settings/intel_openmp.yaml | |
| - package_plugins/intel_openmp.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_cmplr_lib_ur-*/*.patch | |
| - overrides/patches/intel_cmplr_lib_ur/*.patch | |
| - overrides/settings/intel_cmplr_lib_ur.yaml | |
| - package_plugins/intel_cmplr_lib_ur.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/intel_extension_for_pytorch-*/*.patch | |
| - overrides/patches/intel_extension_for_pytorch/*.patch | |
| - overrides/settings/intel_extension_for_pytorch.yaml | |
| - package_plugins/intel_extension_for_pytorch.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| - job: linter | |
| torch-2.8.0-cpu-ubi9-x86_64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: build | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-x86_64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.8.0-cpu-ubi9-x86_64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: release | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-x86_64-build-wheels | |
| artifacts: true | |
| torch-2.8.0-cpu-ubi9-x86_64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.8.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: $PUBLISH_WHEEL_RELEASES == "false" | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| needs: | |
| - job: torch-2.8.0-cpu-ubi9-x86_64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and x86_64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| torch-2.9.0-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| test-torch-2.9.0-cpu-ubi9-x86_64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cpu-ubi9-x86_64 | |
| - job: linter | |
| torch-2.9.0-cpu-ubi9-x86_64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: build | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-x86_64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.9.0-cpu-ubi9-x86_64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cpu-ubi9 | |
| ARCH: x86_64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cpu-ubi9-x86_64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cpu-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cpu-ubi9-x86_64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cpu-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cpu-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cpu-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-x86_64 | |
| stage: release | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-x86_64-build-wheels | |
| artifacts: true | |
| torch-2.9.0-cpu-ubi9-x86_64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cpu-ubi9-x86_64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.9.0-cpu-ubi9-x86_64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: torch-2.9.0-cpu-ubi9-x86_64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and x86_64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| build-image-cuda12.8-ubi9-aarch64: | |
| image: quay.io/buildah/stable:v1.40.1 | |
| retry: 0 | |
| stage: build-images | |
| interruptible: true | |
| tags: | |
| - aipcc-small-aarch64 | |
| variables: | |
| ARCH: aarch64 | |
| VARIANT: cuda12.8-ubi9 | |
| before_script: | |
| - dnf install -y which ncurses | |
| - buildah login -u $CI_REGISTRY_USER -p $CI_REGISTRY_PASSWORD $CI_REGISTRY | |
| - | | |
| case ${VARIANT} in | |
| cuda*) CONTAINERFILE="Containerfile.cuda-ubi9" ;; | |
| rocm*) CONTAINERFILE="Containerfile.rocm-ubi9" ;; | |
| *) CONTAINERFILE="Containerfile.${VARIANT}" ;; | |
| esac | |
| - echo CONTAINERFILE=$CONTAINERFILE | |
| - if [ -n "$CI_COMMIT_TAG" ]; then echo "Using tag for version"; IMAGE_TAG="$CI_COMMIT_TAG"; | |
| else echo "Generating version from MR IID"; IMAGE_TAG="${BUILDER_IMAGE_VERSION}"; | |
| fi | |
| - echo IMAGE_TAG=$IMAGE_TAG | |
| - IMAGE_BASE="${CI_REGISTRY}/${CI_PROJECT_PATH}/builder-${VARIANT}-${ARCH}" | |
| - echo IMAGE_BASE=$IMAGE_BASE | |
| - IMAGE="${IMAGE_BASE}:${IMAGE_TAG}" | |
| - echo IMAGE=$IMAGE | |
| script: | |
| - mkdir -p ${SECURE_FILES_DOWNLOAD_PATH} | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${SECURE_FILES_DOWNLOAD_PATH}/.netrc | |
| - | | |
| buildah bud \ | |
| --secret=id=netrc,src=${SECURE_FILES_DOWNLOAD_PATH}/.netrc \ | |
| -f ${CONTAINERFILE} \ | |
| --layers --cache-from ${IMAGE_BASE} --cache-to ${IMAGE_BASE} \ | |
| -t ${IMAGE} \ | |
| --build-arg TOOL_SERVER_URL=${TOOL_SERVER_URL} \ | |
| --build-arg FROMAGER_NETWORK_ISOLATION=${FROMAGER_NETWORK_ISOLATION} \ | |
| --build-arg-file build-args/common.conf \ | |
| --build-arg-file build-args/${VARIANT}.conf \ | |
| --build-arg-file build-args/rhelai.conf \ | |
| --build-arg BUILDER_IMAGE_VERSION=${IMAGE_TAG} \ | |
| . | |
| - buildah push ${IMAGE} | |
| rules: | |
| - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - collections/*/$VARIANT/* | |
| - collections/global-constraints.txt | |
| - collections/global-requirements.txt | |
| - build-args/*.conf | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - gitlab-ci/images.yml | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" && $VARIANT == "cpu-ubi9" | |
| changes: | |
| - pipeline-api/* | |
| - collections/api-test/cpu-ubi9/* | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - pipeline-api/* | |
| - collections/global-constraints.txt | |
| - collections/api-test/cpu-ubi9/* | |
| - package_plugins/cli/onboarder.py | |
| - package_plugins/cli/get_project_id.py | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| needs: | |
| - job: linter | |
| optional: true | |
| - job: changelog-linter | |
| optional: true | |
| - job: update-tool-server | |
| optional: true | |
| ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| torch-2.8.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.8-ubi9-aarch64 | |
| test-torch-2.8.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llama_cpp_python-*/*.patch | |
| - overrides/patches/llama_cpp_python/*.patch | |
| - overrides/settings/llama_cpp_python.yaml | |
| - package_plugins/llama_cpp_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/llmcompressor-*/*.patch | |
| - overrides/patches/llmcompressor/*.patch | |
| - overrides/settings/llmcompressor.yaml | |
| - package_plugins/llmcompressor.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.8-ubi9-aarch64 | |
| - job: linter | |
| torch-2.8.0-cuda12.8-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: torch-2.8.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.8.0-cuda12.8-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.8.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.8.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.8.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.8.0/constraints-rules.txt | |
| - collections/torch-2.8.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.8.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.8.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: torch-2.8.0-cuda12.8-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| torch-2.8.0-cuda12.8-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.8.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.8.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.8.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: torch-2.8.0-cuda12.8-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| torch-2.9.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.8-ubi9-aarch64 | |
| test-torch-2.9.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/apache_tvm_ffi-*/*.patch | |
| - overrides/patches/apache_tvm_ffi/*.patch | |
| - overrides/settings/apache_tvm_ffi.yaml | |
| - package_plugins/apache_tvm_ffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.8-ubi9-aarch64 | |
| - job: linter | |
| torch-2.9.0-cuda12.8-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: torch-2.9.0-cuda12.8-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.9.0-cuda12.8-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.8-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.8-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.8-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.8-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/make_release_tarball.sh" | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.8-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.8-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.8-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: release | |
| needs: | |
| - job: torch-2.9.0-cuda12.8-ubi9-aarch64-build-wheels | |
| artifacts: true | |
| torch-2.9.0-cuda12.8-ubi9-aarch64-publish-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.8-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| image: registry.gitlab.com/gitlab-org/release-cli:latest | |
| extends: | |
| - ".torch-2.9.0-cuda12.8-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| stage: release | |
| retry: 0 | |
| interruptible: true | |
| rules: | |
| - when: never | |
| needs: | |
| - job: torch-2.9.0-cuda12.8-ubi9-aarch64-release-tarball | |
| artifacts: true | |
| script: | |
| - echo "running publish job $CI_JOB_NAME for $RELEASE_VERSION and aarch64 arch" | |
| release: | |
| tag_name: "$RELEASE_VERSION" | |
| description: "/mnt/work-dir/build-sequence-summary.md" | |
| ref: "$CI_COMMIT_SHA" | |
| assets: | |
| links: | |
| - name: "$RELEASE_TARBALL" | |
| url: "$PUBLISH_URL/$RELEASE_TARBALL" | |
| tags: | |
| - aipcc | |
| ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-release-variables-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-api-base-rules": | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-api-base-job": | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.9-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.9-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.9-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.9-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| extends: | |
| - ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-release-variables-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.9-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| torch-2.9.0-cuda12.9-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.9-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.9-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.9-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.9-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| extends: | |
| - ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.9-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.9-ubi9-aarch64 | |
| test-torch-2.9.0-cuda12.9-ubi9-aarch64-bootstrap-and-onboard: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.9-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.9-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.9-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.9-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'false' | |
| BOOTSTRAP_RUN_ONBOARD: 'false' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: full-parallel | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/bootstrap_and_onboard.sh" | |
| ENABLE_TEST_JOBS: true | |
| extends: | |
| - ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - - if: $CI_PROJECT_NAMESPACE != "redhat/rhel-ai/wheels" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - container-install/** | |
| - repos/** | |
| - overrides/**/* | |
| - package_plugins/** | |
| - requirements.txt | |
| - collections/global-constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/constraints-rules.txt | |
| - collections/$[[ inputs.COLLECTION ]]/$[[ inputs.VARIANT ]]/constraints-rules.txt | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - Containerfile.${VARIANT} | |
| - build-args/${VARIANT}.conf | |
| - collections/${COLLECTION}/${VARIANT}/* | |
| - if: "$CI_MERGE_REQUEST_LABELS =~ /force-test/" | |
| - - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/apache_tvm_ffi-*/*.patch | |
| - overrides/patches/apache_tvm_ffi/*.patch | |
| - overrides/settings/apache_tvm_ffi.yaml | |
| - package_plugins/apache_tvm_ffi.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/bitsandbytes-*/*.patch | |
| - overrides/patches/bitsandbytes/*.patch | |
| - overrides/settings/bitsandbytes.yaml | |
| - package_plugins/bitsandbytes.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cmake-*/*.patch | |
| - overrides/patches/cmake/*.patch | |
| - overrides/settings/cmake.yaml | |
| - package_plugins/cmake.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/causal_conv1d-*/*.patch | |
| - overrides/patches/causal_conv1d/*.patch | |
| - overrides/settings/causal_conv1d.yaml | |
| - package_plugins/causal_conv1d.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cupy_cuda12x-*/*.patch | |
| - overrides/patches/cupy_cuda12x/*.patch | |
| - overrides/settings/cupy_cuda12x.yaml | |
| - package_plugins/cupy_cuda12x.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_bindings-*/*.patch | |
| - overrides/patches/cuda_bindings/*.patch | |
| - overrides/settings/cuda_bindings.yaml | |
| - package_plugins/cuda_bindings.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_core-*/*.patch | |
| - overrides/patches/cuda_core/*.patch | |
| - overrides/settings/cuda_core.yaml | |
| - package_plugins/cuda_core.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/cuda_python-*/*.patch | |
| - overrides/patches/cuda_python/*.patch | |
| - overrides/settings/cuda_python.yaml | |
| - package_plugins/cuda_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_ep-*/*.patch | |
| - overrides/patches/deep_ep/*.patch | |
| - overrides/settings/deep_ep.yaml | |
| - package_plugins/deep_ep.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/deep_gemm-*/*.patch | |
| - overrides/patches/deep_gemm/*.patch | |
| - overrides/settings/deep_gemm.yaml | |
| - package_plugins/deep_gemm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_attn-*/*.patch | |
| - overrides/patches/flash_attn/*.patch | |
| - overrides/settings/flash_attn.yaml | |
| - package_plugins/flash_attn.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flash_linear_attention-*/*.patch | |
| - overrides/patches/flash_linear_attention/*.patch | |
| - overrides/settings/flash_linear_attention.yaml | |
| - package_plugins/flash_linear_attention.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_cubin-*/*.patch | |
| - overrides/patches/flashinfer_cubin/*.patch | |
| - overrides/settings/flashinfer_cubin.yaml | |
| - package_plugins/flashinfer_cubin.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_jit_cache-*/*.patch | |
| - overrides/patches/flashinfer_jit_cache/*.patch | |
| - overrides/settings/flashinfer_jit_cache.yaml | |
| - package_plugins/flashinfer_jit_cache.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/flashinfer_python-*/*.patch | |
| - overrides/patches/flashinfer_python/*.patch | |
| - overrides/settings/flashinfer_python.yaml | |
| - package_plugins/flashinfer_python.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/mamba_ssm-*/*.patch | |
| - overrides/patches/mamba_ssm/*.patch | |
| - overrides/settings/mamba_ssm.yaml | |
| - package_plugins/mamba_ssm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ninja-*/*.patch | |
| - overrides/patches/ninja/*.patch | |
| - overrides/settings/ninja.yaml | |
| - package_plugins/ninja.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nixl-*/*.patch | |
| - overrides/patches/nixl/*.patch | |
| - overrides/settings/nixl.yaml | |
| - package_plugins/nixl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/numba-*/*.patch | |
| - overrides/patches/numba/*.patch | |
| - overrides/settings/numba.yaml | |
| - package_plugins/numba.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cudnn_frontend-*/*.patch | |
| - overrides/patches/nvidia_cudnn_frontend/*.patch | |
| - overrides/settings/nvidia_cudnn_frontend.yaml | |
| - package_plugins/nvidia_cudnn_frontend.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/nvidia_cutlass_dsl-*/*.patch | |
| - overrides/patches/nvidia_cutlass_dsl/*.patch | |
| - overrides/settings/nvidia_cutlass_dsl.yaml | |
| - package_plugins/nvidia_cutlass_dsl.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pplx_kernels-*/*.patch | |
| - overrides/patches/pplx_kernels/*.patch | |
| - overrides/settings/pplx_kernels.yaml | |
| - package_plugins/pplx_kernels.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/pyarrow-*/*.patch | |
| - overrides/patches/pyarrow/*.patch | |
| - overrides/settings/pyarrow.yaml | |
| - package_plugins/pyarrow.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/ray-*/*.patch | |
| - overrides/patches/ray/*.patch | |
| - overrides/settings/ray.yaml | |
| - package_plugins/ray.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/tilelang-*/*.patch | |
| - overrides/patches/tilelang/*.patch | |
| - overrides/settings/tilelang.yaml | |
| - package_plugins/tilelang.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torch-*/*.patch | |
| - overrides/patches/torch/*.patch | |
| - overrides/settings/torch.yaml | |
| - package_plugins/torch.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchao-*/*.patch | |
| - overrides/patches/torchao/*.patch | |
| - overrides/settings/torchao.yaml | |
| - package_plugins/torchao.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchaudio-*/*.patch | |
| - overrides/patches/torchaudio/*.patch | |
| - overrides/settings/torchaudio.yaml | |
| - package_plugins/torchaudio.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/torchvision-*/*.patch | |
| - overrides/patches/torchvision/*.patch | |
| - overrides/settings/torchvision.yaml | |
| - package_plugins/torchvision.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/triton-*/*.patch | |
| - overrides/patches/triton/*.patch | |
| - overrides/settings/triton.yaml | |
| - package_plugins/triton.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/vllm-*/*.patch | |
| - overrides/patches/vllm/*.patch | |
| - overrides/settings/vllm.yaml | |
| - package_plugins/vllm.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/wandb-*/*.patch | |
| - overrides/patches/wandb/*.patch | |
| - overrides/settings/wandb.yaml | |
| - package_plugins/wandb.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xformers-*/*.patch | |
| - overrides/patches/xformers/*.patch | |
| - overrides/settings/xformers.yaml | |
| - package_plugins/xformers.py | |
| - if: $CI_PIPELINE_SOURCE == "merge_request_event" | |
| changes: | |
| - overrides/patches/xgrammar-*/*.patch | |
| - overrides/patches/xgrammar/*.patch | |
| - overrides/settings/xgrammar.yaml | |
| - package_plugins/xgrammar.py | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: bootstrap | |
| needs: | |
| - job: build-image-cuda12.9-ubi9-aarch64 | |
| - job: linter | |
| torch-2.9.0-cuda12.9-ubi9-aarch64-build-wheels: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.9-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.9-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_IMAGE_VERSION}" | |
| CONTAINERFILE: Containerfile.cuda12.9-ubi9 | |
| TOOL_SERVER_URL: https://gitlab.com/api/v4/projects/61507476/packages/pypi/simple/ | |
| OUTDIR: "/mnt" | |
| JOB_OUTPUT_DIR: "/builds/$CI_PROJECT_PATH/mnt" | |
| WHEEL_SERVER_PROJECT_PATH: "${WHEEL_SERVER_PROJECT_PREFIX}/torch-2.9.0-${PRODUCT_VERSION}/cuda12.9-ubi9-aarch64" | |
| SDIST_SERVER_PROJECT_PATH: redhat/rhel-ai/wheels/prefetch | |
| RUN_CLEAN_AND_UPLOAD: 'true' | |
| BOOTSTRAP_RUN_ONBOARD: 'true' | |
| BUILD_ON_ALL_PUSHES: true | |
| BOOTSTRAP_MODE: sdist-only | |
| BUILD_MODE: serial | |
| API_SCRIPT: "/mirror-builder/pipeline-api/build_wheels.sh" | |
| extends: | |
| - ".torch-2.9.0-cuda12.9-ubi9-aarch64-wheel-pipeline-api-base-job" | |
| image: registry.gitlab.com/redhat/rhel-ai/wheels/builder/podman-stable:v5.5.0 | |
| retry: 0 | |
| timeout: 12h | |
| services: | |
| interruptible: true | |
| rules: | |
| - if: $CI_PROJECT_ROOT_NAMESPACE != "redhat" | |
| when: never | |
| - if: '"true" == "false"' | |
| when: never | |
| - if: "$CI_COMMIT_TAG" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "push" && $CI_COMMIT_REF_PROTECTED == "true" | |
| changes: | |
| - collections/torch-2.9.0/cuda12.9-ubi9/requirements.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints.txt | |
| - collections/constraints-rules.txt | |
| - collections/torch-2.9.0/constraints-rules.txt | |
| - collections/torch-2.9.0/cuda12.9-ubi9/constraints-rules.txt | |
| - builder-image-version.yml | |
| - product-version.yml | |
| - if: $CI_PIPELINE_SOURCE == "push" && "true" == "true" && $CI_COMMIT_REF_PROTECTED | |
| == "true" | |
| - if: $CI_PIPELINE_SOURCE == "schedule" && "false" == "true" | |
| - if: ($CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api") && $BUILD_COLLECTION | |
| != "" && $BUILD_COLLECTION != "torch-2.9.0" | |
| when: never | |
| - if: $CI_PIPELINE_SOURCE == "web" || $CI_PIPELINE_SOURCE == "api" | |
| before_script: | |
| - env | |
| - dnf install -y which curl bash ncurses awk | |
| - | | |
| set -eux | |
| if [[ "${EPHEMERAL_COLLECTION:-false}" = "true" ]]; then | |
| mkdir -p "collections/${COLLECTION}/${VARIANT}" | |
| echo "${CONSTRAINTS_RULES_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints-rules.txt" | |
| echo "${REQUIREMENTS_TXT}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/requirements.txt" | |
| echo "${CONSTRAINTS_TXT:-}" | sed 's/|/\n/g' | tee "collections/${COLLECTION}/${VARIANT}/constraints.txt" | |
| fi | |
| - podman login $CI_REGISTRY --username $CI_REGISTRY_USER --password "$CI_REGISTRY_PASSWORD" | |
| - mkdir -p "${JOB_OUTPUT_DIR}" | |
| - cp -rv collections "${JOB_OUTPUT_DIR}/" | |
| - echo -e "machine gitlab.com\nlogin platform-engineering-bot\npassword ${BOT_PAT}" | |
| > ${JOB_OUTPUT_DIR}/.netrc | |
| - mkdir -p /etc/containers | |
| - | | |
| cat > /etc/containers/storage.conf << EOF | |
| [storage] | |
| driver = "overlay" | |
| runroot = "/var/run/containers/storage" | |
| graphroot = "/var/lib/containers/storage" | |
| [storage.options] | |
| mount_program = "" | |
| EOF | |
| - mkdir -p /var/run/containers/storage | |
| - mkdir -p /var/lib/containers/storage | |
| - rm -rf /var/lib/containers/storage/* | |
| - rm -rf /var/run/containers/storage/* | |
| script: | |
| - | | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| ${API_SCRIPT} | |
| - | | |
| if [ -f ./bin/upload_to_pulp.sh ] && [[ "$CI_JOB_NAME" == *"build-wheels" ]]; then | |
| podman run \ | |
| -v "$JOB_OUTPUT_DIR:/mnt" \ | |
| -v ".:/collection-repository" \ | |
| -e "NETRC=/mnt/.netrc" \ | |
| -e "OUTDIR=$OUTDIR" \ | |
| -e "VARIANT=cuda12.9-ubi9" \ | |
| -e "COLLECTION=torch-2.9.0" \ | |
| -e "PRODUCT_VERSION=$PRODUCT_VERSION" \ | |
| -e "ENABLE_REPEATABLE_BUILD_MODE=false" \ | |
| -e "BOOTSTRAP_MODE=$BOOTSTRAP_MODE" \ | |
| -e "BUILD_MODE=$BUILD_MODE" \ | |
| -e "WHEEL_SERVER_PROJECT_PATH=${WHEEL_SERVER_PROJECT_PATH}" \ | |
| -e "SDIST_SERVER_PROJECT_PATH=${SDIST_SERVER_PROJECT_PATH}" \ | |
| -e "PUBLISH_AUTH_HEADER=${PUBLISH_AUTH_HEADER}" \ | |
| -e "RELEASE_VERSION=${RELEASE_VERSION}" \ | |
| -e "RELEASE_VERSION_SUFFIX=${RELEASE_VERSION_SUFFIX}" \ | |
| -e "RELEASE_TARBALL=${RELEASE_TARBALL}" \ | |
| -e "PUBLISH_URL=${PUBLISH_URL}" \ | |
| -e "GITLAB_PACKAGE_URL=${GITLAB_PACKAGE_URL}" \ | |
| -e "RUN_CLEAN_AND_UPLOAD=${RUN_CLEAN_AND_UPLOAD}" \ | |
| -e "BOT_PAT=${BOT_PAT}" \ | |
| -e "BOT_USER=${BOT_USER}" \ | |
| -e "BOOTSTRAP_RUN_ONBOARD=${BOOTSTRAP_RUN_ONBOARD}" \ | |
| -e "REPOSITORY_URL=${CI_REPOSITORY_URL}" \ | |
| -e "FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS=${FROMAGER_BOOTSTRAP_SKIP_CONSTRAINTS}" \ | |
| -e "PULP_CERT_BASE64=${PULP_CERT_BASE64}" \ | |
| -e "PULP_KEY_BASE64=${PULP_KEY_BASE64}" \ | |
| -e "PRODUCT_NAME=$PRODUCT_NAME" \ | |
| -e "CI_COMMIT_SHA=${CI_COMMIT_SHA}" \ | |
| -e "CI_PIPELINE_IID=${CI_PIPELINE_IID}" \ | |
| -e "CI_JOB_ID=${CI_JOB_ID}" \ | |
| -e "PULP_DOMAIN=${PULP_DOMAIN:-}" \ | |
| ${IMAGE} \ | |
| /collection-repository/bin/upload_to_pulp.sh | |
| fi | |
| artifacts: | |
| paths: | |
| - "$JOB_OUTPUT_DIR/*.log" | |
| - "$JOB_OUTPUT_DIR/computed-constraints.txt" | |
| - "$JOB_OUTPUT_DIR/computed-requirements.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/*/*.log" | |
| - "$JOB_OUTPUT_DIR/work-dir/logs/" | |
| - "$JOB_OUTPUT_DIR/work-dir/*.json" | |
| - "$JOB_OUTPUT_DIR/work-dir/constraints.txt" | |
| - "$JOB_OUTPUT_DIR/work-dir/build-sequence-summary.md" | |
| when: always | |
| tags: | |
| - aipcc-large-aarch64 | |
| stage: build | |
| needs: | |
| - job: torch-2.9.0-cuda12.9-ubi9-aarch64-bootstrap-and-onboard | |
| artifacts: true | |
| torch-2.9.0-cuda12.9-ubi9-aarch64-release-tarball: | |
| variables: | |
| PUBLISH_AUTH_HEADER: 'PRIVATE-TOKEN: ${BOT_PAT}' | |
| RELEASE_TARBALL: wheels-${RELEASE_VERSION}.tar.gz | |
| RELEASE_VERSION_SUFFIX: "+torch-2.9.0-cuda12.9-ubi9-aarch64" | |
| RELEASE_VERSION: "${PRODUCT_VERSION}.${CI_PIPELINE_IID}${RELEASE_VERSION_SUFFIX}" | |
| GITLAB_PACKAGE_URL: https://gitlab.com/api/v4/projects/${CI_PROJECT_ID}/packages/generic/torch-2.9.0-wheels | |
| PUBLISH_URL: "${GITLAB_PACKAGE_URL}/${RELEASE_VERSION}" | |
| FF_SCRIPT_SECTIONS: 'true' | |
| COLLECTION: torch-2.9.0 | |
| VARIANT: cuda12.9-ubi9 | |
| ARCH: aarch64 | |
| IMAGE_BASE: "${CI_REGISTRY}/redhat/rhel-ai/wheels/builder/builder-cuda12.9-ubi9-aarch64" | |
| IMAGE: "${IMAGE_BASE}:${BUILDER_I |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment