diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c8b0c92..043f51ea 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,14 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [2.3.1] - 2024-08-15 + +### Changed +- CASMCMS-9098: Restore `install_requires` and `long_description` to Python module by creating [`MANIFEST.in`](MANIFEST.in) +- CASM-4815 : Updating the README to include information on migration of cray-product-catalog configmap. +- List installed Python packages in Dockerfile, for build logging purposes +- Pin major and minor versions of Python dependencies, but use latest patch version + ## [2.3.0] - 2024-07-16 ### Changed @@ -494,7 +502,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Change default reviewers to CMS-core-product-support -[Unreleased]: https://github.com/Cray-HPE/cray-product-catalog/compare/v2.3.0...HEAD +[Unreleased]: https://github.com/Cray-HPE/cray-product-catalog/compare/v2.3.1...HEAD + +[2.3.1]: https://github.com/Cray-HPE/cray-product-catalog/compare/v2.3.0...v2.3.1 [2.3.0]: https://github.com/Cray-HPE/cray-product-catalog/compare/v2.2.0...v2.3.0 diff --git a/Dockerfile b/Dockerfile index 433a4d82..76c08563 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,7 +26,7 @@ RUN apk add --no-cache py3-pip python3 WORKDIR /src/ COPY cray_product_catalog/ ./cray_product_catalog -COPY setup.py requirements.txt constraints.txt README.md ./ +COPY setup.py requirements.txt constraints.txt README.md MANIFEST.in ./ RUN apk add --upgrade --no-cache apk-tools \ && apk update \ @@ -38,6 +38,7 @@ RUN apk add --upgrade --no-cache apk-tools \ && pip3 install --no-cache-dir --upgrade pip wheel -c constraints.txt \ && pip3 install --ignore-installed --no-cache-dir -r requirements.txt \ && python3 setup.py install \ + && pip3 list --format freeze \ && rm -rf /src/ # Must make catalog_update available as /catalog_update.py diff --git a/MANIFEST.in b/MANIFEST.in new file mode 100644 index 00000000..4fae9108 --- /dev/null +++ b/MANIFEST.in @@ -0,0 +1,2 @@ +include requirements.txt +include README.md diff --git a/README.md b/README.md index f34a52ed..fed6814f 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,17 @@ information and metadata to the cray-product-catalog config map located in the services namespace via a Kubernetes job as part of a Helm chart. The image could also be used via podman on an NCN, but this has not been tested. +NOTE: As of 2.3.0 version of cray-product-catalog, the configmap for cray-product-catalog +has been split into multiple configmaps in the services namespace. The main configmap is +referred to as cray-product-catalog, and the product-specific configmap names have the format +cray-product-catalog-. + +The main cray-product-catalog configmap has entries for each product version. The +product-specific configmaps include detailed entries for each version of that product. + +The migration of the configmap format into the one described above is automatically performed +when the Helm chart for version 2.3.0+ is deployed. + ## Example Usage ### Helm Chart diff --git a/constraints.txt b/constraints.txt index 119e58d7..d72ec091 100644 --- a/constraints.txt +++ b/constraints.txt @@ -1,24 +1,24 @@ -attrs==23.1.0 -cachetools==5.3.3 +attrs>=23.1,<23.2 +cachetools>=5.3.3,<5.4 certifi==2023.5.7 -charset-normalizer==3.2.0 -google-auth==2.22.0 -idna==3.4 -jsonschema==4.18.6 +charset-normalizer>=3.2.0,<3.3 +google-auth>=2.22,<2.23 +idna>=3.4,<3.5 +jsonschema>=4.18.6,<4.19 # CSM 1.6 uses Kubernetes 1.22, so use client v22.x to ensure compatability -kubernetes==22.6.0 -oauthlib==3.2.2 -pip==23.2.1 -pyasn1==0.5.1 -pyasn1-modules==0.3.0 -pyrsistent==0.19.3 -python-dateutil==2.8.2 -PyYAML==6.0.1 -requests==2.31.0 -requests-oauthlib==1.3.1 -rsa==4.9 -setuptools==68.0.0 -six==1.16.0 -urllib3==1.26.19 -websocket-client==1.6.4 -wheel==0.40.0 +kubernetes>=22.6,<22.7 +oauthlib>=3.2.2,<3.3 +pip>=23.2.1,<23.3 +pyasn1>=0.5.1,<0.6 +pyasn1-modules>=0.3,<0.4 +pyrsistent>=0.19.3,<0.20 +python-dateutil>=2.8.2,<2.9 +PyYAML>=6.0.1,<6.1 +requests>=2.31,<2.32 +requests-oauthlib>=1.3.1,<1.4 +rsa>=4.9,<4.10 +setuptools>=68.0,<68.1 +six>=1.16,<1.17 +urllib3>=1.26.19,<1.27 +websocket-client>=1.6.4,<1.7 +wheel>=0.40,<0.41 diff --git a/setup.py b/setup.py index 8446c52c..c2649521 100644 --- a/setup.py +++ b/setup.py @@ -29,11 +29,22 @@ here = path.abspath(path.dirname(__file__)) +with open(path.join(here, 'README.md'), encoding='utf-8') as f: + long_description = f.read() + +with open(path.join(here, 'requirements.txt'), encoding='utf-8') as f: + install_requires = [] + for line in f.readlines(): + if line and line[0].isalpha(): + install_requires.append(line.strip()) + # The version is set at build time setup( name='cray-product-catalog', - version= "@RPM_VERSION@", + version='@RPM_VERSION@', description='Cray Product Catalog', + long_description=long_description, + long_description_content_type='text/markdown', url='https://github.com/Cray-HPE/cray-product-catalog', author='Hewlett Packard Enterprise Development LP', license='MIT', @@ -41,6 +52,7 @@ package_data={ 'cray_product_catalog.schema': ['schema.yaml'] }, + install_requires=install_requires, python_requires='>=3.9, <4', include_package_data=True, entry_points={