Conversation
7fc3b23 to
871abf9
Compare
Owner
Author
|
@Ajpantuso wanted to draw your attention to this PR just so you're aware of it since I know you worked on some of the env stuff a bit. I'd hold off on any env-related things for a couple of days until I can get this out since all of that logic is going to change. |
3165305 to
44cab31
Compare
jdx
pushed a commit
that referenced
this pull request
Apr 11, 2026
## Summary - add missing task sandbox fields to the mise task schemas - add top-level `env_file`/`dotenv`/`env_path` schema entries and mark them deprecated as legacy shortcuts - allow env age directive options, tighten complex age option nesting, and cover the schema fixture - keep sandbox fields in a task-only schema overlay so they validate for `[tasks.*]` but do not leak into `[task_templates.*]`, whose Rust type does not deserialize/apply them ## Context - The renderer builds both task and `task_template` schemas from `task_props`. The new `taskOnlyProps` overlay is for fields accepted by `Task` but not `TaskTemplate`; this mirrors the existing task-only treatment for `extends`. - `env_file`, `dotenv`, and `env_path` are still accepted by current serde parsing, but they are legacy top-level shortcuts. #1361 marked `env_file`/`env_path` deprecated in favor of `env.mise.file`/`env.mise.path`; #1519 later rewrote env parsing and kept accepting `env_file`, alias `dotenv`, and `env_path` without a runtime deprecation warning. The schema keeps them valid but marks them deprecated to point users at `[env] _.file` / `_.path`. - Task sandbox config fields were introduced with process sandboxing in #8845; `allow_env` wildcard semantics were later expanded in #8974. - Age env directives, including flattened `EnvDirectiveOptions` on age values, were introduced in #6463. This PR now mirrors the Rust variants more closely: top-level age options are allowed with `age = "..."`, while complex `age = { value = ... }` options must be nested inside the `age` object. ## Verification - `bun xtasks/render/schema.ts` - `jq empty schema/mise.json schema/mise-task.json schema/miserc.json` - `git diff --check` - `mise run test:e2e e2e/config/test_schema_tombi`
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.
This is a major refactor of how env vars are handled. Previously, they were resolved as part of parsing but they really need to be done one at a time so that the results of each var can be used for the next one. This should also make it possible to greatly simplify how env vars are handled in tools by using the same logic.
Fixes #1262
Prereq for #1447
Prereq for #1303
Prereq for #1261