chore: refactor firmware download process and add docker layer chaing improvements#354
Conversation
06d80cc to
78a80f8
Compare
There was a problem hiding this comment.
Pull request overview
Refactors the firmware emulator download mechanism by replacing the legacy Bash-based downloader with a Python script and adjusting Docker/GitHub Actions to improve layer caching and control cache invalidation for nightly artifacts.
Changes:
- Replace
download.shwith a new Python-based downloader (download.py) driven byreleases.jsonplus nightly artifacts. - Update Docker build layers to cache release downloads while forcing nightly refresh via a build arg.
- Update developer docs and workflows to use the new download process and nightly cache-bust build arg.
Reviewed changes
Copilot reviewed 4 out of 7 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| src/binaries/firmware/bin/download.sh | Removes the previous Bash-based downloader. |
| src/binaries/firmware/bin/download.py | Adds Python downloader for release + nightly emulator artifacts and post-processing. |
| docker/Dockerfile-debian | Splits firmware download into cached release layer + cache-busted nightly layer. |
| .github/workflows/build-tenv.yml | Passes a cache-bust build arg for nightly downloads. |
| .github/workflows/build-tenv-test.yml | Passes a cache-bust build arg for nightly downloads. |
| docs/development.md | Updates local dev instructions to use the Python downloader. |
| .gitignore | Ensures download.py is not ignored while keeping downloaded binaries ignored. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
Can we pin at least 1 older version for testing backwards compatibility? |
… improvements - Introduced a new Python script `download.py` to handle firmware downloads, replacing the previous Bash script `download.sh`. - Updated `.gitignore` to exclude the new script from being ignored. - Modified Dockerfile to copy the new script and execute it for downloading firmware. - Adjusted GitHub workflows to include build arguments for cache management during builds. - Updated development documentation to reflect changes in the firmware download process.
78a80f8 to
8b52e13
Compare
I added the support for one pinned fw version per model |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 4 out of 7 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
martykan
left a comment
There was a problem hiding this comment.
Looks good, everything seems to work
download.pyto handle firmware downloads, replacing the previous Bash scriptdownload.sh..gitignoreto exclude the new script from being ignored.