renovate 43.36.3 → 43.38.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/modules/manager/fingerprint.generated.js +1 -1
- package/dist/modules/manager/fingerprint.generated.js.map +1 -1
- package/dist/modules/manager/terraform/base.js +15 -1
- package/dist/modules/manager/terraform/base.js.map +1 -1
- package/dist/workers/repository/update/pr/index.js +3 -2
- package/dist/workers/repository/update/pr/index.js.map +1 -1
- package/package.json +1 -1
- package/renovate-schema.json +2 -2
|
@@ -98,7 +98,7 @@ hashMap.set("setup-cfg", "7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21
|
|
|
98
98
|
hashMap.set("sveltos", "167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709");
|
|
99
99
|
hashMap.set("swift", "9dd5ea9db9a7719e857cb6c07d8052e7cadaf42bcdcc422b8c567b207bc7e8e4");
|
|
100
100
|
hashMap.set("tekton", "4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd");
|
|
101
|
-
hashMap.set("terraform", "
|
|
101
|
+
hashMap.set("terraform", "9189cbd56cdceca57afbfb1480a28a31d78876db90e89c3bfb321701703afb52");
|
|
102
102
|
hashMap.set("terraform-version", "ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa");
|
|
103
103
|
hashMap.set("terragrunt", "b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd");
|
|
104
104
|
hashMap.set("terragrunt-version", "eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','0966c335bd865d689ef5d54b6a4fbc1a8b0883403f3284a1b85f21cbdee0e8b2');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','3240f148b71c7567f784df3adc6937afbd69d7c7f8a40553bb64f5c767f26907');\nhashMap.set('bazelisk','c4c8561ff5857a14db68d70867dcc3cf63605380966b1132c295336e5cef5604');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','09eb044219d74331fea135f50121b7d4d146333eb97e4ccbfa9ddf0eb4012963');\nhashMap.set('bitrise','afdb46fe37fc0307943089e18b6724065394805e628b4b6c4430a6068c494030');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','c7c917ad579dbf031294302bc05bfd5e1053e0e3208c50d9cc425fb0d7785310');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','b04522e682849d52d0389e1bae31d784b89e7aac1788bf76575bf41fc16d1ec0');\nhashMap.set('cake','73eca16006bb82cfe63405b32d1072050fd33c9baa7fda2ec1ea7536ecb6ec4f');\nhashMap.set('cargo','d4c1ee00e1cb9de15fabd129329ce9d8ced0918eeee98c5387e5bcd1c6c67796');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','04ad0bd9744b4a369444ac1a2c417bbc9b941d029d921e0bd8fbe1dcd0e655ad');\nhashMap.set('composer','0e9d4516e440e5bbf22e141d5e2353cdb1ae59c3be2f26abff9e5d2235779027');\nhashMap.set('conan','16b128910a5c855128f5e63f9540fa0c9c6c1a790ec651703268224264cc2234');\nhashMap.set('copier','c2243ee99dee6c667ea087a8d97ce4ff56413768f6b26d4b7699af3bb95df6fc');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','c853d5f943fe7bce7578063b25f8bb1597252726395fedeffc029a78f6321ed7');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','fe2b132bd17f9c0a46ea5877bdaa6671c6452391219c9441e367d44deabd7a9a');\nhashMap.set('flux','bffacf477a9f1a24c7d1964cefcfcf67c34337b6966a52024396cc273e27dc17');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','a286e097a5fcc6c946e792b812871147b39ad93f9ad041b5b3216b100f972e95');\nhashMap.set('github-actions','67d6a125f4b7711a3f9a853ffd09f48fe2db9e650b3430b5501ca304f46c10b8');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','e43a4427261082876bf6b648da34f76349055bee8ad09ab020ef9a5085d7b4e5');\nhashMap.set('gomod','bf627f53383907f2219d5b47f2049f60b8c58ad67455c45484ce04e85e89d3ec');\nhashMap.set('gradle','89a5f64d6eac944e3b4de83d7b1c5d0d1b7985998fd7c3b5d0a8eabbfd2b80b1');\nhashMap.set('gradle-wrapper','7ea77d7ff5a4ef7a319aa187de86c32ac1644a58fba43901f275edf5633fc993');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','2baa991e43f8c38e85051d12749e17c333be488b1b3af7ccb8ac3e97e134272c');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','d91b78dd3648e3acda92ba61c6b867f295176862588957635853cb4274d949a7');\nhashMap.set('hermit','0322c7489c79e76c85ebd802b11f0f55332c40fdfc82eea9ca8b300fef61dc52');\nhashMap.set('homebrew','3cd972c03dc6333a12fd26413150ffe18c0305aa61a16b490e3306fcec9f0000');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','0c15736494cd1e598985f0d49fc39e3cecc7ebeefa2101ccfab98605f92860e2');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','87d87b2c410facdd0400691e87080a3e1ffe83158f51f52cd784442713122f30');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','6faa1a3a70542bc7e84683c31b2fb86468fdf82a25c264cf2f7fc45dbc98b1d8');\nhashMap.set('maven-wrapper','ff10b7b3c33deda4e51a0904aed299522c9ab4d9deb8696faac37672419ba08c');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','2af97573f0705892e3728ea131499d70d0353ed8a82db4cba8f66c1d7515b3fb');\nhashMap.set('mix','7c215ea50304c1269aa324f642ab9cf9a44174497cf451d8060ec09e2446b2a5');\nhashMap.set('nix','9c523d1a3e3e313aa8f278942be6556f3134d2fc979edf210f5722543e558245');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','7d874defce04a6ed616413dff24e5dac22f8b7c7bde7e1e4a8d6290fadcb6c74');\nhashMap.set('nuget','79634f60aeb99c76c76111e394ab1bc92298401b65ee13fbc9a1c91d0102cdd4');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','4c39cffc02e67b96d8c259f1384ea055f2cc1680f1611c1ae239bb5bb84830c7');\nhashMap.set('pep723','105cdc1674da67d48174457bea670c95d8a023e4263d1efc002f02c7f232b5eb');\nhashMap.set('pip-compile','ba65a1188370e4031c1554f4df2b32c513afe4da2f8c151ec008b2de1da3161d');\nhashMap.set('pip_requirements','e3cbe0e891deeeee05bb2f76020dc0c9f24ff4d964ba662267dd2080adfaa511');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','a63361766d23f3688cc50903ca335854f72a951c182b39261c5ec7ea3506d55f');\nhashMap.set('pixi','0223374aadaeaff1532b77663e0c6d88a54902d4f6740ab0c6c57868d661f25c');\nhashMap.set('poetry','c7e9443739418742c5d8fc80cb0905537d0a804133bf792da21a7e6c12edc336');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','01ac02ee8d07ede5fe93045c04176a2dcc402e28378d4b696cb069eb3dad28c4');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','61f9323c91c45227da71d43120fa1eddc41685502be017118975f77b44fb1b8e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','9dd5ea9db9a7719e857cb6c07d8052e7cadaf42bcdcc422b8c567b207bc7e8e4');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','7cb0c9da0d79e89a6ff3708a3e9292626c391aa476674b1c8b5d6aa0043c8890');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','379c146258e12a8cd64a6f580b4ff8a22f0fff318fe906a28a81f338b7db0317');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fingerprint.generated.js","names":[],"sources":["../../../lib/modules/manager/fingerprint.generated.ts"],"sourcesContent":["export const hashMap = new Map<string, string>();\n\nhashMap.set('ansible','1fbc76f78daa14a8c9ab1142e9d1e05c746c0419a9f1455e4279f476590d0c04');\nhashMap.set('ansible-galaxy','8226d47128f2018825d4d6f84794e3183eb79c706045fa7e88491edd5e64106f');\nhashMap.set('argocd','5d35b1992e53130bf83b0e59a0f90ccd3a78919974c69044f306dc5d162f48ce');\nhashMap.set('asdf','1f6fcf620e9c6cd35991380cb6eafb94ec60cd77cbd13335ebe3a1d9727416c9');\nhashMap.set('azure-pipelines','4f635b0ecd388ee266d992e8281fd40e3db2f5867d86fc1cbce72dc33a66e796');\nhashMap.set('batect','fad98996bea8626525ab925f83a6ae0ce9262c53770e7aa7cb448a1e0f1ddf21');\nhashMap.set('batect-wrapper','0966c335bd865d689ef5d54b6a4fbc1a8b0883403f3284a1b85f21cbdee0e8b2');\nhashMap.set('bazel','c6e0ad88ea468664c3a33263baf7452d83d2d37ff09ba920e18f64ee81fd0acb');\nhashMap.set('bazel-module','3240f148b71c7567f784df3adc6937afbd69d7c7f8a40553bb64f5c767f26907');\nhashMap.set('bazelisk','c4c8561ff5857a14db68d70867dcc3cf63605380966b1132c295336e5cef5604');\nhashMap.set('bicep','7246e0bfc06e0e28cbb03ac088c5591f648956b086e106aeb251fe5d628329db');\nhashMap.set('bitbucket-pipelines','09eb044219d74331fea135f50121b7d4d146333eb97e4ccbfa9ddf0eb4012963');\nhashMap.set('bitrise','afdb46fe37fc0307943089e18b6724065394805e628b4b6c4430a6068c494030');\nhashMap.set('buildkite','a93effb1f1c5d65b3277c3b4709924eacde282e8efd028a8e3d8c1ce3ef69407');\nhashMap.set('buildpacks','6bef3cb04d66b5cfbb195adb4829bcbccae6408518706744d291bacf0610421f');\nhashMap.set('bun','c7c917ad579dbf031294302bc05bfd5e1053e0e3208c50d9cc425fb0d7785310');\nhashMap.set('bun-version','df3ae8e4a5de1fa1b4544f3d7fc8117e80adb1e151c46d1ede54a4dbea6521e4');\nhashMap.set('bundler','b04522e682849d52d0389e1bae31d784b89e7aac1788bf76575bf41fc16d1ec0');\nhashMap.set('cake','73eca16006bb82cfe63405b32d1072050fd33c9baa7fda2ec1ea7536ecb6ec4f');\nhashMap.set('cargo','d4c1ee00e1cb9de15fabd129329ce9d8ced0918eeee98c5387e5bcd1c6c67796');\nhashMap.set('cdnurl','d3edf6cdc38e92eb43ff5a2b4e8df6a6a13154cf83244725c39e28d7e6ea9177');\nhashMap.set('circleci','135937d4720718304adb0ba998516f8ce38c3220ccd18b00b8c70c62b45df4da');\nhashMap.set('cloudbuild','8c0c739f7e4082bbfe8e3fdffebaf43e26f70a1314d95b306e9b93e4f4297886');\nhashMap.set('cocoapods','04ad0bd9744b4a369444ac1a2c417bbc9b941d029d921e0bd8fbe1dcd0e655ad');\nhashMap.set('composer','0e9d4516e440e5bbf22e141d5e2353cdb1ae59c3be2f26abff9e5d2235779027');\nhashMap.set('conan','16b128910a5c855128f5e63f9540fa0c9c6c1a790ec651703268224264cc2234');\nhashMap.set('copier','c2243ee99dee6c667ea087a8d97ce4ff56413768f6b26d4b7699af3bb95df6fc');\nhashMap.set('cpanfile','6a1d67d9c8751123deaf0c7f3ac38a07024e960c140f8228fcbcb93954fdca01');\nhashMap.set('crossplane','5c26b1201a1a51454ffb94d829e223a76a781569bf79cdb1e47087c30233ec40');\nhashMap.set('crow','eb9a5f9f95041855dded67bcce3dd54724f690995ed6268d272e8a666ff28fd0');\nhashMap.set('deps-edn','c87dd5e88587147ad1a78f047b814f3c4aa60d6de30d0c49d849391eeaf1b64c');\nhashMap.set('devbox','c853d5f943fe7bce7578063b25f8bb1597252726395fedeffc029a78f6321ed7');\nhashMap.set('devcontainer','24320ed1cb6191d04cb8b2707214d82c08c682597aed1d84f250aa00ad1632ec');\nhashMap.set('docker-compose','5441af5b5abf8d347e46002d47f02f85743401bda28232f49fb7b3bbb772a4fb');\nhashMap.set('dockerfile','322b95f7e55dd78d7fe71306a6f649479eca61c60d75bb10b23604a230dbdd08');\nhashMap.set('droneci','237c8de87b9bf653fb943b56e84e99c45f6d86ae27d86e599b3f3f99c35ba8ee');\nhashMap.set('fleet','fe2b132bd17f9c0a46ea5877bdaa6671c6452391219c9441e367d44deabd7a9a');\nhashMap.set('flux','bffacf477a9f1a24c7d1964cefcfcf67c34337b6966a52024396cc273e27dc17');\nhashMap.set('fvm','9b161df0f14bc6e536368952adf373e343630097121a913cea60ee284027fb90');\nhashMap.set('git-submodules','a286e097a5fcc6c946e792b812871147b39ad93f9ad041b5b3216b100f972e95');\nhashMap.set('github-actions','67d6a125f4b7711a3f9a853ffd09f48fe2db9e650b3430b5501ca304f46c10b8');\nhashMap.set('gitlabci','0dec44dd398bfc5b3c19d0929bea2fef7f386c94acfd1b1d7bc2a31d81d96fd6');\nhashMap.set('gitlabci-include','354cfc4ea327c6d5cd5bee1f17763832efc7f5402e9fd22c579239fccb9c6dab');\nhashMap.set('glasskube','253d6db30bdec75ed5ab5d26f31d69bc07813ba10089a28da12c6a29eff4ec70');\nhashMap.set('gleam','e43a4427261082876bf6b648da34f76349055bee8ad09ab020ef9a5085d7b4e5');\nhashMap.set('gomod','bf627f53383907f2219d5b47f2049f60b8c58ad67455c45484ce04e85e89d3ec');\nhashMap.set('gradle','89a5f64d6eac944e3b4de83d7b1c5d0d1b7985998fd7c3b5d0a8eabbfd2b80b1');\nhashMap.set('gradle-wrapper','7ea77d7ff5a4ef7a319aa187de86c32ac1644a58fba43901f275edf5633fc993');\nhashMap.set('haskell-cabal','d796ec6859e63ab4f1b7030c4016071202c3a44c7c11d4a9131d7e2ba19b396d');\nhashMap.set('helm-requirements','4d90e5e18a380876ad48e21e1ad88ea62e25d973a1ddaa3763447fc0a9f9915b');\nhashMap.set('helm-values','b5c52c6a27d805557418c585c5d3030c95ee641d53057021f3fe060f81b6e1af');\nhashMap.set('helmfile','2baa991e43f8c38e85051d12749e17c333be488b1b3af7ccb8ac3e97e134272c');\nhashMap.set('helmsman','ef9680c612f702c7f07aea9b6e5d811e91214dcfa5755c9f3803e9528090935e');\nhashMap.set('helmv3','d91b78dd3648e3acda92ba61c6b867f295176862588957635853cb4274d949a7');\nhashMap.set('hermit','0322c7489c79e76c85ebd802b11f0f55332c40fdfc82eea9ca8b300fef61dc52');\nhashMap.set('homebrew','3cd972c03dc6333a12fd26413150ffe18c0305aa61a16b490e3306fcec9f0000');\nhashMap.set('html','67c5f3c5c58e96f5dd257ba5987d900cf7fef81d667c3640e96c847b37de35a8');\nhashMap.set('jenkins','268ebfc8a1caf3edeb2192c2b1b2fa4bf18a78a3e731ba20a6c104940a5539f3');\nhashMap.set('jsonnet-bundler','0c15736494cd1e598985f0d49fc39e3cecc7ebeefa2101ccfab98605f92860e2');\nhashMap.set('kotlin-script','99ef296792a0ca575ed31d3defb514b05a58083dc01c52ea0890c69d867ba1dd');\nhashMap.set('kubernetes','87d87b2c410facdd0400691e87080a3e1ffe83158f51f52cd784442713122f30');\nhashMap.set('kustomize','1e44d6ef8622252dac6d9649fb04badd12d4827eb2a55f74792aa9de2b915775');\nhashMap.set('leiningen','133fca2c3423f53f2ccc22518153ddbcafbf0f4812376c77e952eb3d24d81f85');\nhashMap.set('maven','6faa1a3a70542bc7e84683c31b2fb86468fdf82a25c264cf2f7fc45dbc98b1d8');\nhashMap.set('maven-wrapper','ff10b7b3c33deda4e51a0904aed299522c9ab4d9deb8696faac37672419ba08c');\nhashMap.set('meteor','4a93a326b27bedfe52118e27e06f39fecd7c55bd4cd7fccec4cb120cac14cec4');\nhashMap.set('mint','b816a49c8525716454d0a2bc9127916d5b27e5cca7b2aa2030312f218942af3e');\nhashMap.set('mise','2af97573f0705892e3728ea131499d70d0353ed8a82db4cba8f66c1d7515b3fb');\nhashMap.set('mix','7c215ea50304c1269aa324f642ab9cf9a44174497cf451d8060ec09e2446b2a5');\nhashMap.set('nix','9c523d1a3e3e313aa8f278942be6556f3134d2fc979edf210f5722543e558245');\nhashMap.set('nodenv','ac652c28481b001f7471f4183eac07b45d98ecbe83efc275830b0a1b2e0459b8');\nhashMap.set('npm','7d874defce04a6ed616413dff24e5dac22f8b7c7bde7e1e4a8d6290fadcb6c74');\nhashMap.set('nuget','79634f60aeb99c76c76111e394ab1bc92298401b65ee13fbc9a1c91d0102cdd4');\nhashMap.set('nvm','3eb77c7b0acf6d64753de78fad2499b352719853aa6872878c40675d14152322');\nhashMap.set('ocb','032b216684c14b0954e0bb019513a2aca3faaee5748587acb668d377d7c891ca');\nhashMap.set('osgi','32233a1a8a2725699d7448ba438e3d0b78141f7799cd2b588de278d41e26ed10');\nhashMap.set('pep621','4c39cffc02e67b96d8c259f1384ea055f2cc1680f1611c1ae239bb5bb84830c7');\nhashMap.set('pep723','105cdc1674da67d48174457bea670c95d8a023e4263d1efc002f02c7f232b5eb');\nhashMap.set('pip-compile','ba65a1188370e4031c1554f4df2b32c513afe4da2f8c151ec008b2de1da3161d');\nhashMap.set('pip_requirements','e3cbe0e891deeeee05bb2f76020dc0c9f24ff4d964ba662267dd2080adfaa511');\nhashMap.set('pip_setup','0175fe550c19d9bd31c978bd83fdc088cb40fcacd5d6751f640164274ae64e61');\nhashMap.set('pipenv','a63361766d23f3688cc50903ca335854f72a951c182b39261c5ec7ea3506d55f');\nhashMap.set('pixi','0223374aadaeaff1532b77663e0c6d88a54902d4f6740ab0c6c57868d661f25c');\nhashMap.set('poetry','c7e9443739418742c5d8fc80cb0905537d0a804133bf792da21a7e6c12edc336');\nhashMap.set('pre-commit','a6a6e847fdb0f56650e66ef7d69e68de752b390913f79ac31d1a7ec5955d03da');\nhashMap.set('pub','01ac02ee8d07ede5fe93045c04176a2dcc402e28378d4b696cb069eb3dad28c4');\nhashMap.set('puppet','ba58ab689e44acc8f61c3569ab8b40fde01b8a9d3aad712708e2a419e57d8b45');\nhashMap.set('pyenv','9ede8becc97774f9040b40f4472d3e933534b596e04c360bfe0f3c6f95f25182');\nhashMap.set('quadlet','e355e13e104351a8b3516a8e272fc5f7e625c9f39b0c492ba27283a36227c2d4');\nhashMap.set('renovate-config-presets','a394fe55f8b6ba356f29f76efd9f0d34b56baceb111e6d92f95b29b5ca50ac67');\nhashMap.set('ruby-version','2db2140d9eee8c555e729a4de0396fa2d78846d3149890ee12fa515bd654be97');\nhashMap.set('runtime-version','b582b168c0cc595e39010feb10f4b97a82683eb269e9598216fbb11cc186e160');\nhashMap.set('sbt','61f9323c91c45227da71d43120fa1eddc41685502be017118975f77b44fb1b8e');\nhashMap.set('scalafmt','9d36159b56835e96498af026a1fb0543200db0581681ef95ec54988f411e180f');\nhashMap.set('setup-cfg','7dea08c5708625e753bd56918bc214df7fb4d8543a26e936926a21ab43b5f785');\nhashMap.set('sveltos','167a5cc79098803be3b815a28cc40ef3361c455751e1d6a7a99ba91bfce26709');\nhashMap.set('swift','9dd5ea9db9a7719e857cb6c07d8052e7cadaf42bcdcc422b8c567b207bc7e8e4');\nhashMap.set('tekton','4e35c75bba4abc9c3cf49c55da6c19db4f4e9181d1fd9583288ab55ef7c944fd');\nhashMap.set('terraform','9189cbd56cdceca57afbfb1480a28a31d78876db90e89c3bfb321701703afb52');\nhashMap.set('terraform-version','ec8f786b9731d47f2c2fe0307caf64d7ddd83046fe7ff1f7d8423239f8b0f2aa');\nhashMap.set('terragrunt','b8474c65383a702602eee432cc1434f9a49a1ef886d1213de92d7a84fb98b9cd');\nhashMap.set('terragrunt-version','eea6087b33717d22ede2fc68c2f64df8390b75abe82110ed831a180648feb51d');\nhashMap.set('tflint-plugin','4a975f0cc1aa22cd258aa835de3dc98d7a5c0d1cee0a1092324338968e08a827');\nhashMap.set('travis','bb482a0195cd009ec3896a6227bb95617f5c84bedb518c7d971e50c62235d9ca');\nhashMap.set('typst','d080a79fbd961c6e21fcc505d544b7e0ff2126142acb1dcabdf6abbcd9339248');\nhashMap.set('unity3d','f13e25e115e3443f4e16cf31578acffa78fb1a5e23339680a92d8d6de6052920');\nhashMap.set('velaci','fda00ddb7cc23e9a37e0a8a253151df0a6930b4276d3e4f78cc54b9ac09af7de');\nhashMap.set('vendir','379c146258e12a8cd64a6f580b4ff8a22f0fff318fe906a28a81f338b7db0317');\nhashMap.set('woodpecker','6110d3bec33aaeb3511d4bbfa896cec3c8e02fb04a6cff50c9ba81061c851045');\nhashMap.set('jsonata','3b5f465b586993f92c8490e70885e7eecce9b6556bcc376dd9c11db8ee9e6960');\nhashMap.set('regex','7b643b49e498465cf91b25b8b840bb1fec8c8a3a59bfa8f97a39c976675325a0');"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { regEx } from "../../../util/regex.js";
|
|
2
|
+
import { logger } from "../../../logger/index.js";
|
|
2
3
|
import { TerraformProviderDatasource } from "../../datasource/terraform-provider/index.js";
|
|
3
4
|
import { getLockedVersion, massageProviderLookupName } from "./util.js";
|
|
4
5
|
import { isNonEmptyString } from "@sindresorhus/is";
|
|
@@ -21,7 +22,20 @@ var TerraformProviderExtractor = class extends DependencyExtractor {
|
|
|
21
22
|
else if (source.groups.hostname) {
|
|
22
23
|
dep.registryUrls = [`https://${source.groups.hostname}`];
|
|
23
24
|
dep.packageName = `${source.groups.namespace}/${source.groups.type}`;
|
|
24
|
-
} else
|
|
25
|
+
} else {
|
|
26
|
+
dep.packageName = dep.managerData?.source;
|
|
27
|
+
const foundLocks = locks.filter((lock) => lock.packageName === dep.packageName);
|
|
28
|
+
if (foundLocks.length === 1 && foundLocks[0].registryUrl !== TerraformProviderDatasource.defaultRegistryUrls[0]) {
|
|
29
|
+
logger.debug({
|
|
30
|
+
dep,
|
|
31
|
+
foundLocks
|
|
32
|
+
}, "Terraform: Single lock found for provider with non-default registry URL");
|
|
33
|
+
dep.registryUrls = [foundLocks[0].registryUrl];
|
|
34
|
+
} else if (foundLocks.length > 1) logger.debug({
|
|
35
|
+
dep,
|
|
36
|
+
foundLocks
|
|
37
|
+
}, "Terraform: Multiple locks found for provider unable to determine registry URL");
|
|
38
|
+
}
|
|
25
39
|
}
|
|
26
40
|
massageProviderLookupName(dep);
|
|
27
41
|
dep.lockedVersion = getLockedVersion(dep, locks);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/manager/terraform/base.ts"],"sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { regEx } from '../../../util/regex.ts';\nimport { TerraformProviderDatasource } from '../../datasource/terraform-provider/index.ts';\nimport type { ExtractConfig, PackageDependency } from '../types.ts';\nimport type { TerraformDefinitionFile } from './hcl/types.ts';\nimport type { ProviderLock } from './lockfile/types.ts';\nimport { getLockedVersion, massageProviderLookupName } from './util.ts';\n\nexport abstract class DependencyExtractor {\n /**\n * Get a list of signals which can be used to scan for potential processable content\n * @return a list of content signals\n */\n abstract getCheckList(): string[];\n\n /**\n * Extract dependencies from a HCL object\n * @param hclRoot HCL parsing artifact.\n * @param locks currently existing locks\n */\n abstract extract(\n hclRoot: TerraformDefinitionFile,\n locks: ProviderLock[],\n config: ExtractConfig,\n ): PackageDependency[];\n}\n\nexport abstract class TerraformProviderExtractor extends DependencyExtractor {\n sourceExtractionRegex = regEx(\n /^(?:(?<hostname>(?:[a-zA-Z0-9-_]+\\.+)+[a-zA-Z0-9-_]+)\\/)?(?:(?<namespace>[^/]+)\\/)?(?<type>[^/]+)/,\n );\n\n protected analyzeTerraformProvider(\n dep: PackageDependency,\n locks: ProviderLock[],\n depType: string,\n ): PackageDependency {\n dep.depType = depType;\n dep.depName = dep.managerData?.moduleName;\n dep.datasource = TerraformProviderDatasource.id;\n\n if (isNonEmptyString(dep.managerData?.source)) {\n // TODO #22198\n const source = this.sourceExtractionRegex.exec(dep.managerData.source);\n if (!source?.groups) {\n dep.skipReason = 'unsupported-url';\n return dep;\n }\n\n // buildin providers https://github.com/terraform-providers\n if (source.groups.namespace === 'terraform-providers') {\n dep.registryUrls = [`https://releases.hashicorp.com`];\n } else if (source.groups.hostname) {\n dep.registryUrls = [`https://${source.groups.hostname}`];\n dep.packageName = `${source.groups.namespace}/${source.groups.type}`;\n } else {\n dep.packageName = dep.managerData?.source;\n }\n }\n massageProviderLookupName(dep);\n\n dep.lockedVersion = getLockedVersion(dep, locks);\n\n if (!dep.currentValue) {\n dep.skipReason = 'unspecified-version';\n }\n\n return dep;\n }\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"base.js","names":[],"sources":["../../../../lib/modules/manager/terraform/base.ts"],"sourcesContent":["import { isNonEmptyString } from '@sindresorhus/is';\nimport { logger } from '../../../logger/index.ts';\nimport { regEx } from '../../../util/regex.ts';\nimport { TerraformProviderDatasource } from '../../datasource/terraform-provider/index.ts';\nimport type { ExtractConfig, PackageDependency } from '../types.ts';\nimport type { TerraformDefinitionFile } from './hcl/types.ts';\nimport type { ProviderLock } from './lockfile/types.ts';\nimport { getLockedVersion, massageProviderLookupName } from './util.ts';\n\nexport abstract class DependencyExtractor {\n /**\n * Get a list of signals which can be used to scan for potential processable content\n * @return a list of content signals\n */\n abstract getCheckList(): string[];\n\n /**\n * Extract dependencies from a HCL object\n * @param hclRoot HCL parsing artifact.\n * @param locks currently existing locks\n */\n abstract extract(\n hclRoot: TerraformDefinitionFile,\n locks: ProviderLock[],\n config: ExtractConfig,\n ): PackageDependency[];\n}\n\nexport abstract class TerraformProviderExtractor extends DependencyExtractor {\n sourceExtractionRegex = regEx(\n /^(?:(?<hostname>(?:[a-zA-Z0-9-_]+\\.+)+[a-zA-Z0-9-_]+)\\/)?(?:(?<namespace>[^/]+)\\/)?(?<type>[^/]+)/,\n );\n\n protected analyzeTerraformProvider(\n dep: PackageDependency,\n locks: ProviderLock[],\n depType: string,\n ): PackageDependency {\n dep.depType = depType;\n dep.depName = dep.managerData?.moduleName;\n dep.datasource = TerraformProviderDatasource.id;\n\n if (isNonEmptyString(dep.managerData?.source)) {\n // TODO #22198\n const source = this.sourceExtractionRegex.exec(dep.managerData.source);\n if (!source?.groups) {\n dep.skipReason = 'unsupported-url';\n return dep;\n }\n\n // buildin providers https://github.com/terraform-providers\n if (source.groups.namespace === 'terraform-providers') {\n dep.registryUrls = [`https://releases.hashicorp.com`];\n } else if (source.groups.hostname) {\n dep.registryUrls = [`https://${source.groups.hostname}`];\n dep.packageName = `${source.groups.namespace}/${source.groups.type}`;\n } else {\n dep.packageName = dep.managerData?.source;\n const foundLocks = locks.filter(\n (lock) => lock.packageName === dep.packageName,\n );\n\n if (\n foundLocks.length === 1 &&\n foundLocks[0].registryUrl !==\n TerraformProviderDatasource.defaultRegistryUrls[0]\n ) {\n logger.debug(\n { dep, foundLocks },\n 'Terraform: Single lock found for provider with non-default registry URL',\n );\n dep.registryUrls = [foundLocks[0].registryUrl];\n } else if (foundLocks.length > 1) {\n logger.debug(\n { dep, foundLocks },\n 'Terraform: Multiple locks found for provider unable to determine registry URL',\n );\n }\n }\n }\n massageProviderLookupName(dep);\n\n dep.lockedVersion = getLockedVersion(dep, locks);\n\n if (!dep.currentValue) {\n dep.skipReason = 'unspecified-version';\n }\n\n return dep;\n }\n}\n"],"mappings":";;;;;;;AASA,IAAsB,sBAAtB,MAA0C;AAmB1C,IAAsB,6BAAtB,cAAyD,oBAAoB;CAC3E,wBAAwB,MACtB,oGACD;CAED,AAAU,yBACR,KACA,OACA,SACmB;AACnB,MAAI,UAAU;AACd,MAAI,UAAU,IAAI,aAAa;AAC/B,MAAI,aAAa,4BAA4B;AAE7C,MAAI,iBAAiB,IAAI,aAAa,OAAO,EAAE;GAE7C,MAAM,SAAS,KAAK,sBAAsB,KAAK,IAAI,YAAY,OAAO;AACtE,OAAI,CAAC,QAAQ,QAAQ;AACnB,QAAI,aAAa;AACjB,WAAO;;AAIT,OAAI,OAAO,OAAO,cAAc,sBAC9B,KAAI,eAAe,CAAC,iCAAiC;YAC5C,OAAO,OAAO,UAAU;AACjC,QAAI,eAAe,CAAC,WAAW,OAAO,OAAO,WAAW;AACxD,QAAI,cAAc,GAAG,OAAO,OAAO,UAAU,GAAG,OAAO,OAAO;UACzD;AACL,QAAI,cAAc,IAAI,aAAa;IACnC,MAAM,aAAa,MAAM,QACtB,SAAS,KAAK,gBAAgB,IAAI,YACpC;AAED,QACE,WAAW,WAAW,KACtB,WAAW,GAAG,gBACZ,4BAA4B,oBAAoB,IAClD;AACA,YAAO,MACL;MAAE;MAAK;MAAY,EACnB,0EACD;AACD,SAAI,eAAe,CAAC,WAAW,GAAG,YAAY;eACrC,WAAW,SAAS,EAC7B,QAAO,MACL;KAAE;KAAK;KAAY,EACnB,gFACD;;;AAIP,4BAA0B,IAAI;AAE9B,MAAI,gBAAgB,iBAAiB,KAAK,MAAM;AAEhD,MAAI,CAAC,IAAI,aACP,KAAI,aAAa;AAGnB,SAAO"}
|
|
@@ -280,7 +280,7 @@ async function ensurePr(prConfig) {
|
|
|
280
280
|
if (config.updateType === "rollback") logger.info("Creating Rollback PR");
|
|
281
281
|
let pr;
|
|
282
282
|
if (GlobalConfig.get("dryRun")) {
|
|
283
|
-
logger.info("DRY-RUN: Would create PR: " + prTitle);
|
|
283
|
+
logger.info({ labels: prepareLabels(config) }, "DRY-RUN: Would create PR: " + prTitle);
|
|
284
284
|
pr = { number: 0 };
|
|
285
285
|
} else try {
|
|
286
286
|
if (!dependencyDashboardCheck && isLimitReached("ConcurrentPRs", prConfig) && !config.isVulnerabilityAlert) {
|
|
@@ -304,7 +304,8 @@ async function ensurePr(prConfig) {
|
|
|
304
304
|
incCountValue("HourlyPRs");
|
|
305
305
|
logger.info({
|
|
306
306
|
pr: pr?.number,
|
|
307
|
-
prTitle
|
|
307
|
+
prTitle,
|
|
308
|
+
labels: pr?.labels
|
|
308
309
|
}, "PR created");
|
|
309
310
|
} catch (err) {
|
|
310
311
|
logger.debug({ err }, "Pull request creation error");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":[],"sources":["../../../../../lib/workers/repository/update/pr/index.ts"],"sourcesContent":["import { isArray, isNonEmptyArray, isNumber } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global.ts';\nimport type { RenovateConfig } from '../../../../config/types.ts';\nimport {\n PLATFORM_INTEGRATION_UNAUTHORIZED,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n REPOSITORY_CHANGED,\n} from '../../../../constants/error-messages.ts';\nimport { pkg } from '../../../../expose.ts';\nimport { logger } from '../../../../logger/index.ts';\nimport { ensureComment } from '../../../../modules/platform/comment.ts';\nimport type {\n PlatformPrOptions,\n Pr,\n PrDebugData,\n UpdatePrConfig,\n} from '../../../../modules/platform/index.ts';\nimport { platform } from '../../../../modules/platform/index.ts';\nimport {\n getPrBodyStruct,\n hashBody,\n} from '../../../../modules/platform/pr-body.ts';\nimport { scm } from '../../../../modules/platform/scm.ts';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error.ts';\nimport { getElapsedHours } from '../../../../util/date.ts';\nimport { stripEmojis } from '../../../../util/emoji.ts';\nimport { fingerprint } from '../../../../util/fingerprint.ts';\nimport { getBranchLastCommitTime } from '../../../../util/git/index.ts';\nimport { memoize } from '../../../../util/memoize.ts';\nimport { incCountValue, isLimitReached } from '../../../global/limits.ts';\nimport type {\n BranchConfig,\n BranchUpgradeConfig,\n PrBlockedBy,\n} from '../../../types.ts';\nimport { embedChangelogs } from '../../changelog/index.ts';\nimport { resolveBranchStatus } from '../branch/status-checks.ts';\nimport { getPrBody } from './body/index.ts';\nimport {\n getChangedLabels,\n prepareLabels,\n shouldUpdateLabels,\n} from './labels.ts';\nimport { addParticipants } from './participants.ts';\nimport { getPrCache, setPrCache } from './pr-cache.ts';\nimport {\n generatePrBodyFingerprintConfig,\n validatePrCache,\n} from './pr-fingerprint.ts';\nimport { tryReuseAutoclosedPr } from './pr-reuse.ts';\n\nexport function getPlatformPrOptions(\n config: RenovateConfig & PlatformPrOptions,\n): PlatformPrOptions {\n const usePlatformAutomerge = Boolean(\n config.automerge &&\n (config.automergeType === 'pr' || config.automergeType === 'branch') &&\n config.platformAutomerge,\n );\n\n return {\n autoApprove: !!config.autoApprove,\n automergeStrategy: config.automergeStrategy,\n azureWorkItemId: config.azureWorkItemId ?? 0,\n bbAutoResolvePrTasks: !!config.bbAutoResolvePrTasks,\n bbUseDefaultReviewers: !!config.bbUseDefaultReviewers,\n gitLabIgnoreApprovals: !!config.gitLabIgnoreApprovals,\n forkModeDisallowMaintainerEdits: !!config.forkModeDisallowMaintainerEdits,\n usePlatformAutomerge,\n };\n}\n\nexport interface ResultWithPr {\n type: 'with-pr';\n pr: Pr;\n}\n\nexport interface ResultWithoutPr {\n type: 'without-pr';\n prBlockedBy: PrBlockedBy;\n}\n\nexport type EnsurePrResult = ResultWithPr | ResultWithoutPr;\n\nexport function updatePrDebugData(\n targetBranch: string,\n labels: string[],\n debugData: PrDebugData | undefined,\n): PrDebugData {\n const createdByRenovateVersion = debugData?.createdInVer ?? pkg.version;\n const updatedByRenovateVersion = pkg.version;\n\n const updatedPrDebugData: PrDebugData = {\n createdInVer: createdByRenovateVersion,\n updatedInVer: updatedByRenovateVersion,\n targetBranch,\n };\n\n // Add labels to the debug data object.\n // When to add:\n // 1. Add it when a new PR is created, i.e., when debugData is undefined.\n // 2. Add it if an existing PR already has labels in the debug data, confirming that we can update its labels.\n if (!debugData || isArray(debugData.labels)) {\n updatedPrDebugData.labels = labels;\n }\n\n return updatedPrDebugData;\n}\n\nfunction hasNotIgnoredReviewers(pr: Pr, config: BranchConfig): boolean {\n if (\n isNonEmptyArray(config.ignoreReviewers) &&\n isNonEmptyArray(pr.reviewers)\n ) {\n const ignoreReviewers = new Set(config.ignoreReviewers);\n return (\n pr.reviewers.filter((reviewer) => !ignoreReviewers.has(reviewer)).length >\n 0\n );\n }\n return isNonEmptyArray(pr.reviewers);\n}\n\nfunction addPullRequestNoteIfAttestationHasBeenLost(\n upgrade: BranchUpgradeConfig,\n): void {\n const { packageName, depName, currentVersion, newVersion } = upgrade;\n const name = packageName ?? depName;\n\n const currentRelease = upgrade.releases?.find(\n (release) => release.version === currentVersion,\n );\n const newRelease = upgrade.releases?.find(\n (release) => release.version === newVersion,\n );\n\n if (\n currentRelease &&\n newRelease &&\n currentRelease.attestation === true &&\n newRelease.attestation !== true\n ) {\n upgrade.prBodyNotes ??= [];\n upgrade.prBodyNotes.push(\n [\n '> :stop_sign: **Caution**',\n '>',\n `> ${name} ${currentVersion} was released with an attestation, but ${newVersion} has no attestation.`,\n `> Verify that release ${newVersion} was published by the expected author.`,\n '\\n',\n ].join('\\n'),\n );\n }\n}\n\n// Ensures that PR exists with matching title/body\nexport async function ensurePr(\n prConfig: BranchConfig,\n): Promise<EnsurePrResult> {\n const config: BranchConfig = { ...prConfig };\n const filteredPrConfig = generatePrBodyFingerprintConfig(config);\n const prBodyFingerprint = fingerprint(filteredPrConfig);\n logger.trace({ config }, 'ensurePr');\n // If there is a group, it will use the config of the first upgrade in the array\n const {\n branchName,\n ignoreTests,\n internalChecksAsSuccess,\n prTitle = '',\n upgrades,\n } = config;\n const getBranchStatus = memoize(() =>\n resolveBranchStatus(branchName, !!internalChecksAsSuccess, ignoreTests),\n );\n const dependencyDashboardCheck =\n config.dependencyDashboardChecks?.[config.branchName];\n // Check if PR already exists\n const existingPr =\n (await platform.getBranchPr(branchName, config.baseBranch)) ??\n (await tryReuseAutoclosedPr(branchName, prTitle));\n const prCache = getPrCache(branchName);\n if (existingPr) {\n logger.debug('Found existing PR');\n if (existingPr.bodyStruct?.rebaseRequested) {\n logger.debug('PR rebase requested, so skipping cache check');\n } else if (prCache) {\n logger.trace({ prCache }, 'Found existing PR cache');\n // return if pr cache is valid and pr was not changed in the past 24hrs\n if (validatePrCache(prCache, prBodyFingerprint)) {\n return { type: 'with-pr', pr: existingPr };\n }\n } else if (config.repositoryCache === 'enabled') {\n logger.debug('PR cache not found');\n }\n }\n config.upgrades = [];\n\n if (config.artifactErrors?.length) {\n logger.debug('Forcing PR because of artifact errors');\n config.forcePr = true;\n }\n\n if (dependencyDashboardCheck === 'approvePr') {\n logger.debug('Forcing PR because of dependency dashboard approval');\n config.forcePr = true;\n }\n\n if (!existingPr) {\n // Only create a PR if a branch automerge has failed\n if (\n config.automerge === true &&\n config.automergeType?.startsWith('branch') &&\n !config.forcePr\n ) {\n logger.debug(`Branch automerge is enabled`);\n if (\n config.stabilityStatus !== 'yellow' &&\n (await getBranchStatus()) === 'yellow' &&\n isNumber(config.prNotPendingHours)\n ) {\n logger.debug('Checking how long this branch has been pending');\n const lastCommitTime = await getBranchLastCommitTime(branchName);\n if (getElapsedHours(lastCommitTime) >= config.prNotPendingHours) {\n logger.debug(\n `Branch exceeds prNotPending=${config.prNotPendingHours}, hours - forcing PR creation`,\n );\n config.forcePr = true;\n }\n }\n if (config.forcePr || (await getBranchStatus()) === 'red') {\n logger.debug(`Branch tests failed, so will create PR`);\n } else {\n // Branch should be automerged, so we don't want to create a PR\n return { type: 'without-pr', prBlockedBy: 'BranchAutomerge' };\n }\n }\n if (config.prCreation === 'status-success') {\n logger.debug('Checking branch combined status');\n if ((await getBranchStatus()) !== 'green') {\n logger.debug(`Branch status isn't green - not creating PR`);\n return { type: 'without-pr', prBlockedBy: 'AwaitingTests' };\n }\n logger.debug('Branch status success');\n } else if (\n config.prCreation === 'approval' &&\n dependencyDashboardCheck !== 'approvePr'\n ) {\n return { type: 'without-pr', prBlockedBy: 'NeedsApproval' };\n } else if (config.prCreation === 'not-pending' && !config.forcePr) {\n logger.debug('Checking branch combined status');\n if ((await getBranchStatus()) === 'yellow') {\n logger.debug(`Branch status is yellow - checking timeout`);\n const lastCommitTime = await getBranchLastCommitTime(branchName);\n const elapsedHours = getElapsedHours(lastCommitTime);\n if (\n !dependencyDashboardCheck &&\n ((config.stabilityStatus && config.stabilityStatus !== 'yellow') ||\n (isNumber(config.prNotPendingHours) &&\n elapsedHours < config.prNotPendingHours))\n ) {\n logger.debug(\n `Branch is ${elapsedHours} hours old - skipping PR creation as prNotPendingHours is set to ${config.prNotPendingHours}`,\n );\n return {\n type: 'without-pr',\n prBlockedBy: 'AwaitingTests',\n };\n }\n const prNotPendingHours = String(config.prNotPendingHours);\n logger.debug(\n `prNotPendingHours=${prNotPendingHours} threshold hit - creating PR`,\n );\n }\n logger.debug('Branch status success');\n }\n }\n\n const processedUpgrades: string[] = [];\n const commitRepos: string[] = [];\n\n function getRepoNameWithSourceDirectory(\n upgrade: BranchUpgradeConfig,\n ): string {\n // TODO: types (#22198)\n return `${upgrade.repoName!}${\n upgrade.sourceDirectory ? `:${upgrade.sourceDirectory}` : ''\n }`;\n }\n\n if (config.fetchChangeLogs === 'pr') {\n // fetch changelogs when not already done;\n await embedChangelogs(upgrades);\n }\n\n // Get changelog and then generate template strings\n for (const upgrade of upgrades) {\n // TODO: types (#22198)\n const upgradeKey = `${upgrade.depType!}-${upgrade.depName!}-${upgrade.manager}-${upgrade.currentVersion ?? ''}-${upgrade.currentValue ?? ''}-${upgrade.newVersion ?? ''}-${upgrade.newValue ?? ''}`;\n if (processedUpgrades.includes(upgradeKey)) {\n continue;\n }\n processedUpgrades.push(upgradeKey);\n\n const logJSON = upgrade.logJSON;\n\n if (logJSON) {\n if (typeof logJSON.error === 'undefined') {\n if (logJSON.project) {\n upgrade.repoName = logJSON.project.repository;\n }\n upgrade.hasReleaseNotes = false;\n upgrade.releases = [];\n if (\n logJSON.hasReleaseNotes &&\n upgrade.repoName &&\n !commitRepos.includes(getRepoNameWithSourceDirectory(upgrade))\n ) {\n commitRepos.push(getRepoNameWithSourceDirectory(upgrade));\n upgrade.hasReleaseNotes = logJSON.hasReleaseNotes;\n if (logJSON.versions) {\n for (const version of logJSON.versions) {\n const release = { ...version };\n upgrade.releases.push(release);\n }\n }\n }\n } else if (logJSON.error === 'MissingGithubToken') {\n upgrade.prBodyNotes ??= [];\n upgrade.prBodyNotes.push(\n [\n '> :exclamation: **Important**',\n '> ',\n '> Release Notes retrieval for this PR were skipped because no github.com credentials were available. ',\n '> If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).',\n '\\n',\n ].join('\\n'),\n );\n }\n }\n\n addPullRequestNoteIfAttestationHasBeenLost(upgrade);\n\n config.upgrades.push(upgrade);\n }\n\n config.hasReleaseNotes = config.upgrades.some((upg) => upg.hasReleaseNotes);\n\n const releaseNotesSources: string[] = [];\n for (const upgrade of config.upgrades) {\n let notesSourceUrl = upgrade.releases?.[0]?.releaseNotes?.notesSourceUrl;\n // TODO: types (#22198)\n notesSourceUrl ??= `${upgrade.sourceUrl!}${\n upgrade.sourceDirectory ? `:${upgrade.sourceDirectory}` : ''\n }`;\n\n if (upgrade.hasReleaseNotes && notesSourceUrl) {\n if (releaseNotesSources.includes(notesSourceUrl)) {\n logger.debug(\n { depName: upgrade.depName },\n 'Removing duplicate release notes',\n );\n upgrade.hasReleaseNotes = false;\n } else {\n releaseNotesSources.push(notesSourceUrl);\n }\n }\n }\n\n const prBody = getPrBody(\n config,\n {\n debugData: updatePrDebugData(\n config.baseBranch,\n prepareLabels(config), // include labels in debug data\n existingPr?.bodyStruct?.debugData,\n ),\n },\n config,\n );\n\n try {\n if (existingPr) {\n logger.debug('Processing existing PR');\n\n if (\n !existingPr.hasAssignees &&\n !hasNotIgnoredReviewers(existingPr, config) &&\n config.automerge &&\n !config.assignAutomerge &&\n (await getBranchStatus()) === 'red'\n ) {\n logger.debug(`Setting assignees and reviewers as status checks failed`);\n await addParticipants(config, existingPr);\n }\n // Check if existing PR needs updating\n const existingPrTitle = stripEmojis(existingPr.title);\n const existingPrBodyHash = existingPr.bodyStruct?.hash;\n const newPrTitle = stripEmojis(prTitle);\n const newPrBodyHash = hashBody(prBody);\n\n const prInitialLabels = existingPr.bodyStruct?.debugData?.labels;\n const prCurrentLabels = existingPr.labels;\n const configuredLabels = prepareLabels(config);\n\n const labelsNeedUpdate = shouldUpdateLabels(\n prInitialLabels,\n prCurrentLabels,\n configuredLabels,\n );\n\n if (\n existingPr?.targetBranch === config.baseBranch &&\n existingPrTitle === newPrTitle &&\n existingPrBodyHash === newPrBodyHash &&\n !labelsNeedUpdate\n ) {\n // adds or-cache for existing PRs\n setPrCache(branchName, prBodyFingerprint, false);\n logger.debug(\n `Pull Request #${existingPr.number} does not need updating`,\n );\n return { type: 'with-pr', pr: existingPr };\n }\n\n const updatePrConfig: UpdatePrConfig = {\n number: existingPr.number,\n prTitle,\n prBody,\n platformPrOptions: getPlatformPrOptions(config),\n };\n // PR must need updating\n if (existingPr?.targetBranch !== config.baseBranch) {\n logger.debug(\n {\n branchName,\n oldBaseBranch: existingPr?.targetBranch,\n newBaseBranch: config.baseBranch,\n },\n 'PR base branch has changed',\n );\n updatePrConfig.targetBranch = config.baseBranch;\n }\n\n if (labelsNeedUpdate) {\n logger.debug(\n {\n branchName,\n prCurrentLabels,\n configuredLabels,\n },\n 'PR labels have changed',\n );\n\n // Divide labels into three categories:\n // i) addLabels: Labels that need to be added\n // ii) removeLabels: Labels that need to be removed\n // iii) labels: New labels for the PR, replacing the old labels array entirely.\n // This distinction is necessary because different platforms update labels differently\n // For more details, refer to the updatePr function of each platform.\n\n const [addLabels, removeLabels] = getChangedLabels(\n prCurrentLabels,\n configuredLabels,\n );\n\n // for Gitea\n updatePrConfig.labels = configuredLabels;\n\n // for GitHub, GitLab\n updatePrConfig.addLabels = addLabels;\n updatePrConfig.removeLabels = removeLabels;\n }\n if (existingPrTitle !== newPrTitle) {\n logger.debug(\n {\n branchName,\n oldPrTitle: existingPr.title,\n newPrTitle: prTitle,\n },\n 'PR title changed',\n );\n } else if (!config.committedFiles && !config.rebaseRequested) {\n logger.debug(\n {\n prTitle,\n },\n 'PR body changed',\n );\n }\n\n if (GlobalConfig.get('dryRun')) {\n logger.info(`DRY-RUN: Would update PR #${existingPr.number}`);\n return { type: 'with-pr', pr: existingPr };\n } else {\n await platform.updatePr(updatePrConfig);\n logger.info({ pr: existingPr.number, prTitle }, `PR updated`);\n setPrCache(branchName, prBodyFingerprint, true);\n }\n return {\n type: 'with-pr',\n pr: {\n ...existingPr,\n bodyStruct: getPrBodyStruct(prBody),\n title: prTitle,\n targetBranch: config.baseBranch,\n },\n };\n }\n logger.debug({ branch: branchName, prTitle }, `Creating PR`);\n if (config.updateType === 'rollback') {\n logger.info('Creating Rollback PR');\n }\n let pr: Pr | null;\n if (GlobalConfig.get('dryRun')) {\n logger.info('DRY-RUN: Would create PR: ' + prTitle);\n pr = { number: 0 } as never;\n } else {\n try {\n if (\n !dependencyDashboardCheck &&\n isLimitReached('ConcurrentPRs', prConfig) &&\n !config.isVulnerabilityAlert\n ) {\n logger.debug('Skipping PR - limit reached');\n return { type: 'without-pr', prBlockedBy: 'RateLimited' };\n }\n pr = await platform.createPr({\n sourceBranch: branchName,\n targetBranch: config.baseBranch,\n prTitle,\n prBody,\n labels: prepareLabels(config),\n platformPrOptions: getPlatformPrOptions(config),\n draftPR: !!config.draftPR,\n milestone: config.milestone,\n });\n\n incCountValue('ConcurrentPRs');\n incCountValue('HourlyPRs');\n logger.info({ pr: pr?.number, prTitle }, 'PR created');\n } catch (err) {\n logger.debug({ err }, 'Pull request creation error');\n if (\n err.body?.message === 'Validation failed' &&\n err.body.errors?.length &&\n err.body.errors.some((error: { message?: string }) =>\n error.message?.startsWith('A pull request already exists'),\n )\n ) {\n logger.warn('A pull requests already exists');\n return { type: 'without-pr', prBlockedBy: 'Error' };\n }\n if (err.statusCode === 502) {\n logger.warn(\n { branch: branchName },\n 'Deleting branch due to server error',\n );\n await scm.deleteBranch(branchName);\n }\n return { type: 'without-pr', prBlockedBy: 'Error' };\n }\n }\n if (\n pr &&\n config.branchAutomergeFailureMessage &&\n !config.suppressNotifications?.includes('branchAutomergeFailure')\n ) {\n const topic = 'Branch automerge failure';\n let content =\n 'This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.';\n if (config.branchAutomergeFailureMessage === 'branch status error') {\n content += '\\n___\\n * Branch has one or more failed status checks';\n }\n content = platform.massageMarkdown(content, config.rebaseLabel);\n logger.debug('Adding branch automerge failure message to PR');\n if (GlobalConfig.get('dryRun')) {\n logger.info(`DRY-RUN: Would add comment to PR #${pr.number}`);\n } else {\n await ensureComment({\n number: pr.number,\n topic,\n content,\n });\n }\n }\n // Skip assign and review if automerging PR\n if (pr) {\n if (\n config.automerge &&\n !config.assignAutomerge &&\n (await getBranchStatus()) !== 'red'\n ) {\n logger.debug(\n `Skipping assignees and reviewers as automerge=${config.automerge}`,\n );\n } else {\n await addParticipants(config, pr);\n }\n setPrCache(branchName, prBodyFingerprint, true);\n logger.debug(`Created Pull Request #${pr.number}`);\n return { type: 'with-pr', pr };\n }\n } catch (err) {\n if (\n err instanceof ExternalHostError ||\n err.message === REPOSITORY_CHANGED ||\n err.message === PLATFORM_RATE_LIMIT_EXCEEDED ||\n err.message === PLATFORM_INTEGRATION_UNAUTHORIZED\n ) {\n logger.debug('Passing error up');\n throw err;\n }\n logger.warn({ err, prTitle }, 'Failed to ensure PR');\n }\n if (existingPr) {\n return { type: 'with-pr', pr: existingPr };\n }\n return { type: 'without-pr', prBlockedBy: 'Error' };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","names":[],"sources":["../../../../../lib/workers/repository/update/pr/index.ts"],"sourcesContent":["import { isArray, isNonEmptyArray, isNumber } from '@sindresorhus/is';\nimport { GlobalConfig } from '../../../../config/global.ts';\nimport type { RenovateConfig } from '../../../../config/types.ts';\nimport {\n PLATFORM_INTEGRATION_UNAUTHORIZED,\n PLATFORM_RATE_LIMIT_EXCEEDED,\n REPOSITORY_CHANGED,\n} from '../../../../constants/error-messages.ts';\nimport { pkg } from '../../../../expose.ts';\nimport { logger } from '../../../../logger/index.ts';\nimport { ensureComment } from '../../../../modules/platform/comment.ts';\nimport type {\n PlatformPrOptions,\n Pr,\n PrDebugData,\n UpdatePrConfig,\n} from '../../../../modules/platform/index.ts';\nimport { platform } from '../../../../modules/platform/index.ts';\nimport {\n getPrBodyStruct,\n hashBody,\n} from '../../../../modules/platform/pr-body.ts';\nimport { scm } from '../../../../modules/platform/scm.ts';\nimport { ExternalHostError } from '../../../../types/errors/external-host-error.ts';\nimport { getElapsedHours } from '../../../../util/date.ts';\nimport { stripEmojis } from '../../../../util/emoji.ts';\nimport { fingerprint } from '../../../../util/fingerprint.ts';\nimport { getBranchLastCommitTime } from '../../../../util/git/index.ts';\nimport { memoize } from '../../../../util/memoize.ts';\nimport { incCountValue, isLimitReached } from '../../../global/limits.ts';\nimport type {\n BranchConfig,\n BranchUpgradeConfig,\n PrBlockedBy,\n} from '../../../types.ts';\nimport { embedChangelogs } from '../../changelog/index.ts';\nimport { resolveBranchStatus } from '../branch/status-checks.ts';\nimport { getPrBody } from './body/index.ts';\nimport {\n getChangedLabels,\n prepareLabels,\n shouldUpdateLabels,\n} from './labels.ts';\nimport { addParticipants } from './participants.ts';\nimport { getPrCache, setPrCache } from './pr-cache.ts';\nimport {\n generatePrBodyFingerprintConfig,\n validatePrCache,\n} from './pr-fingerprint.ts';\nimport { tryReuseAutoclosedPr } from './pr-reuse.ts';\n\nexport function getPlatformPrOptions(\n config: RenovateConfig & PlatformPrOptions,\n): PlatformPrOptions {\n const usePlatformAutomerge = Boolean(\n config.automerge &&\n (config.automergeType === 'pr' || config.automergeType === 'branch') &&\n config.platformAutomerge,\n );\n\n return {\n autoApprove: !!config.autoApprove,\n automergeStrategy: config.automergeStrategy,\n azureWorkItemId: config.azureWorkItemId ?? 0,\n bbAutoResolvePrTasks: !!config.bbAutoResolvePrTasks,\n bbUseDefaultReviewers: !!config.bbUseDefaultReviewers,\n gitLabIgnoreApprovals: !!config.gitLabIgnoreApprovals,\n forkModeDisallowMaintainerEdits: !!config.forkModeDisallowMaintainerEdits,\n usePlatformAutomerge,\n };\n}\n\nexport interface ResultWithPr {\n type: 'with-pr';\n pr: Pr;\n}\n\nexport interface ResultWithoutPr {\n type: 'without-pr';\n prBlockedBy: PrBlockedBy;\n}\n\nexport type EnsurePrResult = ResultWithPr | ResultWithoutPr;\n\nexport function updatePrDebugData(\n targetBranch: string,\n labels: string[],\n debugData: PrDebugData | undefined,\n): PrDebugData {\n const createdByRenovateVersion = debugData?.createdInVer ?? pkg.version;\n const updatedByRenovateVersion = pkg.version;\n\n const updatedPrDebugData: PrDebugData = {\n createdInVer: createdByRenovateVersion,\n updatedInVer: updatedByRenovateVersion,\n targetBranch,\n };\n\n // Add labels to the debug data object.\n // When to add:\n // 1. Add it when a new PR is created, i.e., when debugData is undefined.\n // 2. Add it if an existing PR already has labels in the debug data, confirming that we can update its labels.\n if (!debugData || isArray(debugData.labels)) {\n updatedPrDebugData.labels = labels;\n }\n\n return updatedPrDebugData;\n}\n\nfunction hasNotIgnoredReviewers(pr: Pr, config: BranchConfig): boolean {\n if (\n isNonEmptyArray(config.ignoreReviewers) &&\n isNonEmptyArray(pr.reviewers)\n ) {\n const ignoreReviewers = new Set(config.ignoreReviewers);\n return (\n pr.reviewers.filter((reviewer) => !ignoreReviewers.has(reviewer)).length >\n 0\n );\n }\n return isNonEmptyArray(pr.reviewers);\n}\n\nfunction addPullRequestNoteIfAttestationHasBeenLost(\n upgrade: BranchUpgradeConfig,\n): void {\n const { packageName, depName, currentVersion, newVersion } = upgrade;\n const name = packageName ?? depName;\n\n const currentRelease = upgrade.releases?.find(\n (release) => release.version === currentVersion,\n );\n const newRelease = upgrade.releases?.find(\n (release) => release.version === newVersion,\n );\n\n if (\n currentRelease &&\n newRelease &&\n currentRelease.attestation === true &&\n newRelease.attestation !== true\n ) {\n upgrade.prBodyNotes ??= [];\n upgrade.prBodyNotes.push(\n [\n '> :stop_sign: **Caution**',\n '>',\n `> ${name} ${currentVersion} was released with an attestation, but ${newVersion} has no attestation.`,\n `> Verify that release ${newVersion} was published by the expected author.`,\n '\\n',\n ].join('\\n'),\n );\n }\n}\n\n// Ensures that PR exists with matching title/body\nexport async function ensurePr(\n prConfig: BranchConfig,\n): Promise<EnsurePrResult> {\n const config: BranchConfig = { ...prConfig };\n const filteredPrConfig = generatePrBodyFingerprintConfig(config);\n const prBodyFingerprint = fingerprint(filteredPrConfig);\n logger.trace({ config }, 'ensurePr');\n // If there is a group, it will use the config of the first upgrade in the array\n const {\n branchName,\n ignoreTests,\n internalChecksAsSuccess,\n prTitle = '',\n upgrades,\n } = config;\n const getBranchStatus = memoize(() =>\n resolveBranchStatus(branchName, !!internalChecksAsSuccess, ignoreTests),\n );\n const dependencyDashboardCheck =\n config.dependencyDashboardChecks?.[config.branchName];\n // Check if PR already exists\n const existingPr =\n (await platform.getBranchPr(branchName, config.baseBranch)) ??\n (await tryReuseAutoclosedPr(branchName, prTitle));\n const prCache = getPrCache(branchName);\n if (existingPr) {\n logger.debug('Found existing PR');\n if (existingPr.bodyStruct?.rebaseRequested) {\n logger.debug('PR rebase requested, so skipping cache check');\n } else if (prCache) {\n logger.trace({ prCache }, 'Found existing PR cache');\n // return if pr cache is valid and pr was not changed in the past 24hrs\n if (validatePrCache(prCache, prBodyFingerprint)) {\n return { type: 'with-pr', pr: existingPr };\n }\n } else if (config.repositoryCache === 'enabled') {\n logger.debug('PR cache not found');\n }\n }\n config.upgrades = [];\n\n if (config.artifactErrors?.length) {\n logger.debug('Forcing PR because of artifact errors');\n config.forcePr = true;\n }\n\n if (dependencyDashboardCheck === 'approvePr') {\n logger.debug('Forcing PR because of dependency dashboard approval');\n config.forcePr = true;\n }\n\n if (!existingPr) {\n // Only create a PR if a branch automerge has failed\n if (\n config.automerge === true &&\n config.automergeType?.startsWith('branch') &&\n !config.forcePr\n ) {\n logger.debug(`Branch automerge is enabled`);\n if (\n config.stabilityStatus !== 'yellow' &&\n (await getBranchStatus()) === 'yellow' &&\n isNumber(config.prNotPendingHours)\n ) {\n logger.debug('Checking how long this branch has been pending');\n const lastCommitTime = await getBranchLastCommitTime(branchName);\n if (getElapsedHours(lastCommitTime) >= config.prNotPendingHours) {\n logger.debug(\n `Branch exceeds prNotPending=${config.prNotPendingHours}, hours - forcing PR creation`,\n );\n config.forcePr = true;\n }\n }\n if (config.forcePr || (await getBranchStatus()) === 'red') {\n logger.debug(`Branch tests failed, so will create PR`);\n } else {\n // Branch should be automerged, so we don't want to create a PR\n return { type: 'without-pr', prBlockedBy: 'BranchAutomerge' };\n }\n }\n if (config.prCreation === 'status-success') {\n logger.debug('Checking branch combined status');\n if ((await getBranchStatus()) !== 'green') {\n logger.debug(`Branch status isn't green - not creating PR`);\n return { type: 'without-pr', prBlockedBy: 'AwaitingTests' };\n }\n logger.debug('Branch status success');\n } else if (\n config.prCreation === 'approval' &&\n dependencyDashboardCheck !== 'approvePr'\n ) {\n return { type: 'without-pr', prBlockedBy: 'NeedsApproval' };\n } else if (config.prCreation === 'not-pending' && !config.forcePr) {\n logger.debug('Checking branch combined status');\n if ((await getBranchStatus()) === 'yellow') {\n logger.debug(`Branch status is yellow - checking timeout`);\n const lastCommitTime = await getBranchLastCommitTime(branchName);\n const elapsedHours = getElapsedHours(lastCommitTime);\n if (\n !dependencyDashboardCheck &&\n ((config.stabilityStatus && config.stabilityStatus !== 'yellow') ||\n (isNumber(config.prNotPendingHours) &&\n elapsedHours < config.prNotPendingHours))\n ) {\n logger.debug(\n `Branch is ${elapsedHours} hours old - skipping PR creation as prNotPendingHours is set to ${config.prNotPendingHours}`,\n );\n return {\n type: 'without-pr',\n prBlockedBy: 'AwaitingTests',\n };\n }\n const prNotPendingHours = String(config.prNotPendingHours);\n logger.debug(\n `prNotPendingHours=${prNotPendingHours} threshold hit - creating PR`,\n );\n }\n logger.debug('Branch status success');\n }\n }\n\n const processedUpgrades: string[] = [];\n const commitRepos: string[] = [];\n\n function getRepoNameWithSourceDirectory(\n upgrade: BranchUpgradeConfig,\n ): string {\n // TODO: types (#22198)\n return `${upgrade.repoName!}${\n upgrade.sourceDirectory ? `:${upgrade.sourceDirectory}` : ''\n }`;\n }\n\n if (config.fetchChangeLogs === 'pr') {\n // fetch changelogs when not already done;\n await embedChangelogs(upgrades);\n }\n\n // Get changelog and then generate template strings\n for (const upgrade of upgrades) {\n // TODO: types (#22198)\n const upgradeKey = `${upgrade.depType!}-${upgrade.depName!}-${upgrade.manager}-${upgrade.currentVersion ?? ''}-${upgrade.currentValue ?? ''}-${upgrade.newVersion ?? ''}-${upgrade.newValue ?? ''}`;\n if (processedUpgrades.includes(upgradeKey)) {\n continue;\n }\n processedUpgrades.push(upgradeKey);\n\n const logJSON = upgrade.logJSON;\n\n if (logJSON) {\n if (typeof logJSON.error === 'undefined') {\n if (logJSON.project) {\n upgrade.repoName = logJSON.project.repository;\n }\n upgrade.hasReleaseNotes = false;\n upgrade.releases = [];\n if (\n logJSON.hasReleaseNotes &&\n upgrade.repoName &&\n !commitRepos.includes(getRepoNameWithSourceDirectory(upgrade))\n ) {\n commitRepos.push(getRepoNameWithSourceDirectory(upgrade));\n upgrade.hasReleaseNotes = logJSON.hasReleaseNotes;\n if (logJSON.versions) {\n for (const version of logJSON.versions) {\n const release = { ...version };\n upgrade.releases.push(release);\n }\n }\n }\n } else if (logJSON.error === 'MissingGithubToken') {\n upgrade.prBodyNotes ??= [];\n upgrade.prBodyNotes.push(\n [\n '> :exclamation: **Important**',\n '> ',\n '> Release Notes retrieval for this PR were skipped because no github.com credentials were available. ',\n '> If you are self-hosted, please see [this instruction](https://github.com/renovatebot/renovate/blob/master/docs/usage/examples/self-hosting.md#githubcom-token-for-release-notes).',\n '\\n',\n ].join('\\n'),\n );\n }\n }\n\n addPullRequestNoteIfAttestationHasBeenLost(upgrade);\n\n config.upgrades.push(upgrade);\n }\n\n config.hasReleaseNotes = config.upgrades.some((upg) => upg.hasReleaseNotes);\n\n const releaseNotesSources: string[] = [];\n for (const upgrade of config.upgrades) {\n let notesSourceUrl = upgrade.releases?.[0]?.releaseNotes?.notesSourceUrl;\n // TODO: types (#22198)\n notesSourceUrl ??= `${upgrade.sourceUrl!}${\n upgrade.sourceDirectory ? `:${upgrade.sourceDirectory}` : ''\n }`;\n\n if (upgrade.hasReleaseNotes && notesSourceUrl) {\n if (releaseNotesSources.includes(notesSourceUrl)) {\n logger.debug(\n { depName: upgrade.depName },\n 'Removing duplicate release notes',\n );\n upgrade.hasReleaseNotes = false;\n } else {\n releaseNotesSources.push(notesSourceUrl);\n }\n }\n }\n\n const prBody = getPrBody(\n config,\n {\n debugData: updatePrDebugData(\n config.baseBranch,\n prepareLabels(config), // include labels in debug data\n existingPr?.bodyStruct?.debugData,\n ),\n },\n config,\n );\n\n try {\n if (existingPr) {\n logger.debug('Processing existing PR');\n\n if (\n !existingPr.hasAssignees &&\n !hasNotIgnoredReviewers(existingPr, config) &&\n config.automerge &&\n !config.assignAutomerge &&\n (await getBranchStatus()) === 'red'\n ) {\n logger.debug(`Setting assignees and reviewers as status checks failed`);\n await addParticipants(config, existingPr);\n }\n // Check if existing PR needs updating\n const existingPrTitle = stripEmojis(existingPr.title);\n const existingPrBodyHash = existingPr.bodyStruct?.hash;\n const newPrTitle = stripEmojis(prTitle);\n const newPrBodyHash = hashBody(prBody);\n\n const prInitialLabels = existingPr.bodyStruct?.debugData?.labels;\n const prCurrentLabels = existingPr.labels;\n const configuredLabels = prepareLabels(config);\n\n const labelsNeedUpdate = shouldUpdateLabels(\n prInitialLabels,\n prCurrentLabels,\n configuredLabels,\n );\n\n if (\n existingPr?.targetBranch === config.baseBranch &&\n existingPrTitle === newPrTitle &&\n existingPrBodyHash === newPrBodyHash &&\n !labelsNeedUpdate\n ) {\n // adds or-cache for existing PRs\n setPrCache(branchName, prBodyFingerprint, false);\n logger.debug(\n `Pull Request #${existingPr.number} does not need updating`,\n );\n return { type: 'with-pr', pr: existingPr };\n }\n\n const updatePrConfig: UpdatePrConfig = {\n number: existingPr.number,\n prTitle,\n prBody,\n platformPrOptions: getPlatformPrOptions(config),\n };\n // PR must need updating\n if (existingPr?.targetBranch !== config.baseBranch) {\n logger.debug(\n {\n branchName,\n oldBaseBranch: existingPr?.targetBranch,\n newBaseBranch: config.baseBranch,\n },\n 'PR base branch has changed',\n );\n updatePrConfig.targetBranch = config.baseBranch;\n }\n\n if (labelsNeedUpdate) {\n logger.debug(\n {\n branchName,\n prCurrentLabels,\n configuredLabels,\n },\n 'PR labels have changed',\n );\n\n // Divide labels into three categories:\n // i) addLabels: Labels that need to be added\n // ii) removeLabels: Labels that need to be removed\n // iii) labels: New labels for the PR, replacing the old labels array entirely.\n // This distinction is necessary because different platforms update labels differently\n // For more details, refer to the updatePr function of each platform.\n\n const [addLabels, removeLabels] = getChangedLabels(\n prCurrentLabels,\n configuredLabels,\n );\n\n // for Gitea\n updatePrConfig.labels = configuredLabels;\n\n // for GitHub, GitLab\n updatePrConfig.addLabels = addLabels;\n updatePrConfig.removeLabels = removeLabels;\n }\n if (existingPrTitle !== newPrTitle) {\n logger.debug(\n {\n branchName,\n oldPrTitle: existingPr.title,\n newPrTitle: prTitle,\n },\n 'PR title changed',\n );\n } else if (!config.committedFiles && !config.rebaseRequested) {\n logger.debug(\n {\n prTitle,\n },\n 'PR body changed',\n );\n }\n\n if (GlobalConfig.get('dryRun')) {\n logger.info(`DRY-RUN: Would update PR #${existingPr.number}`);\n return { type: 'with-pr', pr: existingPr };\n } else {\n await platform.updatePr(updatePrConfig);\n logger.info({ pr: existingPr.number, prTitle }, `PR updated`);\n setPrCache(branchName, prBodyFingerprint, true);\n }\n return {\n type: 'with-pr',\n pr: {\n ...existingPr,\n bodyStruct: getPrBodyStruct(prBody),\n title: prTitle,\n targetBranch: config.baseBranch,\n },\n };\n }\n logger.debug({ branch: branchName, prTitle }, `Creating PR`);\n if (config.updateType === 'rollback') {\n logger.info('Creating Rollback PR');\n }\n let pr: Pr | null;\n if (GlobalConfig.get('dryRun')) {\n logger.info(\n { labels: prepareLabels(config) },\n 'DRY-RUN: Would create PR: ' + prTitle,\n );\n pr = { number: 0 } as never;\n } else {\n try {\n if (\n !dependencyDashboardCheck &&\n isLimitReached('ConcurrentPRs', prConfig) &&\n !config.isVulnerabilityAlert\n ) {\n logger.debug('Skipping PR - limit reached');\n return { type: 'without-pr', prBlockedBy: 'RateLimited' };\n }\n pr = await platform.createPr({\n sourceBranch: branchName,\n targetBranch: config.baseBranch,\n prTitle,\n prBody,\n labels: prepareLabels(config),\n platformPrOptions: getPlatformPrOptions(config),\n draftPR: !!config.draftPR,\n milestone: config.milestone,\n });\n\n incCountValue('ConcurrentPRs');\n incCountValue('HourlyPRs');\n logger.info(\n { pr: pr?.number, prTitle, labels: pr?.labels },\n 'PR created',\n );\n } catch (err) {\n logger.debug({ err }, 'Pull request creation error');\n if (\n err.body?.message === 'Validation failed' &&\n err.body.errors?.length &&\n err.body.errors.some((error: { message?: string }) =>\n error.message?.startsWith('A pull request already exists'),\n )\n ) {\n logger.warn('A pull requests already exists');\n return { type: 'without-pr', prBlockedBy: 'Error' };\n }\n if (err.statusCode === 502) {\n logger.warn(\n { branch: branchName },\n 'Deleting branch due to server error',\n );\n await scm.deleteBranch(branchName);\n }\n return { type: 'without-pr', prBlockedBy: 'Error' };\n }\n }\n if (\n pr &&\n config.branchAutomergeFailureMessage &&\n !config.suppressNotifications?.includes('branchAutomergeFailure')\n ) {\n const topic = 'Branch automerge failure';\n let content =\n 'This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.';\n if (config.branchAutomergeFailureMessage === 'branch status error') {\n content += '\\n___\\n * Branch has one or more failed status checks';\n }\n content = platform.massageMarkdown(content, config.rebaseLabel);\n logger.debug('Adding branch automerge failure message to PR');\n if (GlobalConfig.get('dryRun')) {\n logger.info(`DRY-RUN: Would add comment to PR #${pr.number}`);\n } else {\n await ensureComment({\n number: pr.number,\n topic,\n content,\n });\n }\n }\n // Skip assign and review if automerging PR\n if (pr) {\n if (\n config.automerge &&\n !config.assignAutomerge &&\n (await getBranchStatus()) !== 'red'\n ) {\n logger.debug(\n `Skipping assignees and reviewers as automerge=${config.automerge}`,\n );\n } else {\n await addParticipants(config, pr);\n }\n setPrCache(branchName, prBodyFingerprint, true);\n logger.debug(`Created Pull Request #${pr.number}`);\n return { type: 'with-pr', pr };\n }\n } catch (err) {\n if (\n err instanceof ExternalHostError ||\n err.message === REPOSITORY_CHANGED ||\n err.message === PLATFORM_RATE_LIMIT_EXCEEDED ||\n err.message === PLATFORM_INTEGRATION_UNAUTHORIZED\n ) {\n logger.debug('Passing error up');\n throw err;\n }\n logger.warn({ err, prTitle }, 'Failed to ensure PR');\n }\n if (existingPr) {\n return { type: 'with-pr', pr: existingPr };\n }\n return { type: 'without-pr', prBlockedBy: 'Error' };\n}\n"],"mappings":"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"}
|
package/package.json
CHANGED
package/renovate-schema.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"title": "JSON schema for Renovate 43.
|
|
2
|
+
"title": "JSON schema for Renovate 43.38.0 config files (https://renovatebot.com/)",
|
|
3
3
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
4
|
-
"x-renovate-version": "43.
|
|
4
|
+
"x-renovate-version": "43.38.0",
|
|
5
5
|
"allowComments": true,
|
|
6
6
|
"type": "object",
|
|
7
7
|
"properties": {
|