Skip to content

chore: refactor firmware download process and add docker layer chaing improvements#354

Merged
vdovhanych merged 1 commit intomasterfrom
improve-docker-layer-caching
Mar 27, 2026
Merged

chore: refactor firmware download process and add docker layer chaing improvements#354
vdovhanych merged 1 commit intomasterfrom
improve-docker-layer-caching

Conversation

@vdovhanych
Copy link
Copy Markdown
Member

  • 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.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.sh with a new Python-based downloader (download.py) driven by releases.json plus 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.

@martykan
Copy link
Copy Markdown
Member

Can we pin at least 1 older version for testing backwards compatibility?
Currently we use 2.3.0 for testing Connect

… 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.
@vdovhanych vdovhanych force-pushed the improve-docker-layer-caching branch from 78a80f8 to 8b52e13 Compare March 27, 2026 10:10
@vdovhanych
Copy link
Copy Markdown
Member Author

Can we pin at least 1 older version for testing backwards compatibility? Currently we use 2.3.0 for testing Connect

I added the support for one pinned fw version per model

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Copy link
Copy Markdown
Member

@martykan martykan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good, everything seems to work

@vdovhanych vdovhanych merged commit 4b23836 into master Mar 27, 2026
6 checks passed
@vdovhanych vdovhanych deleted the improve-docker-layer-caching branch March 27, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants