-
Notifications
You must be signed in to change notification settings - Fork 1.8k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Per-feature Flag Struct for New Features
This commit adds the per-feature flag struct and documentations for new features in TektonCD pipeline. part of: TEP-0138
- Loading branch information
Showing
3 changed files
with
71 additions
and
18 deletions.
There are no files selected for viewing
This file contains 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
This file contains 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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
### Per-feature flag | ||
|
||
All new features added after [v0.53.0](https://github.com/tektoncd/pipeline/releases/tag/v0.53.0) will be enabled by dedicated feature flags. | ||
To introduce a new feature flag for a new feature, we will follow these steps: | ||
- Add a new per feature flag to the [configMap](./../config/config-feature-flags.yaml) and a new feature flag with Default value follwoing the `PerFeatureFlag` struct in feature_flags.go. | ||
- Add unit tests for the new feature flag. Update all test cases where the configMap setting is needed, such as the provenance test cases. | ||
- To add integration tests: | ||
- First, add the tests to `pull-tekton-pipeline-alpha-integration-test`. Turn on the newly-introduced flag at [alpha test Prow environment](./../test/e2e-tests-kind-prow-alpha.env). | ||
- When the flag is promoted to `beta` stability level, change the test to use [`beta` Prow environment setup]. | ||
- To add tests for combinations of feature flags, add tests for all alpha-stable feature flags being turned on, with one alpha feature turned off at a time. | ||
|
||
### `enable-api-fields` | ||
|
||
Note that the `enable-api-fields` feature flag will continue to validate all current [beta](https://github.com/tektoncd/pipeline/blob/release-v0.52.x/docs/additional-configs.md#beta-features) and [alpha](https://github.com/tektoncd/pipeline/blob/release-v0.52.x/docs/additional-configs.md#alpha-features) features utill [v0.52.x] all of them have stabilized or deprecated. | ||
|
||
Snapshot of existent `beta` and `alpha` API-driven features as of [v0.52.x](https://github.com/tektoncd/pipeline/releases/tag/v0.52.0): | ||
| Feature | Stability level | | ||
| ----------------------------------------------------------------------------------------------------- | --------------- | | ||
| [Array Results and Array Indexing](pipelineruns.md#specifying-parameters) | beta | | ||
| [Object Parameters and Results](pipelineruns.md#specifying-parameters) | beta | | ||
| [Remote Tasks](./taskruns.md#remote-tasks) and [Remote Pipelines](./pipelineruns.md#remote-pipelines) | beta | | ||
| [Isolated `Step` & `Sidecar` `Workspaces`](./workspaces.md#isolated-workspaces) | beta | | ||
| [Hermetic Execution Mode](./hermetic.md) | alpha | | ||
| [Windows Scripts](./tasks.md#windows-scripts) | alpha | | ||
| [Debug](./debug.md) | alpha | | ||
| [Step and Sidecar Overrides](./taskruns.md#overriding-task-steps-and-sidecars) | alpha | | ||
| [Matrix](./matrix.md) | alpha | | ||
| [Task-level Resource Requirements](compute-resources.md#task-level-compute-resources-configuration) | alpha | | ||
| [Configure Default Resolver](./resolution.md#configuring-built-in-resolvers) | alpha | | ||
|
||
<!-- TODO #6965 Consolidate beta and alpha feature tables from additional-configs to a single source of truth> |
This file contains 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