From 7d33f3d4c7ac2d75fb32226ddd9bacef3d2c9dfc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 12 Oct 2026 02:10:13 +0000 Subject: [PATCH 1/2] build(deps): bump boto3 in /.github/requirements Bumps [boto3](https://github.com/boto/boto3) from 1.43.107 to 1.43.108. - [Release notes](https://github.com/boto/boto3/releases) - [Commits](https://github.com/boto/boto3/compare/1.43.107...1.43.108) --- updated-dependencies: - dependency-name: boto3 dependency-version: 1.43.108 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- .github/requirements/integration.in | 2 +- .github/requirements/integration.txt | 121 +++++++++------------------ 2 files changed, 40 insertions(+), 83 deletions(-) diff --git a/.github/requirements/integration.in b/.github/requirements/integration.in index 4a66d5c..68ffa9c 100644 --- a/.github/requirements/integration.in +++ b/.github/requirements/integration.in @@ -16,7 +16,7 @@ tzdata>=2024.1; platform_system == 'Windows' opentelemetry-api>=1.44.0 opentelemetry-sdk>=1.44.0 tomli>=2.0.1; python_version<"3.11" -boto3>=1.34.0 +boto3>=1.43.108 azure-storage-blob>=12.19.0 google-api-python-client>=2.100.0 google-auth-httplib2>=0.2.0 diff --git a/.github/requirements/integration.txt b/.github/requirements/integration.txt index 709249b..d962e55 100644 --- a/.github/requirements/integration.txt +++ b/.github/requirements/integration.txt @@ -7,7 +7,7 @@ azure-core==1.41.0 \ azure-storage-blob==12.31.0 \ --hash=sha256:0c0cb601d3462491d09ea96023cd791bb9dd4b173bf950daf3cff34ff47ba5b5 \ --hash=sha256:997b393cfcbdc4b186d5911790d91f80387f7edc12c4d73eab963a2d26e5b2a9 - # via -r .github/requirements/integration.in + # via -r integration.in bcrypt==5.0.0 \ --hash=sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4 \ --hash=sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a \ @@ -73,25 +73,25 @@ bcrypt==5.0.0 \ --hash=sha256:f8429e1c410b4073944f03bd778a9e066e7fad723564a52ff91841d278dfc822 \ --hash=sha256:fc746432b951e92b58317af8e0ca746efe93e66555f1b40888865ef5bf56446b # via paramiko -boto3==1.43.107 \ - --hash=sha256:632a4f8298725b94144c8cd383cbdacb34624daa73221e954c3d33ac6e2528d6 \ - --hash=sha256:c4e0f1a0295cbb7103f2950128cf88463c076d220080a7d0f127cf834969fc3a - # via -r .github/requirements/integration.in -botocore==1.43.107 \ - --hash=sha256:23cbe854e815dbaccf097f7fd32b461c9e1d2ed7e0c7dcc5658218704509d840 \ - --hash=sha256:4a37fa072a00280c746313532d19b00e2dc53f1993222601df104d71d548d5b6 +boto3==1.43.108 \ + --hash=sha256:03341f089158368acf83e921aca98b706095322ca52bc4c039a616940aa5ad41 \ + --hash=sha256:19e9da95ef0c494e27052049a42137550e66730509bb613e76eaa30ddf9a7170 + # via -r integration.in +botocore==1.43.111 \ + --hash=sha256:44d5e80962ac6cb9e85af72667b77c9586451e3328ab0ce33195380767e213d8 \ + --hash=sha256:f1f4c28cb2a096bf246d0bb24cbb1a01c5cb696ef499fa71b155adda7b94c90b # via # boto3 # s3transfer boxsdk==10.17.0 \ --hash=sha256:86c9a1f665c8879af501c02ec51bbe02247b24f96c6bc39f6890912e70091840 \ --hash=sha256:fe42658185901b80437a0d5b393c91b4a732f3b78d1be11d881aa7484807c9d5 - # via -r .github/requirements/integration.in + # via -r integration.in certifi==2026.7.22 \ --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 \ --hash=sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55 # via requests -cffi==2.1.1 ; platform_python_implementation != 'PyPy' \ +cffi==2.1.1 \ --hash=sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e \ --hash=sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66 \ --hash=sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2 \ @@ -369,13 +369,7 @@ charset-normalizer==3.5.2 \ --hash=sha256:fd1fbe0f116b6e55da77aca2c6ddcddcfac2186cbf78bdebf40fc156efca389d \ --hash=sha256:fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f # via requests -colorama==0.4.6 ; sys_platform == 'win32' \ - --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ - --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 - # via - # pytest - # tqdm -coverage==7.16.2 \ +coverage[toml]==7.16.2 \ --hash=sha256:00d3eb96e9988c45f50cccd1f1496571ac5c1f91386ac02c4d55516eeda19a24 \ --hash=sha256:01c6908bc613b420c26c818fe948e1b97dfd041a53c98b01c63bd8321f5c9aae \ --hash=sha256:066429634299e14dd2d511e1e85f8f9cecc500781f6b41907c0dd6f1baea7e63 \ @@ -559,7 +553,7 @@ cryptography==50.0.2 \ --hash=sha256:fa8f5efb344d6908a1ce62f4a24e2e5780f825d6f53f5f50ec5ffacac72936cb \ --hash=sha256:fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b # via - # -r .github/requirements/integration.in + # -r integration.in # azure-storage-blob # google-auth # msal @@ -570,15 +564,15 @@ cryptography==50.0.2 \ defusedxml==0.7.1 \ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 - # via -r .github/requirements/integration.in + # via -r integration.in dropbox==12.2.2 \ --hash=sha256:044d963cdee83a5149e103c792b1a0284f681bb1b6984259cda01244cc3c1a6e \ --hash=sha256:9abc636a57788165c1e1f263971163230ccc26fd448df643c1005e0dc1abd1a3 - # via -r .github/requirements/integration.in + # via -r integration.in fsspec==2026.9.0 \ --hash=sha256:0f08147951c8cb31d844c3547d631053b127863b60be04cf06e121333ee0e2fe \ --hash=sha256:8dd6e646e99ea382bd85f97a45e6b526a442d79423a7dc673f1e2756d05fcb5f - # via -r .github/requirements/integration.in + # via -r integration.in google-api-core==2.40.0 \ --hash=sha256:4b9e0a80024c269ae173136d5439f4ed284651d6e5e2773ba5c694f481f9c0f4 \ --hash=sha256:ebee7d1b138b5362beecec260e6e8988ac97346562c7382ccb6f0ad8435c599f @@ -586,7 +580,7 @@ google-api-core==2.40.0 \ google-api-python-client==2.201.0 \ --hash=sha256:2d9bf1ba3f12eee8ed3d0f1791ce0605d163432f496baa72d3677faa2cf097d6 \ --hash=sha256:d5691982abd7287f53cb0b0e0c6a9984d4103cf864ea0a88cb6e4347bbaf70de - # via -r .github/requirements/integration.in + # via -r integration.in google-auth==2.59.1 \ --hash=sha256:89c3f931683a482ac97e61df7eb9da5e08a91703f3c752b2377d72cfb7d69e6a \ --hash=sha256:ce50fc533ac02f489a2b183a0c156672c376ecb2091b1127bc7efba2975fff27 @@ -599,12 +593,12 @@ google-auth-httplib2==0.4.4 \ --hash=sha256:b931de392c20cfaa351cd789274922bd8cdc001e0e9e96de31b39d71347f8e16 \ --hash=sha256:bbe5d7b2401bb3a4017f4720e1e91bd273ab9a2bb60b84e65edbc0de127852da # via - # -r .github/requirements/integration.in + # -r integration.in # google-api-python-client google-auth-oauthlib==1.5.0 \ --hash=sha256:71625fdea21c6c03217eb9ff13741c3096e6d257ebca0ad084dbd6e9f4aa4ef4 \ --hash=sha256:b351107c7dd9017f426cbb0272ea1bc04f469020fd18f4443c7d40362e0b1510 - # via -r .github/requirements/integration.in + # via -r integration.in googleapis-common-protos==1.75.5 \ --hash=sha256:c7a866fc34ed29a3b10af627a4b9b1dc2433313ca6e959f0ae4feb132047ed72 \ --hash=sha256:d7285525c23039db98f2463e6d5a4f9b958b94d497f03a844ece3259c4e72d5d @@ -634,7 +628,7 @@ isodate==0.7.2 \ je-action-core==0.0.3 \ --hash=sha256:395890665483e58f17fede17aa809bf6e2762ba8f0bd6751126fe46efabb8c85 \ --hash=sha256:7b73ab0172a3c90c91b0a81b8a662350199a35842f529acf7a54706052fb38ee - # via -r .github/requirements/integration.in + # via -r integration.in jinja2==3.1.6 \ --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 @@ -739,7 +733,7 @@ markupsafe==3.0.3 \ msal==1.39.0 \ --hash=sha256:2d2577886906cd7293850dffa2da29119966c213bfc6ec0cecf8bf7621e1ca77 \ --hash=sha256:6ab7de335e6d7f5717e2c7e1dbf86e4dda2f6acf3c56773b78dc53ebc6395b5f - # via -r .github/requirements/integration.in + # via -r integration.in oauthlib==4.0.0 \ --hash=sha256:624c28c13a0a59cabf9747dfa52af63be3e512a7f2714df16e91b5b3a145e6cd \ --hash=sha256:efb274799819440f95b4ab3b818869f1ce9ae26c5beacba0201d1a1b76b54f86 @@ -748,14 +742,14 @@ opentelemetry-api==1.45.0 \ --hash=sha256:711ede81773c8025c2c03dac0450bc89f3d30aea6eabcc815c570d4e35a963f7 \ --hash=sha256:80e068aba7cd56c8b58512d6a36f8d25cb1dfaa0c0a4cc1c938ccf9f362d9cb3 # via - # -r .github/requirements/integration.in + # -r integration.in # google-api-core # opentelemetry-sdk # opentelemetry-semantic-conventions opentelemetry-sdk==1.45.0 \ --hash=sha256:20caa5130505e386c67c3da1c76e446c842698ced54c76c6148679539aa97972 \ --hash=sha256:5dc634c946546f61b757c5b1781f9fd1a10e96ffaf7357c797e508fe9c57e75e - # via -r .github/requirements/integration.in + # via -r integration.in opentelemetry-semantic-conventions==0.66b0 \ --hash=sha256:175b19dd98c4473f4f43a2b1df59186fd7b4a48cd3f77cbe03438b6d6fda230a \ --hash=sha256:97a77dce484c54861e7eeff7651fd8a806dd3c30e501dc316730215ec36890e6 @@ -770,7 +764,7 @@ packaging==26.3 \ paramiko==5.0.0 \ --hash=sha256:36763b5b95c2a0dcfdf1abc48e48156ee425b21efe2f0e787c2dd5a95c0e5e79 \ --hash=sha256:b7044611c30140d9a75261653210e2002977b71a0497ff3ba0d98d7edbf62f7c - # via -r .github/requirements/integration.in + # via -r integration.in pluggy==1.6.0 \ --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 @@ -780,7 +774,7 @@ pluggy==1.6.0 \ prometheus-client==0.26.0 \ --hash=sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b \ --hash=sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6 - # via -r .github/requirements/integration.in + # via -r integration.in proto-plus==1.29.0 \ --hash=sha256:8acd070469a7aaf43f440b022ef9757c8cac1a9f866e933f59ae98669ddc6c8b \ --hash=sha256:cfb4e62ad7e13dd18f346cabbda00cab39930d36a05791fd81ddb074d6ee884f @@ -842,7 +836,7 @@ pyarrow==25.0.1 \ --hash=sha256:eb6203482ff3746a5632303a7279ae0b5a304c46985b49ed1378cb350ea6728d \ --hash=sha256:f3831aaa25c67a99f99dc8b05873cb9d64560390372e2aa197ce9dd4a3f06a44 \ --hash=sha256:f729cfdbd36fd99d543b67a914d2de044c84ebe45be8b34902b299b608c15c8f - # via -r .github/requirements/integration.in + # via -r integration.in pyasn1==0.6.4 \ --hash=sha256:9c447d8431c947fe4c8febc4ed9e760bc29011a5b01e5c74b67025bd9fb8ce81 \ --hash=sha256:deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b @@ -851,7 +845,7 @@ pyasn1-modules==0.4.2 \ --hash=sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a \ --hash=sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6 # via google-auth -pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' \ +pycparser==3.0 \ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 # via cffi @@ -859,10 +853,12 @@ pygments==2.21.0 \ --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 \ --hash=sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c # via pytest -pyjwt==2.15.1 \ +pyjwt[crypto]==2.15.1 \ --hash=sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193 \ --hash=sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8 - # via msal + # via + # msal + # pyjwt pynacl==1.6.2 \ --hash=sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c \ --hash=sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574 \ @@ -900,7 +896,7 @@ pyside6==6.11.2 \ --hash=sha256:3201d67e3c10be2eaedd3910ff0f02351eca7e88c95a291cde5e7f2f55ef207f \ --hash=sha256:57fe867a6c93821a085d74e8a26f863fc2363516848181c466032595b33b1729 \ --hash=sha256:dc6d03990489a5085842770718392ef5de36352d8f608d9a9fe03e60af4d7b66 - # via -r .github/requirements/integration.in + # via -r integration.in pyside6-addons==6.11.2 \ --hash=sha256:354c574a839f7d0751960ba03f33bec87c95e0f2796dca3287f54d03abe97dac \ --hash=sha256:a2ca3c73e5f060d4aca49451abd9fba68dd0e1c66ff40cea3a1fe0415def579a \ @@ -925,12 +921,12 @@ pytest==9.1.1 \ --hash=sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313 \ --hash=sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c # via - # -r .github/requirements/integration.in + # -r integration.in # pytest-cov pytest-cov==7.1.0 \ --hash=sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2 \ --hash=sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678 - # via -r .github/requirements/integration.in + # via -r integration.in python-dateutil==2.9.0.post0 \ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 @@ -1009,12 +1005,12 @@ pyyaml==6.0.3 \ --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 - # via -r .github/requirements/integration.in + # via -r integration.in requests==2.34.2 \ --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \ --hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed # via - # -r .github/requirements/integration.in + # -r integration.in # azure-core # boxsdk # dropbox @@ -1029,10 +1025,6 @@ s3transfer==0.19.2 \ --hash=sha256:ba0309fd86be3c27dbf78cdd813c13c5e1df16e5874b99d2535ebbdfb9892993 \ --hash=sha256:d8168eccca828cbb2cd573675333f3bddd254313a9c42494b84c76b539e8ba25 # via boto3 -setuptools==84.0.0 \ - --hash=sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670 \ - --hash=sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73 - # via -r .github/requirements/integration.in shiboken6==6.11.2 \ --hash=sha256:4bbbd6fa4d7cff5ec5e12bc4c10e1d845fa30c89457ecb13cc64f7bddb77f6f9 \ --hash=sha256:53659683b1f7a08e9f87eff9b1065f1ceb7110cd7a4bc09fdf5efe43d286604d \ @@ -1050,38 +1042,7 @@ six==1.17.0 \ smbprotocol==1.17.0 \ --hash=sha256:bcc27edfff7d727a7eb30424138766e1ee216ae2ffc1af03dab0448f29c4731c \ --hash=sha256:bd1abff5417f5af83ca516a64ab8e5acece3dbdcf58d4e5e23e47f5165a77349 - # via -r .github/requirements/integration.in -sspilib==0.6.0 ; sys_platform == 'win32' \ - --hash=sha256:03335e14f8563e350506b47a15887a99f08102a80cfb6bd715ad83ab1c2c89ae \ - --hash=sha256:0482631c67a57d8710ecbba3bbe49a9fb60e153dfcfee6d1f9b8a8ff6e419548 \ - --hash=sha256:05883cd90cb2c67f18fd2418ab0f959549fbe6a9a4fc8013679411af23226d6e \ - --hash=sha256:071e4e2a617a39a33e31de2c1f313427533879acabe475fedea31f129f7970bb \ - --hash=sha256:2758aac58b6ca0aa5b726bdc76cea7d020820ac9831f4082b5b6fceda2cb48d0 \ - --hash=sha256:3b24b6c19657f7b8b74a92e6cadb3ae5e25602ee348a7142cebb5194a0eed01b \ - --hash=sha256:5937dbe41c34cbbfabbafb84238a06aa8912210cae8a4b909fa20f965868cc89 \ - --hash=sha256:68a34e702fd81de3d74ea8caf6bc6a1218af551b75d0573a3b0607124a54e5f2 \ - --hash=sha256:6ad61668c4eea0fdeefd1f596c4fb7b3f45237b1a5989c12d4412729bded7231 \ - --hash=sha256:70223bdfefde9656c48dd17bb58fd0fb7e879e5b08ab028267d585206f393886 \ - --hash=sha256:73343ba40b04de0486ab92f60b729eb0768657f71e4c279555d3273f323c0ce4 \ - --hash=sha256:737adc3b14c2079480bcd10139fbab0b2ad683a24a6046ef69d9c769f4672c0a \ - --hash=sha256:76a289f415f9beb6a2f3f0cb37b655863616c303b2a06754e1bb84ad86348aab \ - --hash=sha256:7ea194eeb68d8848fde7125a7ac67fbd4a9052442b7ce69ce6c0c8115227ec67 \ - --hash=sha256:83f99ed351d3091434f182579d20a419fa7baf03ec154632b5f7f3fbc6aa0788 \ - --hash=sha256:8957c47c6d4e145a9e111a4c2a2b357ea15cb69719ff99fc0088fbd612618226 \ - --hash=sha256:8b4b911f59f03601c23357146814e784c9a7612f34f5b933bdb1c50591b173d0 \ - --hash=sha256:9073afb8f30dc0e7f3a40b39fef0fc29e4bda6a3d4e77936f3c496cedc4beade \ - --hash=sha256:97bb2e9d4d916d4d6f566888a81997bb3ab0e05ac41549fa0fbebabac66de0e8 \ - --hash=sha256:aa97562ca3d27a0ba5c830c56bff0fb6d3c8257bd16589b63869a212de6c92bd \ - --hash=sha256:b4d4e3402230f14cd93999f3953619163075bcaca3e13dcf2ab5942c269627f4 \ - --hash=sha256:b65fa6f90e523daa6eb95c0aa707cd6c04705bdfab3e42c00723d23141bc74ad \ - --hash=sha256:b79f8088f8e2826586e5eb14b68f03f443637df178e95c190765c8065fc57a37 \ - --hash=sha256:b841fabe630101d9e2be6ba56407a2a539087ee85d6ca1477748c21135c9f636 \ - --hash=sha256:be2b500e7b745569794e8cfa557510f6c18e5402ad8f1fa1abe7adf53b3f3964 \ - --hash=sha256:bf125782912e4a9012822619eb41e2c9c0e32cb9148efb649e608804b4b4e313 \ - --hash=sha256:cbc8cf653e71b32ab7cf11d1630866cf12133fb235422f3f9bccb60ba62290e4 \ - --hash=sha256:d239d78f9619d4fc76a9d57eb929258de50024c56097e73737d46ad58be0acaa \ - --hash=sha256:fe8c7c9f749ffd302336a7820889ad9189c237d1f6d24e1232d7e2c653433d5b - # via pyspnego + # via -r integration.in stone==3.5.5 \ --hash=sha256:998e2d0909c859065547f5f54c7d11b66d019882bb4f773e78ec9f2023ca3694 \ --hash=sha256:ff04dcfe37efef6bfe744f59f4df1dd1a43716f47e28d7cf1165eb984a0b2c33 @@ -1089,7 +1050,7 @@ stone==3.5.5 \ tqdm==4.70.1 \ --hash=sha256:c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa73 \ --hash=sha256:cefd0eca11b2a37a3aee776544d4f4ae913f02688135b5556b8788dfa474afc4 - # via -r .github/requirements/integration.in + # via -r integration.in typing-extensions==4.16.0 \ --hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 \ --hash=sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5 @@ -1099,10 +1060,6 @@ typing-extensions==4.16.0 \ # opentelemetry-api # opentelemetry-sdk # opentelemetry-semantic-conventions -tzdata==2026.4 ; sys_platform == 'win32' \ - --hash=sha256:c2169a8b0a7a5e9674da5a135ccdfb2b3e671b333ed9fed17b41f73c34476e81 \ - --hash=sha256:f1b8bd365d8d210c55353f4d7f8d6d8561c0ba50d704b700d195a9424bba0d79 - # via -r .github/requirements/integration.in uritemplate==4.2.0 \ --hash=sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e \ --hash=sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686 @@ -1145,8 +1102,8 @@ watchdog==6.0.0 \ --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 \ --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c \ --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2 - # via -r .github/requirements/integration.in + # via -r integration.in wheel==0.48.0 \ --hash=sha256:3217dcc807155e45db462d7ef2431f5ddda0d7273b700d05a67b271ceb1287ab \ --hash=sha256:94800765601e9171bf5d58d066e640662842bcedcbab982b2c90787a2c987322 - # via -r .github/requirements/integration.in + # via -r integration.in From 18ac11aaa0fa2f2bdb3e125313e3d5d71f7ad97d Mon Sep 17 00:00:00 2001 From: JeffreyChen Date: Mon, 12 Oct 2026 15:16:34 +0800 Subject: [PATCH 2/2] Preserve timezone data and build backend in integration locks --- .github/requirements/.pip-tools.toml | 7 ++ .github/requirements/integration.in | 5 +- .github/requirements/integration.txt | 117 ++++++++++++++++++--------- architecture.md | 2 +- docs/updates/2026-10.md | 5 ++ docs/updates/README.md | 3 +- tests/test_workflow_actions.py | 19 +++++ 7 files changed, 117 insertions(+), 41 deletions(-) create mode 100644 .github/requirements/.pip-tools.toml diff --git a/.github/requirements/.pip-tools.toml b/.github/requirements/.pip-tools.toml new file mode 100644 index 0000000..d64dd4b --- /dev/null +++ b/.github/requirements/.pip-tools.toml @@ -0,0 +1,7 @@ +# Dependabot reads the legacy section; pip-tools reads the tool section. +# setuptools is the required build backend, installed at a reviewed hash. +[pip-tools] +allow-unsafe = true + +[tool.pip-tools] +allow-unsafe = true diff --git a/.github/requirements/integration.in b/.github/requirements/integration.in index 68ffa9c..cf7c349 100644 --- a/.github/requirements/integration.in +++ b/.github/requirements/integration.in @@ -1,6 +1,6 @@ # Python 3.12 integration dependencies, locked for all runner platforms. # Regenerate: uv pip compile --universal --python-version 3.12 --generate-hashes -# --only-binary :all: --exclude-newer 2026-10-02T00:00:00Z +# --only-binary :all: --exclude-newer 2026-10-05T00:00:00Z # .github/requirements/integration.in -o .github/requirements/integration.txt setuptools>=77 wheel @@ -12,7 +12,8 @@ prometheus_client>=0.26.0 defusedxml>=0.7.1 je_action_core>=0.0.2 PyYAML>=6.0.3 -tzdata>=2024.1; platform_system == 'Windows' +# Keep Windows timezone data even when Dependabot recompiles this shared lock on Linux. +tzdata>=2026.5 opentelemetry-api>=1.44.0 opentelemetry-sdk>=1.44.0 tomli>=2.0.1; python_version<"3.11" diff --git a/.github/requirements/integration.txt b/.github/requirements/integration.txt index d962e55..4eeebe9 100644 --- a/.github/requirements/integration.txt +++ b/.github/requirements/integration.txt @@ -1,5 +1,5 @@ # This file was autogenerated by uv via the following command: -# uv pip compile .github/requirements/integration.in --python-version 3.12 --universal --generate-hashes --only-binary=:all: --exclude-newer 2026-10-02 -o .github/requirements/integration.txt +# uv pip compile .github/requirements/integration.in --python-version 3.12 --universal --generate-hashes --only-binary :all: --exclude-newer 2026-10-05T00:00:00Z -o .github/requirements/integration.txt azure-core==1.41.0 \ --hash=sha256:522b4011e8180b1a3dcd2024396a4e7fe9ac37fb8597db47163d230b5efe892d \ --hash=sha256:f46ff5dfcd230f25cf1c19e8a34b8dc08a337b2503e268bb600a16c00db8ad5a @@ -7,7 +7,7 @@ azure-core==1.41.0 \ azure-storage-blob==12.31.0 \ --hash=sha256:0c0cb601d3462491d09ea96023cd791bb9dd4b173bf950daf3cff34ff47ba5b5 \ --hash=sha256:997b393cfcbdc4b186d5911790d91f80387f7edc12c4d73eab963a2d26e5b2a9 - # via -r integration.in + # via -r .github/requirements/integration.in bcrypt==5.0.0 \ --hash=sha256:046ad6db88edb3c5ece4369af997938fb1c19d6a699b9c1b27b0db432faae4c4 \ --hash=sha256:0c418ca99fd47e9c59a301744d63328f17798b5947b0f791e9af3c1c499c2d0a \ @@ -76,22 +76,22 @@ bcrypt==5.0.0 \ boto3==1.43.108 \ --hash=sha256:03341f089158368acf83e921aca98b706095322ca52bc4c039a616940aa5ad41 \ --hash=sha256:19e9da95ef0c494e27052049a42137550e66730509bb613e76eaa30ddf9a7170 - # via -r integration.in -botocore==1.43.111 \ - --hash=sha256:44d5e80962ac6cb9e85af72667b77c9586451e3328ab0ce33195380767e213d8 \ - --hash=sha256:f1f4c28cb2a096bf246d0bb24cbb1a01c5cb696ef499fa71b155adda7b94c90b + # via -r .github/requirements/integration.in +botocore==1.43.108 \ + --hash=sha256:ab9d16c6b4350aaa54ed28202dfa2998b2d735fdbf3247eb60af469d8d48a5b8 \ + --hash=sha256:ee4f75cf3bdbb0da7912e089950e8112f692016539d939312c771499958e6cfd # via # boto3 # s3transfer boxsdk==10.17.0 \ --hash=sha256:86c9a1f665c8879af501c02ec51bbe02247b24f96c6bc39f6890912e70091840 \ --hash=sha256:fe42658185901b80437a0d5b393c91b4a732f3b78d1be11d881aa7484807c9d5 - # via -r integration.in + # via -r .github/requirements/integration.in certifi==2026.7.22 \ --hash=sha256:62f22742b58a1a33014a2b6b706588a8d7e2a88ae7bd1a6ebe8c992928483775 \ --hash=sha256:741e2c3b351ddf169a738da9f2c048608ff7f2c5cc02f1ebc6b118bb090d5d55 # via requests -cffi==2.1.1 \ +cffi==2.1.1 ; platform_python_implementation != 'PyPy' \ --hash=sha256:046bfc24911b37851ee1b51aab8bffe713d89c68c6a057b09484ce9fd5f69b4e \ --hash=sha256:06c72bb76605a4b0cd0aad6930b69d4baf7dd5d806cfc409b824191099700e66 \ --hash=sha256:0beceaabe56af686895136a2de78db54ecd8e4046b236b8fd6d6cb61389e9bf2 \ @@ -369,7 +369,13 @@ charset-normalizer==3.5.2 \ --hash=sha256:fd1fbe0f116b6e55da77aca2c6ddcddcfac2186cbf78bdebf40fc156efca389d \ --hash=sha256:fe9753dfee015c570d73df76f899f18444d41388bffcde097deba51c4fadbb9f # via requests -coverage[toml]==7.16.2 \ +colorama==0.4.6 ; sys_platform == 'win32' \ + --hash=sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44 \ + --hash=sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6 + # via + # pytest + # tqdm +coverage==7.16.2 \ --hash=sha256:00d3eb96e9988c45f50cccd1f1496571ac5c1f91386ac02c4d55516eeda19a24 \ --hash=sha256:01c6908bc613b420c26c818fe948e1b97dfd041a53c98b01c63bd8321f5c9aae \ --hash=sha256:066429634299e14dd2d511e1e85f8f9cecc500781f6b41907c0dd6f1baea7e63 \ @@ -553,7 +559,7 @@ cryptography==50.0.2 \ --hash=sha256:fa8f5efb344d6908a1ce62f4a24e2e5780f825d6f53f5f50ec5ffacac72936cb \ --hash=sha256:fdd28f912fccfec1846a94e2e1e8f9b0012f557f0c46fe4f3eb0d7a87afcf90b # via - # -r integration.in + # -r .github/requirements/integration.in # azure-storage-blob # google-auth # msal @@ -564,15 +570,15 @@ cryptography==50.0.2 \ defusedxml==0.7.1 \ --hash=sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69 \ --hash=sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61 - # via -r integration.in + # via -r .github/requirements/integration.in dropbox==12.2.2 \ --hash=sha256:044d963cdee83a5149e103c792b1a0284f681bb1b6984259cda01244cc3c1a6e \ --hash=sha256:9abc636a57788165c1e1f263971163230ccc26fd448df643c1005e0dc1abd1a3 - # via -r integration.in + # via -r .github/requirements/integration.in fsspec==2026.9.0 \ --hash=sha256:0f08147951c8cb31d844c3547d631053b127863b60be04cf06e121333ee0e2fe \ --hash=sha256:8dd6e646e99ea382bd85f97a45e6b526a442d79423a7dc673f1e2756d05fcb5f - # via -r integration.in + # via -r .github/requirements/integration.in google-api-core==2.40.0 \ --hash=sha256:4b9e0a80024c269ae173136d5439f4ed284651d6e5e2773ba5c694f481f9c0f4 \ --hash=sha256:ebee7d1b138b5362beecec260e6e8988ac97346562c7382ccb6f0ad8435c599f @@ -580,7 +586,7 @@ google-api-core==2.40.0 \ google-api-python-client==2.201.0 \ --hash=sha256:2d9bf1ba3f12eee8ed3d0f1791ce0605d163432f496baa72d3677faa2cf097d6 \ --hash=sha256:d5691982abd7287f53cb0b0e0c6a9984d4103cf864ea0a88cb6e4347bbaf70de - # via -r integration.in + # via -r .github/requirements/integration.in google-auth==2.59.1 \ --hash=sha256:89c3f931683a482ac97e61df7eb9da5e08a91703f3c752b2377d72cfb7d69e6a \ --hash=sha256:ce50fc533ac02f489a2b183a0c156672c376ecb2091b1127bc7efba2975fff27 @@ -593,12 +599,12 @@ google-auth-httplib2==0.4.4 \ --hash=sha256:b931de392c20cfaa351cd789274922bd8cdc001e0e9e96de31b39d71347f8e16 \ --hash=sha256:bbe5d7b2401bb3a4017f4720e1e91bd273ab9a2bb60b84e65edbc0de127852da # via - # -r integration.in + # -r .github/requirements/integration.in # google-api-python-client google-auth-oauthlib==1.5.0 \ --hash=sha256:71625fdea21c6c03217eb9ff13741c3096e6d257ebca0ad084dbd6e9f4aa4ef4 \ --hash=sha256:b351107c7dd9017f426cbb0272ea1bc04f469020fd18f4443c7d40362e0b1510 - # via -r integration.in + # via -r .github/requirements/integration.in googleapis-common-protos==1.75.5 \ --hash=sha256:c7a866fc34ed29a3b10af627a4b9b1dc2433313ca6e959f0ae4feb132047ed72 \ --hash=sha256:d7285525c23039db98f2463e6d5a4f9b958b94d497f03a844ece3259c4e72d5d @@ -628,7 +634,7 @@ isodate==0.7.2 \ je-action-core==0.0.3 \ --hash=sha256:395890665483e58f17fede17aa809bf6e2762ba8f0bd6751126fe46efabb8c85 \ --hash=sha256:7b73ab0172a3c90c91b0a81b8a662350199a35842f529acf7a54706052fb38ee - # via -r integration.in + # via -r .github/requirements/integration.in jinja2==3.1.6 \ --hash=sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d \ --hash=sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67 @@ -733,7 +739,7 @@ markupsafe==3.0.3 \ msal==1.39.0 \ --hash=sha256:2d2577886906cd7293850dffa2da29119966c213bfc6ec0cecf8bf7621e1ca77 \ --hash=sha256:6ab7de335e6d7f5717e2c7e1dbf86e4dda2f6acf3c56773b78dc53ebc6395b5f - # via -r integration.in + # via -r .github/requirements/integration.in oauthlib==4.0.0 \ --hash=sha256:624c28c13a0a59cabf9747dfa52af63be3e512a7f2714df16e91b5b3a145e6cd \ --hash=sha256:efb274799819440f95b4ab3b818869f1ce9ae26c5beacba0201d1a1b76b54f86 @@ -742,14 +748,14 @@ opentelemetry-api==1.45.0 \ --hash=sha256:711ede81773c8025c2c03dac0450bc89f3d30aea6eabcc815c570d4e35a963f7 \ --hash=sha256:80e068aba7cd56c8b58512d6a36f8d25cb1dfaa0c0a4cc1c938ccf9f362d9cb3 # via - # -r integration.in + # -r .github/requirements/integration.in # google-api-core # opentelemetry-sdk # opentelemetry-semantic-conventions opentelemetry-sdk==1.45.0 \ --hash=sha256:20caa5130505e386c67c3da1c76e446c842698ced54c76c6148679539aa97972 \ --hash=sha256:5dc634c946546f61b757c5b1781f9fd1a10e96ffaf7357c797e508fe9c57e75e - # via -r integration.in + # via -r .github/requirements/integration.in opentelemetry-semantic-conventions==0.66b0 \ --hash=sha256:175b19dd98c4473f4f43a2b1df59186fd7b4a48cd3f77cbe03438b6d6fda230a \ --hash=sha256:97a77dce484c54861e7eeff7651fd8a806dd3c30e501dc316730215ec36890e6 @@ -764,7 +770,7 @@ packaging==26.3 \ paramiko==5.0.0 \ --hash=sha256:36763b5b95c2a0dcfdf1abc48e48156ee425b21efe2f0e787c2dd5a95c0e5e79 \ --hash=sha256:b7044611c30140d9a75261653210e2002977b71a0497ff3ba0d98d7edbf62f7c - # via -r integration.in + # via -r .github/requirements/integration.in pluggy==1.6.0 \ --hash=sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3 \ --hash=sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746 @@ -774,7 +780,7 @@ pluggy==1.6.0 \ prometheus-client==0.26.0 \ --hash=sha256:04a91bcf94e2cf74a44a1a874d651a2e853ed354b6e822f3b7487751465d5c2b \ --hash=sha256:fa93d06737aa02bacd05794768508bb97d2fbee28cb3bca04eaae92f0ca953d6 - # via -r integration.in + # via -r .github/requirements/integration.in proto-plus==1.29.0 \ --hash=sha256:8acd070469a7aaf43f440b022ef9757c8cac1a9f866e933f59ae98669ddc6c8b \ --hash=sha256:cfb4e62ad7e13dd18f346cabbda00cab39930d36a05791fd81ddb074d6ee884f @@ -836,7 +842,7 @@ pyarrow==25.0.1 \ --hash=sha256:eb6203482ff3746a5632303a7279ae0b5a304c46985b49ed1378cb350ea6728d \ --hash=sha256:f3831aaa25c67a99f99dc8b05873cb9d64560390372e2aa197ce9dd4a3f06a44 \ --hash=sha256:f729cfdbd36fd99d543b67a914d2de044c84ebe45be8b34902b299b608c15c8f - # via -r integration.in + # via -r .github/requirements/integration.in pyasn1==0.6.4 \ --hash=sha256:9c447d8431c947fe4c8febc4ed9e760bc29011a5b01e5c74b67025bd9fb8ce81 \ --hash=sha256:deda9277cfd454080ec40b207fb6df82206a3a2688735233cdcd8d3d565f088b @@ -845,7 +851,7 @@ pyasn1-modules==0.4.2 \ --hash=sha256:29253a9207ce32b64c3ac6600edc75368f98473906e8fd1043bd6b5b1de2c14a \ --hash=sha256:677091de870a80aae844b1ca6134f54652fa2c8c5a52aa396440ac3106e941e6 # via google-auth -pycparser==3.0 \ +pycparser==3.0 ; implementation_name != 'PyPy' and platform_python_implementation != 'PyPy' \ --hash=sha256:600f49d217304a5902ac3c37e1281c9fe94e4d0489de643a9504c5cdfdfc6b29 \ --hash=sha256:b727414169a36b7d524c1c3e31839a521725078d7b2ff038656844266160a992 # via cffi @@ -853,12 +859,10 @@ pygments==2.21.0 \ --hash=sha256:2363c69b61c4a97c838da3b130dcd6468f4848992b21a82f2a63ec34377137d9 \ --hash=sha256:610ca751c9bc2492b38eb9a38a7fbc93edbbb2d7182edaf34e66ae493dee5c8c # via pytest -pyjwt[crypto]==2.15.1 \ +pyjwt==2.15.1 \ --hash=sha256:42d59d631f7768a1028a64c7ff581a9bf7519804daf91fc5b6c56e30eec5e193 \ --hash=sha256:4f259e80cdfb6b3fc18a7de51fd1ef9ec79652f25019bae68975ca2468a34df8 - # via - # msal - # pyjwt + # via msal pynacl==1.6.2 \ --hash=sha256:018494d6d696ae03c7e656e5e74cdfd8ea1326962cc401bcf018f1ed8436811c \ --hash=sha256:04316d1fc625d860b6c162fff704eb8426b1a8bcd3abacea11142cbd99a6b574 \ @@ -896,7 +900,7 @@ pyside6==6.11.2 \ --hash=sha256:3201d67e3c10be2eaedd3910ff0f02351eca7e88c95a291cde5e7f2f55ef207f \ --hash=sha256:57fe867a6c93821a085d74e8a26f863fc2363516848181c466032595b33b1729 \ --hash=sha256:dc6d03990489a5085842770718392ef5de36352d8f608d9a9fe03e60af4d7b66 - # via -r integration.in + # via -r .github/requirements/integration.in pyside6-addons==6.11.2 \ --hash=sha256:354c574a839f7d0751960ba03f33bec87c95e0f2796dca3287f54d03abe97dac \ --hash=sha256:a2ca3c73e5f060d4aca49451abd9fba68dd0e1c66ff40cea3a1fe0415def579a \ @@ -921,12 +925,12 @@ pytest==9.1.1 \ --hash=sha256:1088fbde8f2b49d95a549a195707afa7a76a3ce9bcadc26b6d71f0ffda5fe313 \ --hash=sha256:37a86b45efb9a47a61a36449063e8e18d0cab3161329fc099eb21783169c4f0c # via - # -r integration.in + # -r .github/requirements/integration.in # pytest-cov pytest-cov==7.1.0 \ --hash=sha256:30674f2b5f6351aa09702a9c8c364f6a01c27aae0c1366ae8016160d1efc56b2 \ --hash=sha256:a0461110b7865f9a271aa1b51e516c9a95de9d696734a2f71e3e78f46e1d4678 - # via -r integration.in + # via -r .github/requirements/integration.in python-dateutil==2.9.0.post0 \ --hash=sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3 \ --hash=sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427 @@ -1005,12 +1009,12 @@ pyyaml==6.0.3 \ --hash=sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6 \ --hash=sha256:fa160448684b4e94d80416c0fa4aac48967a969efe22931448d853ada8baf926 \ --hash=sha256:fc09d0aa354569bc501d4e787133afc08552722d3ab34836a80547331bb5d4a0 - # via -r integration.in + # via -r .github/requirements/integration.in requests==2.34.2 \ --hash=sha256:2a0d60c172f83ac6ab31e4554906c0f3b3588d37b5cb939b1c061f4907e278e0 \ --hash=sha256:f288924cae4e29463698d6d60bc6a4da69c89185ad1e0bcc4104f584e960b9ed # via - # -r integration.in + # -r .github/requirements/integration.in # azure-core # boxsdk # dropbox @@ -1025,6 +1029,10 @@ s3transfer==0.19.2 \ --hash=sha256:ba0309fd86be3c27dbf78cdd813c13c5e1df16e5874b99d2535ebbdfb9892993 \ --hash=sha256:d8168eccca828cbb2cd573675333f3bddd254313a9c42494b84c76b539e8ba25 # via boto3 +setuptools==84.0.0 \ + --hash=sha256:51a52592b3b99e102b609654876bd65f19f999935166d1352678931132b0c670 \ + --hash=sha256:f4695c21257f0d9b537ec2692c941d02ee143b7cc1276941349a546573b2ef73 + # via -r .github/requirements/integration.in shiboken6==6.11.2 \ --hash=sha256:4bbbd6fa4d7cff5ec5e12bc4c10e1d845fa30c89457ecb13cc64f7bddb77f6f9 \ --hash=sha256:53659683b1f7a08e9f87eff9b1065f1ceb7110cd7a4bc09fdf5efe43d286604d \ @@ -1042,7 +1050,38 @@ six==1.17.0 \ smbprotocol==1.17.0 \ --hash=sha256:bcc27edfff7d727a7eb30424138766e1ee216ae2ffc1af03dab0448f29c4731c \ --hash=sha256:bd1abff5417f5af83ca516a64ab8e5acece3dbdcf58d4e5e23e47f5165a77349 - # via -r integration.in + # via -r .github/requirements/integration.in +sspilib==0.6.0 ; sys_platform == 'win32' \ + --hash=sha256:03335e14f8563e350506b47a15887a99f08102a80cfb6bd715ad83ab1c2c89ae \ + --hash=sha256:0482631c67a57d8710ecbba3bbe49a9fb60e153dfcfee6d1f9b8a8ff6e419548 \ + --hash=sha256:05883cd90cb2c67f18fd2418ab0f959549fbe6a9a4fc8013679411af23226d6e \ + --hash=sha256:071e4e2a617a39a33e31de2c1f313427533879acabe475fedea31f129f7970bb \ + --hash=sha256:2758aac58b6ca0aa5b726bdc76cea7d020820ac9831f4082b5b6fceda2cb48d0 \ + --hash=sha256:3b24b6c19657f7b8b74a92e6cadb3ae5e25602ee348a7142cebb5194a0eed01b \ + --hash=sha256:5937dbe41c34cbbfabbafb84238a06aa8912210cae8a4b909fa20f965868cc89 \ + --hash=sha256:68a34e702fd81de3d74ea8caf6bc6a1218af551b75d0573a3b0607124a54e5f2 \ + --hash=sha256:6ad61668c4eea0fdeefd1f596c4fb7b3f45237b1a5989c12d4412729bded7231 \ + --hash=sha256:70223bdfefde9656c48dd17bb58fd0fb7e879e5b08ab028267d585206f393886 \ + --hash=sha256:73343ba40b04de0486ab92f60b729eb0768657f71e4c279555d3273f323c0ce4 \ + --hash=sha256:737adc3b14c2079480bcd10139fbab0b2ad683a24a6046ef69d9c769f4672c0a \ + --hash=sha256:76a289f415f9beb6a2f3f0cb37b655863616c303b2a06754e1bb84ad86348aab \ + --hash=sha256:7ea194eeb68d8848fde7125a7ac67fbd4a9052442b7ce69ce6c0c8115227ec67 \ + --hash=sha256:83f99ed351d3091434f182579d20a419fa7baf03ec154632b5f7f3fbc6aa0788 \ + --hash=sha256:8957c47c6d4e145a9e111a4c2a2b357ea15cb69719ff99fc0088fbd612618226 \ + --hash=sha256:8b4b911f59f03601c23357146814e784c9a7612f34f5b933bdb1c50591b173d0 \ + --hash=sha256:9073afb8f30dc0e7f3a40b39fef0fc29e4bda6a3d4e77936f3c496cedc4beade \ + --hash=sha256:97bb2e9d4d916d4d6f566888a81997bb3ab0e05ac41549fa0fbebabac66de0e8 \ + --hash=sha256:aa97562ca3d27a0ba5c830c56bff0fb6d3c8257bd16589b63869a212de6c92bd \ + --hash=sha256:b4d4e3402230f14cd93999f3953619163075bcaca3e13dcf2ab5942c269627f4 \ + --hash=sha256:b65fa6f90e523daa6eb95c0aa707cd6c04705bdfab3e42c00723d23141bc74ad \ + --hash=sha256:b79f8088f8e2826586e5eb14b68f03f443637df178e95c190765c8065fc57a37 \ + --hash=sha256:b841fabe630101d9e2be6ba56407a2a539087ee85d6ca1477748c21135c9f636 \ + --hash=sha256:be2b500e7b745569794e8cfa557510f6c18e5402ad8f1fa1abe7adf53b3f3964 \ + --hash=sha256:bf125782912e4a9012822619eb41e2c9c0e32cb9148efb649e608804b4b4e313 \ + --hash=sha256:cbc8cf653e71b32ab7cf11d1630866cf12133fb235422f3f9bccb60ba62290e4 \ + --hash=sha256:d239d78f9619d4fc76a9d57eb929258de50024c56097e73737d46ad58be0acaa \ + --hash=sha256:fe8c7c9f749ffd302336a7820889ad9189c237d1f6d24e1232d7e2c653433d5b + # via pyspnego stone==3.5.5 \ --hash=sha256:998e2d0909c859065547f5f54c7d11b66d019882bb4f773e78ec9f2023ca3694 \ --hash=sha256:ff04dcfe37efef6bfe744f59f4df1dd1a43716f47e28d7cf1165eb984a0b2c33 @@ -1050,7 +1089,7 @@ stone==3.5.5 \ tqdm==4.70.1 \ --hash=sha256:c293e525e6fef9c20e8728fd4612df02a0aa31bb5fe91ecd93e123b1b7bffa73 \ --hash=sha256:cefd0eca11b2a37a3aee776544d4f4ae913f02688135b5556b8788dfa474afc4 - # via -r integration.in + # via -r .github/requirements/integration.in typing-extensions==4.16.0 \ --hash=sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8 \ --hash=sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5 @@ -1060,6 +1099,10 @@ typing-extensions==4.16.0 \ # opentelemetry-api # opentelemetry-sdk # opentelemetry-semantic-conventions +tzdata==2026.5 \ + --hash=sha256:8cc73c0a0bfca7dbfa59235d60b2eff82231dee33f53d206db1acd9173cfc0a7 \ + --hash=sha256:b683bd1b6659ddcd810ff02ad09ba821d4bf1065072805063eb35c49617905ac + # via -r .github/requirements/integration.in uritemplate==4.2.0 \ --hash=sha256:480c2ed180878955863323eea31b0ede668795de182617fef9c6ca09e6ec9d0e \ --hash=sha256:962201ba1c4edcab02e60f9a0d3821e82dfc5d2d6662a21abd533879bdb8a686 @@ -1102,8 +1145,8 @@ watchdog==6.0.0 \ --hash=sha256:e6f0e77c9417e7cd62af82529b10563db3423625c5fce018430b249bf977f9e8 \ --hash=sha256:e7631a77ffb1f7d2eefa4445ebbee491c720a5661ddf6df3498ebecae5ed375c \ --hash=sha256:ef810fbf7b781a5a593894e4f439773830bdecb885e6880d957d5b9382a960d2 - # via -r integration.in + # via -r .github/requirements/integration.in wheel==0.48.0 \ --hash=sha256:3217dcc807155e45db462d7ef2431f5ddda0d7273b700d05a67b271ceb1287ab \ --hash=sha256:94800765601e9171bf5d58d066e640662842bcedcbab982b2c90787a2c987322 - # via -r integration.in + # via -r .github/requirements/integration.in diff --git a/architecture.md b/architecture.md index d500aaa..5bffabc 100644 --- a/architecture.md +++ b/architecture.md @@ -41,7 +41,7 @@ piece of the 1.0 roadmap (`docs/FILEAUTOMATION-1.0-ROADMAP.md`, PR #107); what i | `MANIFEST.in` | Keeps `tests/` out of both source distributions (`tests/test_sdist_manifest.py`); package discovery in the TOMLs already keeps it out of the wheels | | `scripts/dev_release.py` | Release helper for the dev channel (standard library only): picks the next `automation_file_dev` version from PyPI and tells whether the built wheel differs from the newest published one | | `.github/requirements/publish.in`, `publish.txt` | The tools of the two publish jobs (`build`, `twine`, and the build backend `setuptools`) and their hash-locked resolution for Python 3.12 on Linux. `publish.in` holds the `uv pip compile` command that regenerates `publish.txt`; Dependabot reads the directory | -| `.github/requirements/lint.in`, `lint.txt`, `integration.in`, `integration.txt` | Hash-locked wheel dependencies for lint and Python 3.12 integration jobs. The editable package uses the locked build backend without dependency resolution or build isolation. | +| `.github/requirements/lint.in`, `lint.txt`, `integration.in`, `integration.txt`, `.pip-tools.toml` | Hash-locked wheel dependencies for lint and Python 3.12 integration jobs. Shared integration inputs retain Windows timezone data on every compiler host; pip-tools configuration keeps the hashed setuptools build backend during Dependabot updates. The editable package uses that backend without dependency resolution or build isolation. | | `main_ui.py` | Development shortcut for `launch_ui()` | | `tests/`, `docs/`, `examples/mcp/` | pytest suite (fixtures, including the shared Qt application lifecycle, in `tests/conftest.py`); Sphinx docs; MCP host configuration example | diff --git a/docs/updates/2026-10.md b/docs/updates/2026-10.md index a59a9cb..7acb3e0 100644 --- a/docs/updates/2026-10.md +++ b/docs/updates/2026-10.md @@ -756,3 +756,8 @@ Index and query commands: [README.md](README.md). New entries go at the end. ## U-20261011-02 · 2026-10-11 · Keep circuit breaker clock fixtures lint clean · #done #ci Name the clock fixture explicitly and request its side effect through usefixtures where no clock value is used. All eight circuit breaker regression tests pass. + + +## U-20261012-01 · 2026-10-12 · Preserve cross-platform integration dependencies during automated updates · #done #ci + +Keep tzdata unconditional in shared integration inputs so Linux-based dependency updates retain Windows timezone data. Add pip-tools configuration for Dependabot and local compilation to retain the hash-locked setuptools build backend. Regenerate the universal Python 3.12 lock with the seven-day release cutoff and add Linux, macOS and Windows compiler regressions. Validation: 37 workflow tests passed; the full local suite passed 5390 tests with 230 optional skips; Ruff lint and format checks passed; mypy reported no issues in 275 source files. Remote service jobs must install the editable package without fetching an unlocked backend. diff --git a/docs/updates/README.md b/docs/updates/README.md index 302e9af..4c3193c 100644 --- a/docs/updates/README.md +++ b/docs/updates/README.md @@ -58,6 +58,7 @@ In the same commit: delete the item from `progress.md`, add a `#done` entry here | ID | Date | Title | Tags | Batch | |---|---|---|---|---| +| U-20261012-01 | 2026-10-12 | Preserve cross-platform integration dependencies during automated updates | #done #ci | [2026-10](2026-10.md) | | U-20261011-02 | 2026-10-11 | Keep circuit breaker clock fixtures lint clean | #done #ci | [2026-10](2026-10.md) | | U-20261011-01 | 2026-10-11 | Integrate open pull requests and stabilize circuit breaker tests | #ci #tests #dependencies | [2026-10](2026-10.md) | | U-20261008-39 | 2026-10-08 | The legacy CLI flags exit 1 when an action failed | #feature #cli #testpioneer | [2026-10](2026-10.md) | @@ -136,5 +137,5 @@ In the same commit: delete the item from `progress.md`, add a `#done` entry here | File | Period | Entries | |---|---|---:| -| [2026-10.md](2026-10.md) | 2026-10 | 52 | +| [2026-10.md](2026-10.md) | 2026-10 | 53 | | [2026-09.md](2026-09.md) | 2026-09 | 21 | diff --git a/tests/test_workflow_actions.py b/tests/test_workflow_actions.py index 4213f30..da04b89 100644 --- a/tests/test_workflow_actions.py +++ b/tests/test_workflow_actions.py @@ -219,6 +219,25 @@ def test_lint_and_integration_jobs_cannot_resolve_unlocked_dependencies(workflow assert "--only-binary :all:" in command +@pytest.mark.parametrize( + "environment", + [ + {"platform_system": "Linux", "sys_platform": "linux"}, + {"platform_system": "Darwin", "sys_platform": "darwin"}, + {"platform_system": "Windows", "sys_platform": "win32"}, + ], + ids=["linux-compiler", "macos-compiler", "windows-compiler"], +) +def test_shared_integration_inputs_keep_timezone_data_on_every_compiler(environment): + """A Linux dependency update must retain Windows timezone data in the shared lock.""" + lines = (_REQUIREMENTS / "integration.in").read_text(encoding="utf-8").splitlines() + requirements = [ + Requirement(line) for line in lines if line.strip() and not line.startswith("#") + ] + timezone = next(item for item in requirements if canonicalize_name(item.name) == "tzdata") + assert timezone.marker is None or timezone.marker.evaluate(environment) + + def test_integration_lock_covers_the_package_and_its_build_backend(): text = (_REQUIREMENTS / "integration.txt").read_text(encoding="utf-8") pins = {canonicalize_name(name): version for name, version in _PIN.findall(text)}