Skip to content

[CI] Fix for build.yml and writing version.json - #956

Merged
newtonick merged 1 commit into
SeedSigner:devfrom
newtonick:fix-build-yml-versioning
Jul 22, 2026
Merged

newtonick merged 1 commit into
SeedSigner:devfrom
newtonick:fix-build-yml-versioning

Conversation

@newtonick

@newtonick newtonick commented Jul 22, 2026 •

Copy link
Copy Markdown
Collaborator

Description

Problem or Issue being addressed

Build images (.img files) produced by the SeedSigner CI build action hang at the logo after being flashed, even though the build passes.

#858 added a Version screen that reads src/seedsigner/version.json during startup. If the file is missing or incomplete, the resulting exception terminates the app.

The delete unnecessary files step reduces the checkout to src/ before the build container starts:

cd seedsigner-os/opt/rootfs-overlay/opt
find . -mindepth 1 -maxdepth 1 ! -name src -exec rm -rf {} +

This removes .git/ and tools/, which tools/write_versionfile.py needs to generate version.json. The build log confirms that only src/ remains when the container runs.

Solution

Remove the delete unnecessary files workflow step. The updated seedsigner-os build.sh writes the version file first, then calls delete_unnecessary_files() before Buildroot packages the image.

I checked its removal list against every top-level entry in this repository. .git/, tools/, and the other unnecessary files are removed before make, so they do not reach the image.

After the build, validate the generated file with jq:

jq -e '.name and .fork and .short_commit_hash and .timestamp' src/seedsigner/version.json

A failed version write still stops the build immediately. This additional check catches an incomplete file that might otherwise ship in an unbootable image.

Additional Information

This requires the matching seedsigner-os PR SeedSigner/seedsigner-os#115 to be merged first. It runs the version-writing step during --skip-repo builds and sets Git's safe.directory so the container can read the version data.

Screenshots

N/A. This PR only changes the CI build workflow.


This pull request is categorized as a:

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

Checklist

I ran pytest locally

  • All tests passed before submitting the PR
  • I couldn't run the tests
  • N/A

I included screenshots of any new or modified screens

Should be part of the PR description above.

  • Yes
  • No
  • N/A

I added or updated tests

Any new or altered functionality should be covered in a unit test. Any new or updated sequences require FlowTests.

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

I tested this PR hands-on on the following platform(s):


I have reviewed these notes:

  • 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 it is to review, test, and merge.
  • We appreciate your efforts, but we're a small team of volunteers so PR review can be a very slow process.
  • Please only "@" mention a contributor if their input is truly needed to enable further progress.
  • I understand

@newtonick

Copy link
Copy Markdown
Collaborator Author

Because current CI is broken; I am going to fast track this PR to be merged. In general I always want the dev/main branches of both of these repos in working states. I see regard changes to the GitHub actions mostly as a low risk activity.

@newtonick
newtonick merged commit 1fb2956 into SeedSigner:dev Jul 22, 2026
2 of 6 checks passed
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.

1 participant