-
Notifications
You must be signed in to change notification settings - Fork 145
Harden 1.4 against frontend corruption + freeze/lock dependencies #4094
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
Merged
patrickelectric
merged 15 commits into
bluerobotics:1.4-dev
from
joaoantoniocardoso:fix_ci_detect_corrupt_frontend_assets
Aug 7, 2026
Merged
Changes from all commits
Commits
Show all changes
15 commits
Select commit
Hold shift + click to select a range
6a12510
core: frontend: vite.config: Fail the build on corrupt emitted javasc…
joaoantoniocardoso 544a1fe
core: Dockerfile: Bump bun to 1.3.14
joaoantoniocardoso 12d12af
.github: workflows: test-and-deploy: Bump bun to 1.3.14
joaoantoniocardoso 31a9ca8
core: frontend: Regenerate bun.lockb
joaoantoniocardoso 4eb3dc0
frontend: install with --frozen-lockfile in CI
Williangalvani b367f99
.gitignore: remove bun.lockb
Williangalvani 9a4e7b2
core: frontend: Remove the tracked yarn.lock
joaoantoniocardoso 453b5f4
.hooks: pre-push: Find python packages by pyproject.toml
joaoantoniocardoso c306a0b
core: Move libs to use UV management
joaomariolago fbdfce9
core: Move services to use UV management
joaomariolago 51250df
core: Add UV project management
joaomariolago 172ff1d
core: Adjust Dockerfile and tools to use UV
joaomariolago 26875dc
.hooks: Make sure that ardupilot libs are installed
joaomariolago a561b4d
Track poetry.lock to pin the linting environment
joaoantoniocardoso 6f0072c
.github: workflows: test-and-deploy: Pin poetry to 2.4.1
joaoantoniocardoso File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -12,7 +12,6 @@ node_modules | |
| env/ | ||
| Pipfile | ||
| Pipfile.lock | ||
| poetry.lock | ||
| registry/ | ||
|
|
||
| # Docker compose binds | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 3.11 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,4 +4,3 @@ dist/ | |
| yarn.lock | ||
| dev-dist/ | ||
| components.d.ts | ||
| bun.lockb | ||
Binary file not shown.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we skip the python part since we don't have problems with and we are closer to a stable release ? I would limit the scope of this PR to just deal with the frontend.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We can, but if we need to apply a backport in the future, there's no guarantee we won't introduce a bug.
I made sure we are pinning to the same dependency versions that are being used in the build today.
I'm far more comfortable pinning what we can before release.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
update: reran the dependency diff, got one drift, fixed now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The scope of this PR is quite big for a stable release.
It mixes lock of frontend and big changes in backend project management.
Python projects are already dependency lock, if there is a place that we are not, we can just add such version.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The non-split of those concerns into separate PRs is intentional. I want to address all before the stable release.
The diff can look scary, but almost all of it is just the lock files themselves, so it's not difficult to review carefully.
This is exactly what we are doing here: the Python dependencies are not pinned in practice (we "lock"
packaging==20.4, but the image is shipping26.2), and we have broken dependencies already, and nothing guarantees we won't have more while I'm writing this message:(Yes, we don't use flask directly, it's brought transitively via connexion, but the point is: it is there and silently broken today. Which will be the next one?)
The practical effect on the built image is tight and we must work to make it under control, so we should spend effort in improving this rather than ignoring the problem.
You can run agents to inspect the differences before/after; we can adjust any detail if needed, but the dependency-locking before the release is a must alongside the anti-corruption measure.
Docker dive:
dive-1.4-dev.json
dive-branch.json
pip freezes:
pip-1.4-dev.txt
pip-branch.txt
thanks