Skip to content

Update action to support multiple YAML configuration files#100

Draft
bomberstudios wants to merge 2 commits into
esphome:mainfrom
bomberstudios:feat/multiple-yaml-files
Draft

Update action to support multiple YAML configuration files#100
bomberstudios wants to merge 2 commits into
esphome:mainfrom
bomberstudios:feat/multiple-yaml-files

Conversation

@bomberstudios

Copy link
Copy Markdown

Also, enhances manifest generation for multiple configurations

Closes #99

@jesserockz jesserockz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks for the work on this — I like the idea of supporting multiple files, but I don't think we can land it in its current shape: the action outputs become ambiguous once more than one config is processed.

get_config appends to $GITHUB_OUTPUT once per config, so GitHub's "last write wins" semantics take over — name and original-name only reflect the last config, and project-name/project-version aren't reset between configs, so they can end up reporting one config's project metadata while name reports another's. Anyone whose workflow uses ${{ steps.build.outputs.name }} to locate artifacts (the pattern in our own ci.yml) will silently get just one of the N folders and drop the rest, including the combined root manifest.json.

If every config in the list happens to produce the same name and metadata it'll appear to work, but the failure mode for anyone using it "wrong" is silent data loss followed by a confused bug report.

The feature needs to handle the whole flow — outputs, artifact layout, manifest discovery — as a coherent design before we merge. Happy to discuss what shape would work best (JSON-array outputs, a manifest-path output, etc.).

Jesse

@esphome esphome Bot marked this pull request as draft May 25, 2026 08:28
@esphome

esphome Bot commented May 25, 2026

Copy link
Copy Markdown

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

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.

Support multiple yaml files for compilation?

2 participants