feat: per-workflow tm1_instance result-push target#153
Merged
Conversation
Introduce a canonical `tm1_instance` setting for the results-push target, resolvable per workflow via the taskfile JSON `settings` block. The deprecated `default_tm1_instance` is honoured as a final fallback and warns only when it is the value actually being used. Precedence (highest wins): 1. CLI `run --tm1-instance` 2. Taskfile JSON `settings.tm1_instance` 3. `settings.ini [tm1_integration].tm1_instance` 4. `settings.ini [tm1_integration].default_tm1_instance` (deprecated) Wiring fix: `get_effective_settings(..., json_settings=...)` now actually runs after the taskfile is parsed, so `push_results` and `auto_load_results` set inside taskfile JSON take effect. This is a behavioural change called out in CHANGELOG — taskfile-JSON values that were previously silently ignored will now win over `settings.ini`. `rushti tasks push --target-tm1-instance` is aliased to `--tm1-instance`; the legacy flag continues to work but logs a DEPRECATION warning on use. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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.
Summary
Adds a per-workflow
tm1_instancesetting for the results-push / auto-load target, with a graceful 4-tier resolution chain. Replaces the implicit reliance ondefault_tm1_instance(now deprecated but still honoured).Precedence (highest wins):
rushti run --tm1-instance <X>settings.tm1_instancesettings.ini [tm1_integration].tm1_instancesettings.ini [tm1_integration].default_tm1_instance(deprecated)At push time the run logs
Result upload target: <instance> (source: <tier>). When all four tiers are empty andpush_resultsis enabled, a reworded warning fires and the run still succeeds.Soft deprecations (both honoured indefinitely, warn only when actually used):
settings.ini [tm1_integration].default_tm1_instance→ rename totm1_instancerushti tasks push --target-tm1-instance→ alias for--tm1-instanceBehavioural change worth highlighting:
push_resultsandauto_load_resultsset inside a taskfile JSONsettingsblock now actually take effect on therunpath. They were silently ignored before becauseget_effective_settings(..., json_settings=...)was never called with the taskfile dict. If you have divergent values between taskfile JSON andsettings.ini, the taskfile value will now win — see CHANGELOG for the upgrade note.Test plan
pytest tests/unit/— 732 passed, 5 skippedpytest tests/integration/ -m "not requires_tm1"— 36 passedruff check src/ tests/— cleandefault_tm1_instanceset → DEPRECATION warning fires at loadtm1_instanceanddefault_tm1_instance→ no warningtasks push --target-tm1-instance X→ still works, logs deprecation warningtasks push --tm1-instance X→ works, no warning-m requires_tm1) — to be run by a maintainer with a live TM1Notes
resolve_tm1_instance; the# Issue #146 regressioncomments are preserved.--tm1-instance X --workflow Y) have no tier 2 because the cube schema doesn't store taskfile-level settings. This asymmetry is documented indocs/features/tm1-integration.md.🤖 Generated with Claude Code