diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5fdf953a3b7c25168210ebdc0bee189a2e6185a0..a6331ef5f35f9e29e3093a4c0b0a3694669400c7 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -326,24 +326,29 @@ build python package: python package install tests: stage: test - parallel: - matrix: - - PYTHON_VERSION: ["3.10", "3.11", "3.12"] - image: python:${PYTHON_VERSION} + image: ghcr.io/astral-sh/uv:$UV_VERSION-python$PYTHON_VERSION-bookworm needs: ["build python package"] variables: - UV_SYSTEM_PYTHON: true + UV_LINK_MODE: copy GIT_STRATEGY: none - before_script: - - pip install --upgrade pip - - pip install uv==${UV_VERSION} script: - - pip install dist/nomad-*.tar.gz - - python -c 'import nomad.cli' - - python -c 'from nomad.client import ArchiveQuery' - - python -m nomad.cli parse --skip-normalizers archive.json - - uv pip install git+https://github.com/nomad-coe/nomad-parser-example.git@ba6027fdd4cda0cf9e0b32546bd809c8fdda79e6 - - python -m exampleparser example.out + - | + for PYTHON_VERSION in 3.10 3.11 3.12; do + echo "Running for Python $PYTHON_VERSION" + + uv venv -p $PYTHON_VERSION + + uv pip install dist/nomad-*.tar.gz + + ./.venv/bin/python -c 'import nomad.cli' + ./.venv/bin/python -c 'from nomad.client import ArchiveQuery' + ./.venv/bin/python -m nomad.cli parse --skip-normalizers archive.json + + uv pip install git+https://github.com/nomad-coe/nomad-parser-example.git@ba6027fdd4cda0cf9e0b32546bd809c8fdda79e6 + + ./.venv/bin/python -m exampleparser example.out + echo "\n" + done rules: - if: $CI_PIPELINE_SOURCE == "schedule" || $CI_COMMIT_TAG - <<: *non-docs-changes