From 08c916ffc5603ebffed702c347e297be5825055e Mon Sep 17 00:00:00 2001 From: David Schultz Date: Tue, 23 Apr 2024 10:56:27 -0500 Subject: [PATCH 1/7] update CI --- .github/workflows/docker.yml | 16 +--------------- .github/workflows/wipac-cicd.yml | 4 ++-- 2 files changed, 3 insertions(+), 17 deletions(-) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 01c2bc9..9b682fd 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -18,7 +18,7 @@ jobs: - name: Docker meta id: docker_meta - uses: docker/metadata-action@v4.3.0 + uses: docker/metadata-action@v4 with: # list of Docker images to use as base name for tags images: | @@ -33,18 +33,6 @@ jobs: type=semver,pattern={{major}}.{{minor}} type=semver,pattern={{major}}.{{minor}}.{{patch}} - - name: Set up Docker Buildx - id: buildx - uses: docker/setup-buildx-action@v1 - - - name: Cache Docker layers - uses: actions/cache@v2 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-lta-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx-lta- - - name: Login to DockerHub uses: docker/login-action@v1 with: @@ -56,8 +44,6 @@ jobs: with: context: . builder: ${{ steps.buildx.outputs.name }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache tags: ${{ steps.docker_meta.outputs.tags }} labels: ${{ steps.docker_meta.outputs.labels }} push: ${{ github.event_name != 'pull_request' }} diff --git a/.github/workflows/wipac-cicd.yml b/.github/workflows/wipac-cicd.yml index 0431e0a..2463062 100644 --- a/.github/workflows/wipac-cicd.yml +++ b/.github/workflows/wipac-cicd.yml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/checkout@v3 - uses: actions/setup-python@v4 - - uses: WIPACrepo/wipac-dev-mypy-action@v1.1 + - uses: WIPACrepo/wipac-dev-mypy-action@v2.0 py-setup: runs-on: ubuntu-latest @@ -110,7 +110,7 @@ jobs: uses: actions/checkout@v3 - name: Docker meta id: docker_meta - uses: docker/metadata-action@v3 + uses: docker/metadata-action@v4 with: images: | ghcr.io/wipacrepo/file_catalog From e0a2bf9484f9168e0927292fdc0d352cc0fe8aa6 Mon Sep 17 00:00:00 2001 From: David Schultz Date: Tue, 23 Apr 2024 10:57:41 -0500 Subject: [PATCH 2/7] increase python version to match rest-tools --- Dockerfile | 2 +- setup.cfg | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3d48e18..48e388e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.8 +FROM python:3.10 COPY README.md setup.cfg setup.py /usr/src/file_catalog/ COPY file_catalog /usr/src/file_catalog/file_catalog diff --git a/setup.cfg b/setup.cfg index ef1bfde..da88048 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [wipac:cicd_setup_builder] pypi_name = wipac-file-catalog -python_min = 3.8 +python_min = 3.10 author = WIPAC Developers author_email = developers@icecube.wisc.edu keywords_spaced = metadata data warehouse archive L2 PFDST PFFilt PFRaw i3 simulation iceprod From 5ce5e895b6e8d9182231a1d47f4f2fd0c206032e Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 23 Apr 2024 15:57:59 +0000 Subject: [PATCH 3/7] update setup.cfg --- setup.cfg | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/setup.cfg b/setup.cfg index da88048..3673142 100644 --- a/setup.cfg +++ b/setup.cfg @@ -33,8 +33,6 @@ license = MIT classifiers = Development Status :: 5 - Production/Stable License :: OSI Approved :: MIT License - Programming Language :: Python :: 3.8 - Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3.11 Programming Language :: Python :: 3.12 @@ -65,7 +63,7 @@ install_requires = requests-toolbelt tornado wipac-rest-tools[telemetry] -python_requires = >=3.8, <3.13 +python_requires = >=3.10, <3.13 [options.extras_require] dev = From 939162fcd3168961e45344052ffa859bed6cc268 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 23 Apr 2024 15:58:11 +0000 Subject: [PATCH 4/7] update requirements-dev.txt --- requirements-dev.txt | 88 ++++++++++++++++++++------------------------ 1 file changed, 40 insertions(+), 48 deletions(-) diff --git a/requirements-dev.txt b/requirements-dev.txt index 169e321..62f8651 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,21 +4,17 @@ # # pip-compile --extra=dev --output-file=requirements-dev.txt # -aiohttp==3.9.1 +aiohttp==3.9.5 # via crawler aiosignal==1.3.1 # via aiohttp async-timeout==4.0.3 # via aiohttp -attrs==23.1.0 +attrs==23.2.0 # via aiohttp -backoff==2.2.1 - # via - # opentelemetry-exporter-otlp-proto-common - # opentelemetry-exporter-otlp-proto-http -cachetools==5.3.2 +cachetools==5.3.3 # via wipac-rest-tools -certifi==2023.11.17 +certifi==2024.2.2 # via requests cffi==1.16.0 # via cryptography @@ -28,21 +24,19 @@ coloredlogs==15.0.1 # via # wipac-file-catalog (setup.py) # wipac-telemetry -coverage[toml]==7.3.4 - # via - # coverage - # pytest-cov +coverage[toml]==7.4.4 + # via pytest-cov crawler==0.0.2 # via wipac-file-catalog (setup.py) -cryptography==41.0.7 +cryptography==42.0.5 # via pyjwt deprecated==1.2.14 # via # opentelemetry-api # opentelemetry-exporter-otlp-proto-http -exceptiongroup==1.2.0 +exceptiongroup==1.2.1 # via pytest -flake8==6.1.0 +flake8==7.0.0 # via wipac-file-catalog (setup.py) frozenlist==1.4.1 # via @@ -52,15 +46,15 @@ googleapis-common-protos==1.59.1 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-otlp-proto-http -grpcio==1.60.0 +grpcio==1.62.2 # via opentelemetry-exporter-jaeger-proto-grpc humanfriendly==10.0 # via coloredlogs -idna==3.6 +idna==3.7 # via # requests # yarl -importlib-metadata==6.11.0 +importlib-metadata==7.0.0 # via opentelemetry-api iniconfig==2.0.0 # via pytest @@ -68,19 +62,19 @@ ldap3==2.9.1 # via wipac-file-catalog (setup.py) mccabe==0.7.0 # via flake8 -more-itertools==10.1.0 +more-itertools==10.2.0 # via wipac-file-catalog (setup.py) motor==2.5.1 # via wipac-file-catalog (setup.py) -multidict==6.0.4 +multidict==6.0.5 # via # aiohttp # yarl -mypy==1.8.0 +mypy==1.9.0 # via wipac-file-catalog (setup.py) mypy-extensions==1.0.0 # via mypy -opentelemetry-api==1.22.0 +opentelemetry-api==1.24.0 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-jaeger-thrift @@ -93,57 +87,55 @@ opentelemetry-exporter-jaeger-proto-grpc==1.21.0 # via opentelemetry-exporter-jaeger opentelemetry-exporter-jaeger-thrift==1.21.0 # via opentelemetry-exporter-jaeger -opentelemetry-exporter-otlp-proto-common==1.22.0 +opentelemetry-exporter-otlp-proto-common==1.24.0 # via opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-http==1.22.0 +opentelemetry-exporter-otlp-proto-http==1.24.0 # via wipac-telemetry -opentelemetry-proto==1.22.0 +opentelemetry-proto==1.24.0 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-http -opentelemetry-sdk==1.22.0 +opentelemetry-sdk==1.24.0 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-jaeger-thrift # opentelemetry-exporter-otlp-proto-http # wipac-telemetry -opentelemetry-semantic-conventions==0.43b0 +opentelemetry-semantic-conventions==0.45b0 # via opentelemetry-sdk -packaging==23.2 +packaging==24.0 # via pytest -pluggy==1.3.0 +pluggy==1.5.0 # via pytest -protobuf==4.25.1 +protobuf==4.25.3 # via # googleapis-common-protos # opentelemetry-proto # wipac-telemetry -pyasn1==0.5.1 +pyasn1==0.6.0 # via ldap3 pycodestyle==2.11.1 # via flake8 -pycparser==2.21 +pycparser==2.22 # via cffi -pyflakes==3.1.0 +pyflakes==3.2.0 # via flake8 pyjwt[crypto]==2.8.0 - # via - # pyjwt - # wipac-rest-tools + # via wipac-rest-tools pymongo==3.13.0 # via # motor # wipac-file-catalog (setup.py) pypng==0.20220715.0 # via qrcode -pytest==7.4.3 +pytest==8.1.1 # via # pytest-asyncio # pytest-cov # wipac-file-catalog (setup.py) -pytest-asyncio==0.23.2 +pytest-asyncio==0.23.6 # via wipac-file-catalog (setup.py) -pytest-cov==4.1.0 +pytest-cov==5.0.0 # via wipac-file-catalog (setup.py) qrcode==7.4.2 # via wipac-rest-tools @@ -161,11 +153,11 @@ requests-futures==1.0.1 # wipac-rest-tools requests-toolbelt==1.0.0 # via wipac-file-catalog (setup.py) -ruff==0.1.8 +ruff==0.4.1 # via wipac-file-catalog (setup.py) six==1.16.0 # via thrift -thrift==0.16.0 +thrift==0.20.0 # via opentelemetry-exporter-jaeger-thrift tomli==2.0.1 # via @@ -178,27 +170,27 @@ tornado==6.4 # wipac-rest-tools types-pymysql==1.1.0.1 # via wipac-file-catalog (setup.py) -types-python-dateutil==2.8.19.14 +types-python-dateutil==2.9.0.20240316 # via wipac-file-catalog (setup.py) -types-requests==2.31.0.10 +types-requests==2.31.0.20240406 # via wipac-file-catalog (setup.py) -typing-extensions==4.9.0 +typing-extensions==4.11.0 # via # mypy # opentelemetry-sdk # qrcode # wipac-dev-tools # wipac-telemetry -urllib3==2.1.0 +urllib3==2.2.1 # via # requests # types-requests # wipac-rest-tools -wipac-dev-tools==1.8.2 +wipac-dev-tools==1.9.1 # via # wipac-rest-tools # wipac-telemetry -wipac-rest-tools[telemetry]==1.6.0 +wipac-rest-tools[telemetry]==1.7.2 # via wipac-file-catalog (setup.py) wipac-telemetry==0.3.0 # via wipac-rest-tools @@ -206,5 +198,5 @@ wrapt==1.16.0 # via deprecated yarl==1.9.4 # via aiohttp -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata From b95cb30c99e72244f6d25945aeba9e1440f06223 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 23 Apr 2024 15:58:11 +0000 Subject: [PATCH 5/7] update requirements.txt --- requirements.txt | 50 +++++++++++++++++++++--------------------------- 1 file changed, 22 insertions(+), 28 deletions(-) diff --git a/requirements.txt b/requirements.txt index 8b105d6..e5fb62d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,13 +4,9 @@ # # pip-compile --output-file=requirements.txt # -backoff==2.2.1 - # via - # opentelemetry-exporter-otlp-proto-common - # opentelemetry-exporter-otlp-proto-http -cachetools==5.3.2 +cachetools==5.3.3 # via wipac-rest-tools -certifi==2023.11.17 +certifi==2024.2.2 # via requests cffi==1.16.0 # via cryptography @@ -20,7 +16,7 @@ coloredlogs==15.0.1 # via # wipac-file-catalog (setup.py) # wipac-telemetry -cryptography==41.0.7 +cryptography==42.0.5 # via pyjwt deprecated==1.2.14 # via @@ -30,19 +26,19 @@ googleapis-common-protos==1.59.1 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-otlp-proto-http -grpcio==1.60.0 +grpcio==1.62.2 # via opentelemetry-exporter-jaeger-proto-grpc humanfriendly==10.0 # via coloredlogs -idna==3.6 +idna==3.7 # via requests -importlib-metadata==6.11.0 +importlib-metadata==7.0.0 # via opentelemetry-api ldap3==2.9.1 # via wipac-file-catalog (setup.py) motor==2.5.1 # via wipac-file-catalog (setup.py) -opentelemetry-api==1.22.0 +opentelemetry-api==1.24.0 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-jaeger-thrift @@ -55,35 +51,33 @@ opentelemetry-exporter-jaeger-proto-grpc==1.21.0 # via opentelemetry-exporter-jaeger opentelemetry-exporter-jaeger-thrift==1.21.0 # via opentelemetry-exporter-jaeger -opentelemetry-exporter-otlp-proto-common==1.22.0 +opentelemetry-exporter-otlp-proto-common==1.24.0 # via opentelemetry-exporter-otlp-proto-http -opentelemetry-exporter-otlp-proto-http==1.22.0 +opentelemetry-exporter-otlp-proto-http==1.24.0 # via wipac-telemetry -opentelemetry-proto==1.22.0 +opentelemetry-proto==1.24.0 # via # opentelemetry-exporter-otlp-proto-common # opentelemetry-exporter-otlp-proto-http -opentelemetry-sdk==1.22.0 +opentelemetry-sdk==1.24.0 # via # opentelemetry-exporter-jaeger-proto-grpc # opentelemetry-exporter-jaeger-thrift # opentelemetry-exporter-otlp-proto-http # wipac-telemetry -opentelemetry-semantic-conventions==0.43b0 +opentelemetry-semantic-conventions==0.45b0 # via opentelemetry-sdk -protobuf==4.25.1 +protobuf==4.25.3 # via # googleapis-common-protos # opentelemetry-proto # wipac-telemetry -pyasn1==0.5.1 +pyasn1==0.6.0 # via ldap3 -pycparser==2.21 +pycparser==2.22 # via cffi pyjwt[crypto]==2.8.0 - # via - # pyjwt - # wipac-rest-tools + # via wipac-rest-tools pymongo==3.13.0 # via # motor @@ -108,31 +102,31 @@ requests-toolbelt==1.0.0 # via wipac-file-catalog (setup.py) six==1.16.0 # via thrift -thrift==0.16.0 +thrift==0.20.0 # via opentelemetry-exporter-jaeger-thrift tornado==6.4 # via # wipac-file-catalog (setup.py) # wipac-rest-tools -typing-extensions==4.9.0 +typing-extensions==4.11.0 # via # opentelemetry-sdk # qrcode # wipac-dev-tools # wipac-telemetry -urllib3==2.1.0 +urllib3==2.2.1 # via # requests # wipac-rest-tools -wipac-dev-tools==1.8.2 +wipac-dev-tools==1.9.1 # via # wipac-rest-tools # wipac-telemetry -wipac-rest-tools[telemetry]==1.6.0 +wipac-rest-tools[telemetry]==1.7.2 # via wipac-file-catalog (setup.py) wipac-telemetry==0.3.0 # via wipac-rest-tools wrapt==1.16.0 # via deprecated -zipp==3.17.0 +zipp==3.18.1 # via importlib-metadata From edf95fe5af5cf6d839288dadaae675bf6aa886b5 Mon Sep 17 00:00:00 2001 From: David Schultz Date: Tue, 23 Apr 2024 11:14:32 -0500 Subject: [PATCH 6/7] add mypy install option for type checking --- setup.cfg | 2 ++ 1 file changed, 2 insertions(+) diff --git a/setup.cfg b/setup.cfg index 3673142..62ca6db 100644 --- a/setup.cfg +++ b/setup.cfg @@ -78,6 +78,8 @@ dev = types-PyMySQL types-python-dateutil types-requests +mypy = + %(dev)s [options.package_data] # generated by wipac:cicd_setup_builder: '*' * = py.typed From d724a0d4426134be538e14fadef81d5f454c2c96 Mon Sep 17 00:00:00 2001 From: github-actions Date: Tue, 23 Apr 2024 16:15:12 +0000 Subject: [PATCH 7/7] update requirements-mypy.txt --- requirements-mypy.txt | 202 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 202 insertions(+) create mode 100644 requirements-mypy.txt diff --git a/requirements-mypy.txt b/requirements-mypy.txt new file mode 100644 index 0000000..147d43c --- /dev/null +++ b/requirements-mypy.txt @@ -0,0 +1,202 @@ +# +# This file is autogenerated by pip-compile with Python 3.10 +# by the following command: +# +# pip-compile --extra=mypy --output-file=requirements-mypy.txt +# +aiohttp==3.9.5 + # via crawler +aiosignal==1.3.1 + # via aiohttp +async-timeout==4.0.3 + # via aiohttp +attrs==23.2.0 + # via aiohttp +cachetools==5.3.3 + # via wipac-rest-tools +certifi==2024.2.2 + # via requests +cffi==1.16.0 + # via cryptography +charset-normalizer==3.3.2 + # via requests +coloredlogs==15.0.1 + # via + # wipac-file-catalog (setup.py) + # wipac-telemetry +coverage[toml]==7.4.4 + # via pytest-cov +crawler==0.0.2 + # via wipac-file-catalog (setup.py) +cryptography==42.0.5 + # via pyjwt +deprecated==1.2.14 + # via + # opentelemetry-api + # opentelemetry-exporter-otlp-proto-http +exceptiongroup==1.2.1 + # via pytest +flake8==7.0.0 + # via wipac-file-catalog (setup.py) +frozenlist==1.4.1 + # via + # aiohttp + # aiosignal +googleapis-common-protos==1.59.1 + # via + # opentelemetry-exporter-jaeger-proto-grpc + # opentelemetry-exporter-otlp-proto-http +grpcio==1.62.2 + # via opentelemetry-exporter-jaeger-proto-grpc +humanfriendly==10.0 + # via coloredlogs +idna==3.7 + # via + # requests + # yarl +importlib-metadata==7.0.0 + # via opentelemetry-api +iniconfig==2.0.0 + # via pytest +ldap3==2.9.1 + # via wipac-file-catalog (setup.py) +mccabe==0.7.0 + # via flake8 +more-itertools==10.2.0 + # via wipac-file-catalog (setup.py) +motor==2.5.1 + # via wipac-file-catalog (setup.py) +multidict==6.0.5 + # via + # aiohttp + # yarl +mypy==1.9.0 + # via wipac-file-catalog (setup.py) +mypy-extensions==1.0.0 + # via mypy +opentelemetry-api==1.24.0 + # via + # opentelemetry-exporter-jaeger-proto-grpc + # opentelemetry-exporter-jaeger-thrift + # opentelemetry-exporter-otlp-proto-http + # opentelemetry-sdk + # wipac-telemetry +opentelemetry-exporter-jaeger==1.21.0 + # via wipac-telemetry +opentelemetry-exporter-jaeger-proto-grpc==1.21.0 + # via opentelemetry-exporter-jaeger +opentelemetry-exporter-jaeger-thrift==1.21.0 + # via opentelemetry-exporter-jaeger +opentelemetry-exporter-otlp-proto-common==1.24.0 + # via opentelemetry-exporter-otlp-proto-http +opentelemetry-exporter-otlp-proto-http==1.24.0 + # via wipac-telemetry +opentelemetry-proto==1.24.0 + # via + # opentelemetry-exporter-otlp-proto-common + # opentelemetry-exporter-otlp-proto-http +opentelemetry-sdk==1.24.0 + # via + # opentelemetry-exporter-jaeger-proto-grpc + # opentelemetry-exporter-jaeger-thrift + # opentelemetry-exporter-otlp-proto-http + # wipac-telemetry +opentelemetry-semantic-conventions==0.45b0 + # via opentelemetry-sdk +packaging==24.0 + # via pytest +pluggy==1.5.0 + # via pytest +protobuf==4.25.3 + # via + # googleapis-common-protos + # opentelemetry-proto + # wipac-telemetry +pyasn1==0.6.0 + # via ldap3 +pycodestyle==2.11.1 + # via flake8 +pycparser==2.22 + # via cffi +pyflakes==3.2.0 + # via flake8 +pyjwt[crypto]==2.8.0 + # via wipac-rest-tools +pymongo==3.13.0 + # via + # motor + # wipac-file-catalog (setup.py) +pypng==0.20220715.0 + # via qrcode +pytest==8.1.1 + # via + # pytest-asyncio + # pytest-cov + # wipac-file-catalog (setup.py) +pytest-asyncio==0.23.6 + # via wipac-file-catalog (setup.py) +pytest-cov==5.0.0 + # via wipac-file-catalog (setup.py) +qrcode==7.4.2 + # via wipac-rest-tools +requests==2.31.0 + # via + # opentelemetry-exporter-otlp-proto-http + # requests-futures + # requests-toolbelt + # wipac-dev-tools + # wipac-file-catalog (setup.py) + # wipac-rest-tools +requests-futures==1.0.1 + # via + # wipac-file-catalog (setup.py) + # wipac-rest-tools +requests-toolbelt==1.0.0 + # via wipac-file-catalog (setup.py) +ruff==0.4.1 + # via wipac-file-catalog (setup.py) +six==1.16.0 + # via thrift +thrift==0.20.0 + # via opentelemetry-exporter-jaeger-thrift +tomli==2.0.1 + # via + # coverage + # mypy + # pytest +tornado==6.4 + # via + # wipac-file-catalog (setup.py) + # wipac-rest-tools +types-pymysql==1.1.0.1 + # via wipac-file-catalog (setup.py) +types-python-dateutil==2.9.0.20240316 + # via wipac-file-catalog (setup.py) +types-requests==2.31.0.20240406 + # via wipac-file-catalog (setup.py) +typing-extensions==4.11.0 + # via + # mypy + # opentelemetry-sdk + # qrcode + # wipac-dev-tools + # wipac-telemetry +urllib3==2.2.1 + # via + # requests + # types-requests + # wipac-rest-tools +wipac-dev-tools==1.9.1 + # via + # wipac-rest-tools + # wipac-telemetry +wipac-rest-tools[telemetry]==1.7.2 + # via wipac-file-catalog (setup.py) +wipac-telemetry==0.3.0 + # via wipac-rest-tools +wrapt==1.16.0 + # via deprecated +yarl==1.9.4 + # via aiohttp +zipp==3.18.1 + # via importlib-metadata