Skip to content

Upload Espressif bootloader .zip and combined*.bin to board-specific dirs on S3 #454

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
merged 2 commits into from
Jun 30, 2025

Conversation

dhalbert
Copy link
Contributor

@dhalbert dhalbert commented Jun 29, 2025

During a release

  • Change the upload location on S3 for the tinyuf2*.zip and update-tinyuf2*.uf2 to a board-specific directory. The upload path used to be, for example:
    s3://adafruit-circuit-python/bootloaders/esp32/tinyuf2-adafruit_feather_esp32s3-0.32.0.zip
    and now it is
    s3://adafruit-circuit-python/bootloaders/esp32/adafruit_feather_esp32s3/tinyuf2-adafruit_feather_esp32s3-0.32.0.zip
    This groups by board name, and reduces the large number of files at one level in S3.
  • Also upload, to the same board directory, the combined.bin and, if it exists, the combined-ota.bin. The files are renamed to include the board name and version, for example
    tinyuf2-adafruit_feather_esp32s3-0.32.0-combined.bin

See https://adafruit-circuit-python.s3.amazonaws.com/index.html?prefix=bootloaders/esp32/ for both old and new hiearchies.

@hathach I have tried to be careful about this, but I'm not sure how to test the uploads without doing a release. Could you double-check the paths? Thanks.

I have already copied files to board-specific dirs using a script for the previous releases. When this is merged I will submit a PR update https://github.com/adafruit/web-firmware-installer-js to look in the new locations, and after that's merged I'll delete old uploads that are in the top-level directory.

Copy link
Member

@hathach hathach left a comment

Choose a reason for hiding this comment

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

look great, I don't know how to test this without an actual release as well, release on fork does not work since aws isn't valid. But this should be fine. I think we could change the upload aws using if fi to make it cleaner than ||, but that is optional :)

@dhalbert dhalbert force-pushed the s3-upload-board-dirs branch 2 times, most recently from ac5fb6e to 1740fa6 Compare June 30, 2025 13:03
@dhalbert dhalbert force-pushed the s3-upload-board-dirs branch from 1740fa6 to aabf153 Compare June 30, 2025 13:10
@dhalbert
Copy link
Contributor Author

The sense of the conditional was backward; I force-pushed a change.

Copy link
Member

@hathach hathach left a comment

Choose a reason for hiding this comment

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

perfect, I think we can merge and test release with revision bump

@dhalbert
Copy link
Contributor Author

Do you want to do the merge? And did you mean do a release now? Thanks.

@hathach
Copy link
Member

hathach commented Jun 30, 2025

Do you want to do the merge? And did you mean do a release now? Thanks.

yeah we can merge and then make an relesae to test with

@dhalbert dhalbert merged commit 0e5f9f7 into adafruit:master Jun 30, 2025
152 checks passed
@dhalbert dhalbert deleted the s3-upload-board-dirs branch June 30, 2025 14:06
@dhalbert
Copy link
Contributor Author

OK, it worked!

image

@hathach
Copy link
Member

hathach commented Jun 30, 2025

perfect !! :)

@hathach
Copy link
Member

hathach commented Jul 2, 2025

@dhalbert there seems to have issue with uploading combined-ota.bin to s3 in release https://github.com/adafruit/tinyuf2/actions/runs/16029529896

@hathach
Copy link
Member

hathach commented Jul 3, 2025

fixed build with #456. The lasts command [-f combined-ota.bin] when failed will cause the shell step to return as failed, changed it to use if-fi

@dhalbert
Copy link
Contributor Author

dhalbert commented Jul 3, 2025

Thanks! I was following the previous style, but I understand now how it causes an issue.

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.

Upload espressif combined.bin separately; upload to s3 in board-specific dirs
2 participants