--- include: - remote: https://jobs.just-ci.dev/v6.30.0/project-automation/version-pin-check.yml variables: PYVERSION: slim PYTHON_EXCLUDE_PATHS: tests,setup.py,migrations PYTHON_EXCLUDE_REGEX: (tests|setup.py|migrations) PIP_DISABLE_PIP_VERSION_CHECK: "true" PIP_ROOT_USER_ACTION: ignore PIP_PACKAGE_INSTALL_DEFAULT_ARGS: --no-input -qqq --log=${CI_PROJECT_DIR}/pip-log.txt PIP_PACKAGE_INSTALL_EXTRA_ARGS: "" image: name: registry.gitlab.com/just-ci/images/python:$PYVERSION entrypoint: [""] .python:pre: image: name: registry.gitlab.com/just-ci/images/python:$PYVERSION entrypoint: [""] stage: test script: - pip3 --version - pip3 install -q --log=${CI_PROJECT_DIR}/pip-log.txt ${JOB_PACKAGE} && echo "[+] ${JOB_PACKAGE} installed." - | echo "[*] Job info:" echo "Context path: ${PYTHON_CONTEXT:=.}" echo "User package: ${PYTHON_PACKAGE:-(not specified)}" echo "Excluded paths: ${PYTHON_EXCLUDE_PATHS:-(not specified)}" echo "Excluded regex: ${PYTHON_EXCLUDE_REGEX:-(not specified)}" - cd ${PYTHON_CONTEXT} artifacts: paths: - pip-log.txt when: always .python:pre-install: stage: test script: - | pip3 --version echo "[*] Installing your package using these arguments: ${PIP_PACKAGE_INSTALL_DEFAULT_ARGS} ${PIP_PACKAGE_INSTALL_EXTRA_ARGS}" - | pip3 install ${PIP_PACKAGE_INSTALL_DEFAULT_ARGS} ${PIP_PACKAGE_INSTALL_EXTRA_ARGS} . || \ { printf "[-] Install failed. Check 'pip-log.txt' in the job artifacts for details. "; if [ "${PIP_ALLOW_INSTALL_FAILURE}" != "" ]; then echo "PIP_ALLOW_INSTALL_FAILURE is set, so we continue. This may omit test results." else echo "To continue despite failure, set PIP_ALLOW_INSTALL_FAILURE. This may omit test results." exit 1 fi } artifacts: paths: - pip-log.txt when: always PIN-VERSION:PYVERSION: extends: .version-pin-check rules: - if: $PYVERSION !~ /^3\.[0-9]{1,2}.*$/