From 6d905e71df8bf4744d3335c928186cf822780542 Mon Sep 17 00:00:00 2001 From: henry Date: Fri, 21 Jul 2023 11:39:32 -0500 Subject: [PATCH] CI: requirements-ci.txt includes a frozen python deps --- .github/workflows/tox_matrix.yml | 4 +- Jenkinsfile | 8 +- ci/docker/linux/jenkins/Dockerfile | 28 +++-- ci/docker/linux/package/Dockerfile | 4 +- ci/docker/linux/tox/Dockerfile | 12 +- .../linux/tox/requirements-conan-build.txt | 4 - ci/docker/shared/python/requirements-ci.txt | 22 ---- ci/docker/windows/build/msvc/Dockerfile | 97 ---------------- ci/docker/windows/build/msvc/Profile.ps1 | 7 -- ci/docker/windows/build/msvc/startup.bat | 4 - ci/docker/windows/build/msvc/startup.reg | 4 - ci/docker/windows/tox/Dockerfile | 20 ++-- ci/docker/windows/tox_no_vs/Dockerfile | 6 +- pyproject.toml | 6 +- requirements-ci.txt | 5 + requirements-dev.txt | 3 +- requirements/requirements-ci-freeze.txt | 104 ++++++++++++++++++ requirements/requirements-ci.txt | 2 + requirements/requirements-conan.txt | 3 + requirements/requirements-dev.txt | 17 +++ .../requirements-extras.txt | 1 - ...uirements_tox.txt => requirements-tox.txt} | 0 requirements/requirements_conan.txt | 1 - 23 files changed, 182 insertions(+), 180 deletions(-) delete mode 100644 ci/docker/linux/tox/requirements-conan-build.txt delete mode 100644 ci/docker/shared/python/requirements-ci.txt delete mode 100644 ci/docker/windows/build/msvc/Dockerfile delete mode 100644 ci/docker/windows/build/msvc/Profile.ps1 delete mode 100644 ci/docker/windows/build/msvc/startup.bat delete mode 100644 ci/docker/windows/build/msvc/startup.reg create mode 100644 requirements-ci.txt create mode 100644 requirements/requirements-ci-freeze.txt create mode 100644 requirements/requirements-ci.txt create mode 100644 requirements/requirements-conan.txt create mode 100644 requirements/requirements-dev.txt rename {ci/docker/shared/python => requirements}/requirements-extras.txt (95%) rename requirements/{requirements_tox.txt => requirements-tox.txt} (100%) delete mode 100644 requirements/requirements_conan.txt diff --git a/.github/workflows/tox_matrix.yml b/.github/workflows/tox_matrix.yml index 529edd35..89c588f6 100644 --- a/.github/workflows/tox_matrix.yml +++ b/.github/workflows/tox_matrix.yml @@ -42,7 +42,7 @@ jobs: shell: cmd run: | call "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat" - pip install -r requirements/requirements_conan.txt + pip install -r requirements/requirements-conan.txt conan config init conan config set general.revisions_enabled=1 conan profile new default --detect @@ -62,7 +62,7 @@ jobs: if: ${{ !contains(matrix.os, 'windows') && steps.cache.outputs.cache-hit != 'true' }} run: | cc --version && cc -dumpfullversion -dumpversion - pip install -r requirements/requirements_conan.txt + pip install -r requirements/requirements-conan.txt if conan profile show default; then echo 'profile exists'; else conan profile new default --detect; fi conan config init conan config set general.revisions_enabled=1 diff --git a/Jenkinsfile b/Jenkinsfile index d03cc7c2..fb57781f 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -110,7 +110,7 @@ def getMacDevpiTestStages(packageName, packageVersion, pythonVersions, devpiServ script: '''python3 -m venv venv . ./venv/bin/activate python -m pip install pip --upgrade - python -m pip install devpi_client -r requirements/requirements_tox.txt + python -m pip install devpi_client -r requirements/requirements-tox.txt ''' ) }, @@ -147,7 +147,7 @@ def getMacDevpiTestStages(packageName, packageVersion, pythonVersions, devpiServ script: '''python3 -m venv venv . ./venv/bin/activate python -m pip install pip --upgrade - python -m pip install devpi_client -r requirements/requirements_tox.txt + python -m pip install devpi_client -r requirements/requirements-tox.txt ''' ) }, @@ -945,7 +945,7 @@ pipeline { sh(label: 'Running Tox', script: """python${pythonVersion} -m venv venv ./venv/bin/python -m pip install --upgrade pip - ./venv/bin/pip install -r requirements/requirements_tox.txt + ./venv/bin/pip install -r requirements/requirements-tox.txt ./venv/bin/tox --installpkg ${it.path} -e py${pythonVersion.replace('.', '')}""" ) } @@ -983,7 +983,7 @@ pipeline { sh(label: 'Running Tox', script: """python${pythonVersion} -m venv venv ./venv/bin/python -m pip install --upgrade pip - ./venv/bin/pip install -r requirements/requirements_tox.txt + ./venv/bin/pip install -r requirements/requirements-tox.txt ./venv/bin/tox --installpkg ${it.path} -e py${pythonVersion.replace('.', '')}""" ) } diff --git a/ci/docker/linux/jenkins/Dockerfile b/ci/docker/linux/jenkins/Dockerfile index 4c0afdff..10996139 100644 --- a/ci/docker/linux/jenkins/Dockerfile +++ b/ci/docker/linux/jenkins/Dockerfile @@ -1,6 +1,7 @@ ARG SONAR_SCANNER_VERSION=4.7.0.2747 ARG PYTHON_VERSION=3.11 ARG CONAN_USER_HOME=/conan +ARG PIP_FIND_LINKS=/wheels/ FROM python:${PYTHON_VERSION} as base_python RUN apt-get update -y && \ apt-get install -y --no-install-recommends ca-certificates git && \ @@ -13,20 +14,21 @@ ARG PIP_INDEX_URL RUN mkdir -p /.cache/pip && \ chmod -R 777 /.cache -COPY requirements/requirements_conan.txt /tmp/requirements_conan.txt +COPY requirements/requirements-conan.txt /tmp/requirements-conan.txt RUN python -m pip --no-cache-dir install --upgrade pip && \ pip install --no-cache-dir wheel cmake && \ pip install --no-cache-dir setuptools && \ - pip install --no-cache-dir -r /tmp/requirements_conan.txt - -COPY ci/docker/shared/python/requirements-ci.txt ci/docker/shared/python/requirements-extras.txt /requirements/ -COPY requirements/ /requirements/requirements/ + pip install --no-cache-dir -r /tmp/requirements-conan.txt FROM base_python as wheel_builder ARG PIP_EXTRA_INDEX_URL ARG PIP_INDEX_URL -RUN pip wheel -r /requirements/requirements-ci.txt --no-cache --wheel-dir /wheels/ && \ - pip wheel -r /requirements/requirements-extras.txt --no-cache --wheel-dir /wheels/ +COPY requirements-ci.txt /requirements/ +COPY requirements/ /requirements/requirements/ + +ARG PIP_FIND_LINKS +RUN mkdir -p ${PIP_FIND_LINKS} && \ + pip wheel --wheel-dir=${PIP_FIND_LINKS} --no-cache-dir -r /requirements/requirements-ci.txt FROM base_python as conan_builder ARG CONAN_USER_HOME @@ -98,9 +100,15 @@ RUN chmod -R 777 $SONAR_USER_HOME ENV SONAR_SCANNER_OPTS="-server" -ARG PIP_EXTRA_INDEX_URL +ARG PIP_FIND_LINKS ARG PIP_INDEX_URL -COPY --from=wheel_builder /wheels/* /wheels/ +ARG PIP_EXTRA_INDEX_URL +ARG PIP_TRUSTED_HOST +COPY --from=wheel_builder ${PIP_FIND_LINKS}/* ${PIP_FIND_LINKS}/ +COPY --from=wheel_builder requirements/ /requirements +RUN pip install --no-index --no-cache-dir --find-links=${PIP_FIND_LINKS} \ + -r /requirements/requirements-ci.txt + ARG CONAN_USER_HOME COPY --from=conan_builder ${CONAN_USER_HOME}/.conan/ ${CONAN_USER_HOME}/.conan/ ARG TARGETARCH @@ -116,5 +124,3 @@ RUN conan install /tmp --build missing --no-import && \ conan remove --locks && \ chmod -R 777 ${CONAN_USER_HOME} -RUN pip install --no-cache-dir --no-index --find-links=/wheels/ \ - -r /requirements/requirements-ci.txt diff --git a/ci/docker/linux/package/Dockerfile b/ci/docker/linux/package/Dockerfile index 7eaa7d5f..f02ad016 100644 --- a/ci/docker/linux/package/Dockerfile +++ b/ci/docker/linux/package/Dockerfile @@ -6,8 +6,8 @@ RUN mkdir -p /.cache/pip && \ chmod -R 777 /.cache ARG PIP_EXTRA_INDEX_URL ARG PIP_INDEX_URL -COPY requirements/requirements_conan.txt /tmp/requirements_conan.txt -RUN python3 --version && python3 -m pip install --no-cache-dir -r /tmp/requirements_conan.txt +COPY requirements/requirements-conan.txt /tmp/requirements-conan.txt +RUN python3 --version && python3 -m pip install --no-cache-dir -r /tmp/requirements-conan.txt ARG TARGETARCH ARG CONAN_USER_HOME COPY ci/docker/linux/package/conan/$TARGETARCH/profile.ini ${CONAN_USER_HOME}/.conan/profiles/default diff --git a/ci/docker/linux/tox/Dockerfile b/ci/docker/linux/tox/Dockerfile index fa30a9be..53de9b7c 100644 --- a/ci/docker/linux/tox/Dockerfile +++ b/ci/docker/linux/tox/Dockerfile @@ -19,9 +19,9 @@ RUN mkdir -p /.cache/pip && \ FROM wheel_builder_base as conan_builder ARG CONAN_USER_HOME -COPY ci/docker/linux/tox/requirements-conan-build.txt /tmp/ -COPY requirements/requirements_conan.txt /tmp/requirements_conan.txt -RUN pip3 install --no-cache-dir -r /tmp/requirements-conan-build.txt +COPY requirements/requirements-ci-freeze.txt /tmp/requirements-ci-freeze.txt +RUN python3 -m pip install pip --upgrade && pip3 install --no-cache-dir -r /tmp/requirements-ci-freeze.txt +RUN which conan COPY ci/docker/shared/conan/remotes.json ${CONAN_USER_HOME}/.conan/remotes.json ARG TARGETARCH COPY ci/docker/linux/tox/conan/$TARGETARCH/profile.ini ${CONAN_USER_HOME}/profiles/default @@ -44,9 +44,9 @@ ARG CONAN_USER_HOME ARG PIP_EXTRA_INDEX_URL ARG PIP_INDEX_URL -COPY requirements/ /tmp/requirements -COPY ci/docker/linux/tox/requirements-conan-build.txt /tmp/requirements -RUN pip3 install --no-cache-dir -r /tmp/requirements/requirements_tox.txt -r /tmp/requirements/requirements-conan-build.txt devpi-client twine +COPY requirements/ /tmp/requirements/requirements/ +COPY requirements-ci.txt /tmp/requirements/requirements-ci.txt +RUN python3 -m pip install pip --upgrade && pip3 install --no-cache-dir -r /tmp/requirements/requirements-ci.txt COPY --from=conan_builder ${CONAN_USER_HOME}/.conan/ ${CONAN_USER_HOME}/.conan/ diff --git a/ci/docker/linux/tox/requirements-conan-build.txt b/ci/docker/linux/tox/requirements-conan-build.txt deleted file mode 100644 index b5ccaf7f..00000000 --- a/ci/docker/linux/tox/requirements-conan-build.txt +++ /dev/null @@ -1,4 +0,0 @@ -build --r requirements_conan.txt -cmake -ninja diff --git a/ci/docker/shared/python/requirements-ci.txt b/ci/docker/shared/python/requirements-ci.txt deleted file mode 100644 index 7c6b2fff..00000000 --- a/ci/docker/shared/python/requirements-ci.txt +++ /dev/null @@ -1,22 +0,0 @@ -build -conan>=1.53,!=1.55.0 -cmake -devpi-client<6.0 -flake8 -gcovr -lxml -mypy -ninja -paramiko -pep517 -pybind11~=2.10.1 -pylint -pytest -pytest-cov -pytest-bdd<4.0 -pytest-runner -sphinx --r requirements/requirements_tox.txt -toml -twine -git+https://github.com/UIUCLibrary/uiucprescon_build.git@v0.1.0 diff --git a/ci/docker/windows/build/msvc/Dockerfile b/ci/docker/windows/build/msvc/Dockerfile deleted file mode 100644 index 150463c5..00000000 --- a/ci/docker/windows/build/msvc/Dockerfile +++ /dev/null @@ -1,97 +0,0 @@ -# escape=` -ARG FROM_IMAGE=mcr.microsoft.com/dotnet/framework/sdk:4.8-windowsservercore-ltsc2019 - -FROM ${FROM_IMAGE} as certsgen -RUN certutil -generateSSTFromWU roots.sst - -FROM ${FROM_IMAGE} as VS_BASE -SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop';"] - -# First install Visual Studio Build Tools -RUN Invoke-WebRequest https://aka.ms/vs/16/release/vs_buildtools.exe -OutFile ${Env:TEMP}\\vs_buildtools.exe ; ` - Invoke-WebRequest https://aka.ms/vs/16/release/channel -OutFile ${Env:TEMP}\\VisualStudio.chman ; ` - Invoke-WebRequest https://aka.ms/vscollect.exe -OutFile ${Env:TEMP}\\collect.exe ; ` - Write-Host "Installing Visual Studio Build Tools" ; ` - Start-Process -NoNewWindow -FilePath $Env:TEMP\\vs_buildtools.exe -ArgumentList '--quiet --installPath "C:\\BuildTools" --wait --norestart --nocache --add Microsoft.VisualStudio.Workload.VCTools --add Microsoft.VisualStudio.Component.VC.CLI.Support --add Microsoft.VisualStudio.Component.VC.Tools.x86.x64 --add Microsoft.VisualStudio.Component.Windows10SDK.18362' -Wait ; ` - Write-Host "Installing Visual Studio Build Tools - Done" ; ` - Write-Host "Testing for VsDevCmd.bat" ; ` - if (! (Test-Path 'C:\BuildTools\Common7\Tools\VsDevCmd.bat')) ` - { ` - Start-Process -NoNewWindow -FilePath $Env:TEMP\\collect.exe -ArgumentList '-nologo -zip:${Env:TEMP}\\vslogs.zip' -Wait; ` - Expand-Archive -Path vslogs.zip -DestinationPath $Env:TEMP\\logs\\ ; ` - ls c:\\ ; ` - tree /F /A; ` - Get-Content -LiteralPath '$Env:TEMP\\logs\\[Content_Types].xml' ; ` - throw 'VsDevCmd.bat not found' ; ` - } ; ` - Write-Host "Testing for VsDevCmd.bat - Found" ; ` - Write-Host "Cleaning up $Env:TEMP" ; ` - Remove-Item -Force -Recurse $Env:TEMP\* ; ` - Write-Host "Cleaning up $Env:TEMP - Done" - -ADD ci/docker/windows/build/msvc/startup.bat c:\temp\startup.bat -RUN Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Command Processor' -Name 'AutoRun' -Value "c:\temp\startup.bat" - -# ============================================================================== -FROM VS_BASE as CHOCOLATEY_BASE -ARG CHOCOLATEY_SOURCE=https://chocolatey.org/api/v2 - -ARG ChocolateyEnvironmentDebug=false -ADD ci/docker/shared/chocolatey/install_choco.ps1 choco/install_choco.ps1 -RUN Set-ExecutionPolicy Bypass -Scope Process -Force; ` - ./choco/install_choco.ps1 -packageRepo $env:CHOCOLATEY_SOURCE ; ` - choco feature enable --name="useEnhancedExitCodes" ; ` - choco feature disable --name="showDownloadProgress" ; ` - if( -not ([string]::IsNullOrEmpty($Env:CHOCOLATEY_SOURCE ))) ` - { ` - Write-Host "Adding $env:CHOCOLATEY_SOURCE to chocolatey sources" ; ` - choco source add -n=CHOCOLATEY_SOURCE --priority=1 -s=\"$env:CHOCOLATEY_SOURCE\"; ` - choco source remove -n=chocolatey ;` - }; ` - Remove-Item -Force -Recurse ${Env:TEMP}\* - -# Install the rest of the packages that can be installed by chocolatey -ADD ci/docker/shared/chocolatey/packages.config choco/packages.config -RUN C:\ProgramData\chocolatey\bin\choco.exe sources ; ` - C:\ProgramData\chocolatey\bin\choco.exe install -y --stoponfirstfailure --no-progress choco/packages.config ;` - Remove-Item C:\Users\ContainerAdministrator\AppData\Local\Temp\chocolatey -Recurse ; ` - Remove-Item -Force -Recurse ${Env:TEMP}\* ; ` - if (!(Test-Path 'C:\Program Files\Git\cmd\git.exe')) ` - { ` - throw 'git.exe not found' ; ` - }; ` - Write-Host "Finished install packages with Chocolatey" - -FROM CHOCOLATEY_BASE as PYTHON_BASE -ARG PYTHON_INSTALLER_URL=https://www.python.org/ftp/python/3.7.5/python-3.7.5-amd64.exe - -RUN Invoke-WebRequest $Env:PYTHON_INSTALLER_URL -OutFile c:\python-installer.exe ; ` - Start-Process python-installer.exe -NoNewWindow -ArgumentList '/quiet InstallAllUsers=1 PrependPath=1' -Wait ; ` - Remove-Item c:\python-installer.exe -Force - - -ADD ci/docker/shared/python/requirements-ci.txt ci/docker/shared/python/requirements-extras.txt c:/requirements/ - -RUN python -m pip install --upgrade pip ; ` - pip install --upgrade setuptools ; ` - pip install wheel ; ` - pip install conan ; ` - pip wheel --no-cache --wheel-dir c:/wheels/ ` - -r c:/requirements/requirements-ci.txt ; ` - pip wheel --no-cache --wheel-dir c:/wheels/ ` - -r c:/requirements/requirements-extras.txt ; ` - pip install --no-index --find-links=c:/wheels/ ` - -r c:/requirements/requirements-ci.txt - -FROM PYTHON_BASE -COPY ci/docker/shared/conan/remotes.json C:/Users/ContainerAdministrator/.conan/remotes.json -ADD conanfile.py C:/TEMP/ - -RUN conan config init && ; ` - conan config set general.revisions_enabled=1 - -RUN conan install C:/TEMP/ --build missing --no-import ;` - conan remove * -b --src -f ; ` - conan remove --locks -ENV PIP_FIND_LINKS=c:/wheels -ENV CONAN_USER_HOME=C:/Users/ContainerAdministrator diff --git a/ci/docker/windows/build/msvc/Profile.ps1 b/ci/docker/windows/build/msvc/Profile.ps1 deleted file mode 100644 index 150e6a9a..00000000 --- a/ci/docker/windows/build/msvc/Profile.ps1 +++ /dev/null @@ -1,7 +0,0 @@ -$installationPath = "c:\BuildTools" -if ($installationPath -and (test-path "$installationPath\Common7\Tools\vsdevcmd.bat")) { - & "${env:COMSPEC}" /s /c "`"$installationPath\Common7\Tools\vsdevcmd.bat`" -no_logo -arch=amd64 && set" | foreach-object { - $name, $value = $_ -split '=', 2 - set-content env:\"$name" $value - } -} diff --git a/ci/docker/windows/build/msvc/startup.bat b/ci/docker/windows/build/msvc/startup.bat deleted file mode 100644 index 39692e31..00000000 --- a/ci/docker/windows/build/msvc/startup.bat +++ /dev/null @@ -1,4 +0,0 @@ -@echo off -if not defined DevEnvDir ( - CALL C:\BuildTools\Common7\Tools\VsDevCmd.bat -arch=amd64 - ) diff --git a/ci/docker/windows/build/msvc/startup.reg b/ci/docker/windows/build/msvc/startup.reg deleted file mode 100644 index b9cfc66c..00000000 --- a/ci/docker/windows/build/msvc/startup.reg +++ /dev/null @@ -1,4 +0,0 @@ -Windows Registry Editor Version 5.00 - -[HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor] -"AutoRun"="%SYSCONFIG%\\Utils\\startup.bat" \ No newline at end of file diff --git a/ci/docker/windows/tox/Dockerfile b/ci/docker/windows/tox/Dockerfile index 65691635..6dfe3009 100644 --- a/ci/docker/windows/tox/Dockerfile +++ b/ci/docker/windows/tox/Dockerfile @@ -121,7 +121,7 @@ ARG PIP_INDEX_URL COPY requirements c:/requirements/requirements RUN python -m pip install --upgrade pip ; ` pip install wheel ; ` - pip install -r c:/requirements/requirements/requirements_conan.txt cmake + pip install -r c:/requirements/requirements/requirements-conan.txt COPY conanfile.py c:/temp/conanfile.py COPY ci/docker/shared/conan/remotes.json ${CONAN_USER_HOME}/.conan/remotes.json COPY ci/docker/windows/tox/conan/profile.ini ${CONAN_USER_HOME}/.conan/profiles/default @@ -136,17 +136,21 @@ RUN conan install c:/temp/ --build missing --no-import; ` FROM CHOCOLATEY_BASE -RUN py -3.8 -m pip install --upgrade pip ; ` - py -3.9 -m pip install --upgrade pip ; ` - py -3.10 -m pip install --upgrade pip ; ` - py -3.11 -m pip install --upgrade pip - -COPY requirements c:/requirements/requirements -RUN python -m pip install pip --upgrade ; pip install -r c:/requirements/requirements/requirements_tox.txt -r c:/requirements/requirements/requirements_conan.txt cmake devpi_client COPY --from=certsgen c:/roots.sst roots.sst RUN certutil -addstore -f root roots.sst ; ` del roots.sst + +ARG PIP_EXTRA_INDEX_URL +ARG PIP_INDEX_URL +COPY requirements-ci.txt c:/python_requirments/ +COPY requirements/ c:/python_requirments/requirements +RUN py -3.8 -m pip install --upgrade pip ; ` + py -3.9 -m pip install --upgrade pip ; ` + py -3.10 -m pip install --upgrade pip ; ` + py -3.11 -m pip install --upgrade pip ; ` + python -m pip install pip --upgrade ; pip install --no-cache-dir -r c:/python_requirments/requirements-ci.txt + ARG CONAN_USER_HOME COPY --from=CONAN_BUILDER ${CONAN_USER_HOME}/.conan/ ${CONAN_USER_HOME}/.conan/ ENV CONAN_USER_HOME=${CONAN_USER_HOME} diff --git a/ci/docker/windows/tox_no_vs/Dockerfile b/ci/docker/windows/tox_no_vs/Dockerfile index cc37b7ba..376e34c2 100644 --- a/ci/docker/windows/tox_no_vs/Dockerfile +++ b/ci/docker/windows/tox_no_vs/Dockerfile @@ -53,10 +53,10 @@ RUN certutil -addstore -f root roots.sst ; ` ARG PIP_EXTRA_INDEX_URL ARG PIP_INDEX_URL -FROM CHOCOLATEY_BASE +COPY requirements-ci.txt c:/python_requirments/ +COPY requirements/ c:/python_requirments/requirements +RUN python -m pip install pip --upgrade ; pip install --no-cache-dir -r c:/python_requirments/requirements-ci.txt -COPY requirements c:/requirements/requirements -RUN python -m pip install pip --upgrade ; pip install install -r c:/requirements/requirements/requirements_tox.txt devpi_client ARG PIP_DOWNLOAD_CACHE RUN New-Item -type directory -path ${Env:PIP_DOWNLOAD_CACHE} -Force WORKDIR C:/src diff --git a/pyproject.toml b/pyproject.toml index 37387015..edb31b07 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,7 @@ environment-pass = ["CONAN_COMPILER_LIBCXX", "CONAN_COMPILER_VERSION", "CONAN_US [tool.cibuildwheel.windows] before-all = [ 'pip install wheel', - 'pip install -r requirements/requirements_conan.txt cmake ninja', + 'pip install -r requirements/requirements-conan.txt', 'conan profile new default --detect --force', 'conan config init', 'conan config set general.revisions_enabled=1', @@ -59,7 +59,7 @@ CONAN_USER_HOME="$TEMP/conan" [tool.cibuildwheel.macos] before-all = [ - "pip3 install -r requirements/requirements_conan.txt cmake ninja", + "pip3 install -r requirements/requirements-conan.txt", 'conan profile new $ENVTMPDIR/.conan/profiles/default --detect --force', 'conan config init', 'conan config set general.revisions_enabled=1', @@ -85,7 +85,7 @@ CONAN_BUILD_INFO_DIR="/tmp/ciwheelbuilder/uiucprescon_ocr/build/" repair-wheel-command = "auditwheel repair -w {dest_dir} {wheel}" before-all = [ 'cc --version', 'cc -dumpfullversion -dumpversion', - 'pip3 install -r requirements/requirements_conan.txt cmake ninja', + 'pip3 install -r requirements/requirements-conan.txt', 'conan profile new /tmp/ciwheelbuilder/uiucprescon_ocr/.conan/profiles/default --detect', 'conan config set general.revisions_enabled=1', 'if [ -z \"$CONAN_COMPILER_LIBCXX\" ]; then : ; else conan profile update settings.compiler.libcxx=$CONAN_COMPILER_LIBCXX default; fi', diff --git a/requirements-ci.txt b/requirements-ci.txt new file mode 100644 index 00000000..f134d03e --- /dev/null +++ b/requirements-ci.txt @@ -0,0 +1,5 @@ +-r requirements/requirements-ci-freeze.txt +-r requirements/requirements-tox.txt +-r requirements/requirements-dev.txt +-r requirements/requirements-ci.txt +-r requirements/requirements-extras.txt diff --git a/requirements-dev.txt b/requirements-dev.txt index c9d840cc..66e3287d 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -1 +1,2 @@ --r requirements/requirements_tox.txt +-r requirements/requirements-tox.txt +-r requirements/requirements-dev.txt diff --git a/requirements/requirements-ci-freeze.txt b/requirements/requirements-ci-freeze.txt new file mode 100644 index 00000000..438e6432 --- /dev/null +++ b/requirements/requirements-ci-freeze.txt @@ -0,0 +1,104 @@ +alabaster==0.7.13 +astroid==2.15.6 +Babel==2.12.1 +bcrypt==4.0.1 +bleach==6.0.0 +bottle==0.12.25 +build==0.10.0 +certifi==2023.5.7 +cffi==1.15.1 +charset-normalizer==3.2.0 +check-manifest==0.49 +cmake==3.27.0 +colorama==0.4.6 +conan==1.60.1 +coverage==7.2.7 +cryptography==41.0.2 +devpi-client==5.2.3 +devpi-common==3.7.2 +dill==0.3.6 +distlib==0.3.7 +docutils==0.20.1 +exceptiongroup==1.1.2 +fasteners==0.18 +filelock==3.12.2 +flake8==6.0.0 +gcovr==6.0 +glob2==0.7 +idna==3.4 +imagesize==1.4.1 +importlib-metadata==6.8.0 +importlib-resources==6.0.0 +iniconfig==2.0.0 +isort==5.12.0 +jaraco.classes==3.3.0 +Jinja2==3.1.2 +keyring==24.2.0 +lazy==1.5 +lazy-object-proxy==1.9.0 +lxml==4.9.3 +Mako==1.2.4 +markdown-it-py==3.0.0 +MarkupSafe==2.1.3 +mccabe==0.7.0 +mdurl==0.1.2 +more-itertools==9.1.0 +mypy==1.4.1 +mypy-extensions==1.0.0 +ninja==1.11.1 +node-semver==0.6.1 +packaging==21.3 +paramiko==3.2.0 +parse==1.19.1 +parse-type==0.6.0 +patch-ng==1.17.4 +pep517==0.13.0 +pkginfo==1.9.6 +platformdirs==3.9.1 +pluggy==1.2.0 +pluginbase==1.0.1 +py==1.11.0 +pybind11==2.10.4 +pycodestyle==2.10.0 +pycparser==2.21 +pyflakes==3.0.1 +Pygments==2.15.1 +PyJWT==2.8.0 +pylint==2.17.4 +PyNaCl==1.5.0 +pyparsing==3.1.0 +pyproject_hooks==1.0.0 +pytest==7.4.0 +pytest-bdd==3.4.0 +pytest-cov==4.1.0 +pytest-runner==6.0.0 +python-dateutil==2.8.2 +pytz==2023.3 +PyYAML==6.0 +readme-renderer==40.0 +requests==2.31.0 +requests-toolbelt==1.0.0 +rfc3986==2.0.0 +rich==13.4.2 +six==1.14.0 +snowballstemmer==2.2.0 +Sphinx==7.0.1 +sphinxcontrib-applehelp==1.0.4 +sphinxcontrib-devhelp==1.0.2 +sphinxcontrib-htmlhelp==2.0.1 +sphinxcontrib-jsmath==1.0.1 +sphinxcontrib-qthelp==1.0.3 +sphinxcontrib-serializinghtml==1.1.5 +toml==0.10.2 +tomli==2.0.1 +tomlkit==0.11.8 +tox==3.28.0 +tqdm==4.65.0 +twine==4.0.2 +typing_extensions==4.7.1 +uiucprescon.build @ git+https://github.com/UIUCLibrary/uiucprescon_build.git@v0.1.0 +urllib3==1.26.16 +virtualenv==20.24.1 +webencodings==0.5.1 +wrapt==1.15.0 +zipp==3.16.2 diff --git a/requirements/requirements-ci.txt b/requirements/requirements-ci.txt new file mode 100644 index 00000000..1a81e915 --- /dev/null +++ b/requirements/requirements-ci.txt @@ -0,0 +1,2 @@ +devpi-client<6.0 +twine diff --git a/requirements/requirements-conan.txt b/requirements/requirements-conan.txt new file mode 100644 index 00000000..d1e3ea93 --- /dev/null +++ b/requirements/requirements-conan.txt @@ -0,0 +1,3 @@ +conan<2.0 +cmake +ninja \ No newline at end of file diff --git a/requirements/requirements-dev.txt b/requirements/requirements-dev.txt new file mode 100644 index 00000000..9ea17823 --- /dev/null +++ b/requirements/requirements-dev.txt @@ -0,0 +1,17 @@ +build +flake8 +gcovr +lxml +mypy +ninja +paramiko +pep517 +pybind11~=2.10.1 +pylint +pytest +pytest-cov +pytest-bdd<4.0 +pytest-runner +sphinx +toml +uiucprescon.build @ git+https://github.com/UIUCLibrary/uiucprescon_build.git@v0.1.0 \ No newline at end of file diff --git a/ci/docker/shared/python/requirements-extras.txt b/requirements/requirements-extras.txt similarity index 95% rename from ci/docker/shared/python/requirements-extras.txt rename to requirements/requirements-extras.txt index a7145912..2d1f0514 100644 --- a/ci/docker/shared/python/requirements-extras.txt +++ b/requirements/requirements-extras.txt @@ -1,7 +1,6 @@ conan coverage MarkupSafe -pip pytest pytest-bdd pytest-cov diff --git a/requirements/requirements_tox.txt b/requirements/requirements-tox.txt similarity index 100% rename from requirements/requirements_tox.txt rename to requirements/requirements-tox.txt diff --git a/requirements/requirements_conan.txt b/requirements/requirements_conan.txt deleted file mode 100644 index f5ad00c0..00000000 --- a/requirements/requirements_conan.txt +++ /dev/null @@ -1 +0,0 @@ -conan<2.0