-
-
Notifications
You must be signed in to change notification settings - Fork 246
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Configure renovate for apk, gem, cargo, pip and npm dependencies #4588
Conversation
🦙 MegaLinter status:
|
Descriptor | Linter | Files | Fixed | Errors | Elapsed time |
---|---|---|---|---|---|
✅ API | spectral | 1 | 0 | 1.78s | |
bash-exec | 6 | 1 | 0.03s | ||
✅ BASH | shellcheck | 6 | 0 | 0.24s | |
✅ BASH | shfmt | 6 | 0 | 0 | 1.27s |
✅ COPYPASTE | jscpd | yes | no | 2.86s | |
✅ DOCKERFILE | hadolint | 129 | 0 | 60.82s | |
✅ JSON | jsonlint | 20 | 0 | 0.2s | |
✅ JSON | v8r | 22 | 0 | 14.86s | |
markdownlint | 267 | 0 | 302 | 23.53s | |
✅ MARKDOWN | markdown-table-formatter | 267 | 0 | 0 | 174.48s |
bandit | 214 | 66 | 3.92s | ||
✅ PYTHON | black | 214 | 0 | 0 | 4.81s |
✅ PYTHON | flake8 | 214 | 0 | 1.94s | |
✅ PYTHON | isort | 214 | 0 | 0 | 1.42s |
✅ PYTHON | mypy | 214 | 0 | 11.59s | |
✅ PYTHON | pylint | 214 | 0 | 19.62s | |
✅ PYTHON | ruff | 214 | 0 | 0 | 0.72s |
✅ REPOSITORY | checkov | yes | no | 42.12s | |
✅ REPOSITORY | git_diff | yes | no | 0.48s | |
grype | yes | 24 | 13.89s | ||
✅ REPOSITORY | secretlint | yes | no | 10.43s | |
✅ REPOSITORY | trivy | yes | no | 19.68s | |
✅ REPOSITORY | trivy-sbom | yes | no | 0.62s | |
trufflehog | yes | 1 | 55.74s | ||
✅ SPELL | cspell | 717 | 0 | 13.32s | |
lychee | 349 | 30 | 8.88s | ||
✅ XML | xmllint | 3 | 0 | 0 | 0.84s |
✅ YAML | prettier | 160 | 0 | 0 | 3.8s |
✅ YAML | v8r | 102 | 0 | 33.26s | |
✅ YAML | yamllint | 161 | 0 | 3.55s |
See detailed report in MegaLinter reports
@nvuillam @echoix about this eslint 9.x vs 8.x topic... I have been testing and I would say that we were already on 8.x even if you think we were on 9.x.... Look: With this Dockerfile:
The result of
And instead with this Dockerfile:
It does not work:
Which is why I was telling you that I had to downgrade from 9.x to 8.x, although as I show you, it is not really a downgrade but we were already on 8.x. And without pinning it seems that by installing N dependencies in a single command it is “smart” in the sense that it is able to calculate which maximum version of each dependency it can install based on the dependencies/requirements of the rest. And it calculated: 8.x |
Does that mean that we don't have the same eslint versions in our different images? But anyways, in that case, I agree with you for the downgrade (if it is what the users already have). So, after publishing the patch release, it could be ok to merge this PR. I know it's a lot of work |
This is the conclusion that I have come to, which is more dangerous because it depends on the flavor that you use, it may solve a different version of a package as in this case. With this PR we are sure that all will have exactly the same version. cc @nvuillam |
Maybe removing a plugin is less disruptive if the version in a major flavor is higher |
Are you available soon if it doesn't work as expected ? Are you ready for it to be merged? |
I'd go all in and adjust accordingly. |
Ready! |
build.py
I have moved the definition toconstants.py
and editedrenovate.json5
to add a new regular expression very similar to the previous ones.ARG
are generated in Dockerfile because now there were problems with the multi-stage/layer build and I had to solve problems that depending on the scope I was in, certainARG
didn't exist.cli_docker_image_version
parameter, since it is a special case that instead ofARG
(image generation time), it uses it in execution and requires thatENV
expanded.eslint
from 9.x to 8.x because there is some other package that required that library to be in8.x
. This problem did not occur when the dependencies were not pinned because I imagine thatnpm
would be “smart” in that sense and would be able to establish which one is the right one.{PACKAGE_SYSTEM]_{PACKAGE_NAME}_VERSION
criterion. Examples: APK_ICU_LIBS_VERSION, NPM_ESLINT_VERSION, ...I do not know if I have left something without pinning but there are so many things that has been a huge work.... I would appreciate help after merging this PR in case I have left something... Some of them were difficult to detect as the ones added through
build.py
were more hidden.