Skip to content
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

Fix build: Building in Docker Container + update action versions #673

Merged
merged 1 commit into from
Jan 28, 2025

Conversation

dbast
Copy link
Contributor

@dbast dbast commented Jan 23, 2025

Description

This fixes the build workflow by:

  • Building inside the container defined in seedsigner-os/Dockerfile ... compiling started to fail some days ago, see the build step log in e.g. those build ruins https://github.com/SeedSigner/seedsigner/actions/runs/12921826216 ... builds where previously done natively in the runner VMs, which get continuously updated in https://github.com/actions/runner-images. By building inside the container the builds get isolated from those changes and much more reproducible and stable.
  • Updating all the build action versions, as multiple action versions became deprecated and Github forces users to upgrade by occasional brown outs (=failures) to create awareness. This leads to some changes as with actions/upload-artifact@v4 each artifact uploaded must have a distinct name.

related for better build error propagation SeedSigner/seedsigner-os#84

Note: Ignore the occational failing CI / test workflows on this PR; those are addressed in #671.

This pull request is categorized as a:

  • New feature
  • Bug fix
  • Code refactor
  • Documentation
  • Other

Checklist

  • I’ve run pytest and made sure all unit tests pass before sumbitting the PR

If you modified or added functionality/workflow, did you add new unit tests?

  • No, I’m a fool
  • Yes
  • N/A

I have tested this PR on the following platforms/os:

Note: Keep your changes limited in scope; if you uncover other issues or improvements along the way, ideally submit those as a separate PR. The more complicated the PR the harder to review, test, and merge.

@dbast dbast force-pushed the debug branch 2 times, most recently from 66d8872 to ede4d9f Compare January 24, 2025 10:24
@dbast dbast changed the title Debug failing builds Fix build: Building in Docker Container + update action versions Jan 24, 2025
@dbast dbast marked this pull request as ready for review January 24, 2025 12:09
@kdmukai
Copy link
Contributor

kdmukai commented Jan 27, 2025

Awesome! Thanks for getting this working again!

Two notes:

  • I assume you're directly calling docker run (instead of docker compose) in order to specify the additional custom volume mappings? Add "external" ccache to speed up builds; preserve caches outside Docker container seedsigner-os#83 adds volumes to preserve the buildroot ccache and adds an "external" ccache (the first caches the work buildroot has to do, the second caches the building of the buildroot tooling itself). I'll have to look into the buildroot_dl volume as well. But presumably if the docker_compose.yml provided all those volumes, the build command here could match what's in the SeedSigner OS docs.

  • If this workflow is run multiple times (or more than once in the 90-day retention period), won't the sha256sum step end up finding multiple *.img for each matrix target? e.g. seedsigner_os.0.8.5-40-[commit_hash].pi0.img, seedsigner_os.0.8.5-41-[commit_hash].pi0.img, etc.

@kdmukai
Copy link
Contributor

kdmukai commented Jan 27, 2025

Regardless of any of the discussion above: ACK.

@dbast
Copy link
Contributor Author

dbast commented Jan 27, 2025

@dbast
Copy link
Contributor Author

dbast commented Jan 27, 2025

@kdmukai I would be also fine with SeedSigner/seedsigner-os#83 first and then updating this PR to use docker-compose

@kdmukai
Copy link
Contributor

kdmukai commented Jan 27, 2025

@dbast no, I think the fewer blockers/dependencies here, the better.

My priority is just to get this repo back to green and finally sprint our way to the v0.8.5 release.

Plenty of time for further improvements after that release!

So I reiterate my ACK for this PR and hope for a speedy merge!

@newtonick
Copy link
Collaborator

ACK

@newtonick newtonick merged commit 5e806c2 into SeedSigner:dev Jan 28, 2025
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Merged Not Yet Released
Development

Successfully merging this pull request may close these issues.

3 participants