Conversation
Async Filter
…uments' property.
Add extraArgs property on filter runners
The prepareScope function now includes all environment variables in the returned scope under the 'env' key. This allows scripts and evaluations to access environment variables during execution.
ProfileFilter now uses filterFromObject to initialize its Filter field with the profile name as the ID, improving consistency and error handling during filter creation.
Introduces the ability to specify preShell and postShell commands in the Profile struct, which are executed before and after the main profile run. Updates ProfileFromObject to parse these fields from the profile object and adds runDirectShellCommand for cross-platform shell execution.
Introduces a new test to verify that preShell and postShell commands are executed correctly before and after the filter pipeline in Regolith. Includes test project configuration and manifests for behavior and resource packs.
Replaces runDirectShellCommand with runShellCommands, allowing multiple shell commands to be executed in a single session and environment variable changes to persist across commands. Updates preShell and postShell execution to use the new function for improved environment handling on both Windows and Unix platforms.
Added UTF-16 LE decoding to handle PowerShell output encoding on Windows. Enhanced test assertions to verify that environment variables set in preShell persist and are accessible in postShell. Updated config.json to set and check environment variables in shell commands.
Improves readability of the RunProfile function by adjusting indentation and code block structure. No functional changes were made; the logic remains the same.
Refactored Profile to use a ShellCommands struct for preShell and postShell, allowing commands to be specified per OS (windows, linux, darwin) or as a universal array. Updated command execution logic and ProfileFromObject parsing to handle both formats. Adjusted test to match new Run signature.
Introduces a new test to verify OS-specific preShell and postShell commands in Regolith. Includes test logic and supporting test data for Windows, Linux, and macOS environments.
Introduces a 'nested' boolean to the scope in prepareScope, indicating if the current context has a parent. This can be used to differentiate between nested and top-level evaluations.
Support when and disabled properties in profile filters
Add environment variables to evaluation scope
Introduces LoadEnvFile and LoadEnvFileFromPath functions to load environment variables from .env files, without overwriting existing variables. Includes comprehensive tests for both functions, covering file absence, variable parsing, quoting, and priority behavior.
Introduces a --env flag to specify a custom .env file path. The flag is parsed early to load environment variables before command execution, improving configuration flexibility.
Refactored TestLoadEnvFileFromPath to use subtests for independent runs with different .env files and variable values. This improves test isolation and verifies that environment variables are correctly loaded and overwritten between runs.
Add 'nested' flag to evaluation scope
…nning it directly in main().
Env file support
…on parser for preShell and postShell properties.
…l (UTF16 is the default for PS), the commands used in testing explicitly output text in UTF8 for more consistent result testing.
…ll and postShell properties.
Add Pre and Post scripts in profiles
…om another branch, from before the signature changeed.
…n 1.7: - Updated regolith init - Updated test files - Updated version compatibility check to allow files with schema 1.7
Nusiq
marked this pull request as ready for review
January 25, 2026 21:36
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
I'm making this PR early because it's the best place to keep track of things TODO before we actually merge it and release it.
Changes
regolith runandregolith watchcommands Add extraArgs property on filter runners #340disabledandwhenproperties. Support when and disabled properties in profile filters #342envproperty to be available forgo-simple-evalAdd environment variables to evaluation scope #341go-simple-evalevaluator Add 'nested' flag to evaluation scope #344TODO Before Merge
envproperty)nestedproperty)The documentation pull request is here: Bedrock-OSS/regolith-docs#9