Skip to content

Conversation

refi64
Copy link
Collaborator

@refi64 refi64 commented Aug 12, 2025

Draft because this depends on whatever the last PR I opened is, which I can't check right now because github is on fire. As usual, last commit is the only new change.

@refi64 refi64 requested a review from sjoerdsimons August 13, 2025 14:50
@refi64 refi64 force-pushed the wip/refi64/build-info-json branch 2 times, most recently from a9dca65 to 692b91a Compare August 15, 2025 15:18
@refi64 refi64 force-pushed the wip/refi64/build-info-json branch 2 times, most recently from 4cb67ed to 91caf42 Compare August 29, 2025 16:20
@refi64 refi64 force-pushed the wip/refi64/build-info-json branch 2 times, most recently from eeb483b to 8ee2d7b Compare September 16, 2025 13:51
Passing around `self` risks confusing the borrow checker if we need to
invoke a method on a field, and it's rather confusing to begin with.
All the generic command handling is now part of an `actions` module, and
logging happens through a rather cursed magic bridge in the new
`logging` module to remove the widespread use of outputln.
This is largely just a rename, as well as the slightly-silly
`obs-commander-test-support` crate that exists to avoid making the
primary `obs-commander` crate depend on testing dependencies.
Most of this logic is rather intricate and shareable between multiple
implementations, so it makes sense for them to be in a separate crate.
This necessitates quite a bit of refactoring of the test structure so
that the shared test code can actually run commands and inspect the
logs + artifacts. Since there are various somewhat strange requirements
around command execution (i.e. needing to use timeouts but still get the
result), that API was redone around a builder trait, which also makes it
easy for implementation-specific tests to have their own methods on it.
External services like GH Actions can read JSON but *not* YAML, and the
previous format couldn't simply be written "as JSON" because it relied on
having structs as keys. This tweaks the format to be JSON-friendly and
uses actual JSON files.
@refi64 refi64 force-pushed the wip/refi64/build-info-json branch from 8ee2d7b to 7c42db3 Compare September 16, 2025 20:53
@sjoerdsimons
Copy link
Contributor

Can you explain how having the intermediate format in json is helpful? Are you expecting things other then this implementation read it? For the runner, i can't remember if this gets pass through artifacts but if so it is a compatibility change so needs to be called in release notes for sure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants