Experimental features
Description
--experimental is a single global flag that gates several unrelated features. It is available on
every subcommand, and it announces itself:
Experimental Mode EnabledWarning | Experimental features can change or disappear without going through the deprecation cycle described on the "Deprecations" page. A pipeline that depends on one may need adjusting on any release, not only on a major one. |
What it enables
CUE manifests
Without the flag, a .cue manifest is refused outright:
cuelang support is experimental, please use '--experimental' flag to enable itThe flag also adds updatecli.cue to the filenames Updatecli looks for when no manifest is named on
the command line. Ordinarily that search covers only updatecli.yaml and then the updatecli.d
directory, so a updatecli.cue sitting in the working directory is not picked up unless the flag is
set.
Reporting to Udash
Udash collects pipeline results for viewing over time.
Without the flag, publishing is skipped silently, no warning, no error, and the run reports
success. Configuring UPDATECLI_UDASH_* or running updatecli udash login is not enough on its own.
With the flag, results are published under a section headed Udash - Experimental.
--disable-udash-report switches it off again without dropping the rest of the flag.
WebAssembly autodiscovery plugins
A crawler whose name ends in .wasm is loaded as an external WebAssembly plugin. Without the flag it
is skipped with a warning naming the crawler:
Skipping autodiscovery plugin "example.wasm" because experimental features are disabledThe rest of the autodiscovery run continues normally, so this is easy to miss in a long log. The built-in crawlers described on the "Autodiscovery" page are unaffected and need no flag.
Using it
updatecli pipeline diff --experimental
updatecli compose diff --experimentalThis website’s own CI runs updatecli compose diff --experimental on every pull request, so the flag
is safe to adopt for regular use, the caveat is about stability of the features themselves, not about
the flag being dangerous.
Tip | Nothing already working changes when you add the flag. Enabling it never disables a stable feature, so adding it to a CI job that does not use any of the above is a no-op. |
Go Further
Deprecations - the stability promise that experimental features are exempt from.
Environment variables - including the Udash variables.
Autodiscovery - the built-in crawlers.
Commands - the full flag reference.