Skip to content

Commit 1565ac4

Browse files
vdemeestertekton-robot
authored andcommitted
TEP updates: simplify examples, updating template.
Signed-off-by: Vincent Demeester <[email protected]>
1 parent d7006b5 commit 1565ac4

File tree

3 files changed

+63
-61
lines changed

3 files changed

+63
-61
lines changed

hack/update-toc.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
#!/usr/bin/env bash
22

33
# Copyright 2019 The Kubernetes Authors.
4+
# Copyright 2020 The Tekton Authors.
45
#
56
# Licensed under the Apache License, Version 2.0 (the "License");
67
# you may not use this file except in compliance with the License.
@@ -18,7 +19,6 @@ set -o errexit
1819
set -o nounset
1920
set -o pipefail
2021

21-
# keep in sync with hack/verify-toc.sh
2222
TOOL_VERSION=ee652eb78c047a7b6c7417d9324a97bb05689563
2323

2424
# cd to the root path

teps/0001-tekton-enhancement-proposal-process.md

Lines changed: 44 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -72,11 +72,11 @@ a change that impacts other `tektoncd` projects or users cannot be
7272
merged if there is no `TEP` associated with it. Bug fixes and small
7373
changes like refactoring that do not affect the APIs (CRDs, REST APIs)
7474
are not concerned by this. Fixing the behaviour of a malfunctioning
75-
part of the project is also not concerned by this.
75+
part of the project does not require a TEP.
7676

7777
This TEP process is related to
7878
- the generation of an architectural roadmap
79-
- the fact that the what constitutes a feature is still undefined
79+
- the fact that the proposed feature is still undefined
8080
- issue management
8181
- the difference between an accepted design and a proposal
8282
- the organization of design proposals
@@ -117,18 +117,18 @@ state of the proposal (when is it accepted, or rejected).
117117

118118
The purpose of the TEP process is to reduce the amount of "tribal
119119
knowledge" in our community. This is done by putting in place a gate
120-
(submitting and getting a TEP merged) that mark a decision after
120+
(submitting and getting a TEP merged) that marks a decision after
121121
having discussed the subject during video calls, on mailing list and
122122
other means. This process aims to enhance communication and
123123
discoverability. The TEP process is intended to create high quality
124124
uniform design and implementation documents for WGs to deliberate.
125125

126126
A TEP is broken into sections which can be merged into source control
127127
incrementally in order to support an iterative development process. A
128-
number of section are required for a TEP to get merged in the
128+
number of sections are required for a TEP to get merged in the
129129
`proposed` state (see the different states in the [TEP
130-
Metadata](#tep-metadata)). The rest of the section can be updated once
131-
being discussed more during Working Groups and agreed on.
130+
Metadata](#tep-metadata)). The other sections cane be updated after
131+
further discussions and agreement from the Working Groups.
132132

133133
[road to Go 2]: https://blog.golang.org/toward-go2
134134

@@ -141,7 +141,7 @@ model indentifies the responsible parties for TEPs:
141141
| **Workstream** | **Driver** | **Approver** | **Contributor** | **Informed** |
142142
| --- | --- | --- | --- | --- |
143143
| TEP Process Stewardship | Tekton Contributors | Tekton Governing members | Tekton Contributors | Community |
144-
| Enhancement delivery | Enhancement Owner | Project(s) OWNERs | Enhancement Implementer(s) (may overlap with Driver) | Community |
144+
| Enhancement delivery | Enhancement Owner | Project(s) Owners | Enhancement Implementer(s) (may overlap with Driver) | Community |
145145

146146
In a nutshell, this means:
147147
- Updates on the TEP process are driven by contributors and approved
@@ -159,17 +159,17 @@ facing enhancement should follow the TEP process. If an enhancement
159159
would be described in either written or verbal communication to anyone
160160
besides the TEP author or developer, then consider creating a
161161
TEP. This means any change that may impact any other community project
162-
in a way should be proposed as a TEP. Those changes can be for
163-
technical reason, adding or removing (deprecating then removing)
164-
features.
162+
in a way should be proposed as a TEP. Those changes could be for
163+
technical reasons, or adding new features, or deprecating then
164+
removing old features.
165165

166166
Similarly, any technical effort (refactoring, major architectural
167167
change) that will impact a large section of the development community
168168
should also be communicated widely. The TEP process is suited for this
169169
even if it will have zero impact on the typical user or operator.
170170

171-
Let's list a few enhancement that happened before this process (or are
172-
happening), that would have required a TEP:
171+
Let's list a few enhancements that happened before this process (or
172+
are happening), that would have required a TEP:
173173

174174
- Failure strategies using runOn 🎉 [tektoncd/pipeline#2094](https://github.com/tektoncd/pipeline/issues/2094)
175175
- Expose v1beta1 to the world ⛈ [tektoncd/pipeline#2035](https://github.com/tektoncd/pipeline/issues/2035)
@@ -283,14 +283,16 @@ A TEP has the following states
283283
- `replaced`: The TEP has been replaced by a new TEP. The
284284
`superseded-by` metadata value should point to the new TEP.
285285

286-
When a TEP is merged with the `proposed` state, this means the
287-
project owners acknowledge this is something we need to work on *but*
288-
the proposal needs to be more detailed before we can go ahead and
289-
implement it in the main project(s). This state doesn't prevent using
286+
When a TEP is merged with the `proposed` state, this means the project
287+
owners acknowledge this is something we need to work on *but* the
288+
proposal needs to be more detailed before we can go ahead and
289+
implement it in the main project(s). We might need more information
290+
about the impact on users, or some time to socialize it with the
291+
Working Groups, etc. This state doesn't prevent using
290292
`tektoncd/experimental` to *experiment* and gather feedback.
291293

292-
A TEP can be created with the `implementable` state if it doesn't need
293-
any more discussion and got approved as it.
294+
A TEP can be moved to the `implementable` state if it doesn't need
295+
any more discussion and is approved as it.
294296

295297
See [Examples](#examples) to see examples of TEP workflow on use cases.
296298

@@ -319,18 +321,18 @@ process][]
319321

320322
## Examples
321323

322-
Let's give some example of workflow to give reader a better
323-
understanding on how and when TEP should be created and how they are
324+
Let's give some example of workflow to give the reader a better
325+
understanding on how and when a TEP should be created and how they are
324326
managed across time.
325327

326-
Those are examples, and do not necessarily reflect what happened, or
327-
will happens on the particular subject they are about. They are here
328-
to give more context and ideas on different situation that could rise
329-
while following the TEP process.
328+
These are examples, and do not necessarily reflect what happened, or
329+
what will happen on the particular subject they are about. They are
330+
here to give more context and ideas on different situations that could
331+
arise while following the TEP process.
330332

331333
### Share Task and Pipeline as OCI artifact
332334

333-
For more context, this is linked to the following:
335+
See the following links for more context on this feature:
334336

335337
- [Feature: Versioning on Tasks/Pipelines](https://github.com/tektoncd/pipeline/issues/1839)
336338
- [Oci tool: makes use of oci-artifacts to store and retrieve Tekton resources](https://github.com/tektoncd/experimental/pull/461)
@@ -353,16 +355,21 @@ Catalog](https://docs.google.com/document/d/1zUVrIbGZh2R9dawKQ9Hm1Cx3GevKIfOcRO3
353355
During those discussion it is clear that some work needs to be
354356
done:
355357
- Define a Spec for the OCI image (layers, metadata, configuration)
356-
The experimental project can be used to demo and validate that spec.
357-
- Once the spec is agreed on
358-
- Have a new TEP to add support for referencing Task and Pipeline
359-
through alternative means than in clusters (OCI image is one,
360-
using Git or an HTTP url are others)
358+
The experimental project can be used to demo and validate that
359+
spec.
360+
- Once the spec is agreed on, a new TEP can be created to discuss
361+
the support of this Spec in tekton projects (pipeline, cli, …).
362+
*Having a seperated TEP from the Spec TEP makes a clear
363+
distinction between the Spec and its implementation in the tekton
364+
projects.*
365+
- A new TEP can be created to discuss adding support for
366+
referencing Task and Pipeline through alternative means than in
367+
clusters (OCI image is one, using Git or an HTTP url are others).
368+
*This is **not covered by the rest of the flow***, it's here just to
369+
give an example that discussion on a TEP might lead to creation
370+
of new TEP.*
361371

362372
The next actions are :
363-
- Create a new TEP on support for referencing Task and Pipeline.
364-
As before, the TEP can be first discussed during Working group
365-
and refined in Google Docs before being proposed as a TEP.
366373
- Update the current TEP to define the spec (same thing as above
367374
applies). A name is choosed for those: Tekton Bundles.
368375
- Create a new TEP on implementing Tekton Bundles in tektoncd
@@ -376,24 +383,17 @@ We are now switching to the "Implementing Tekton Bundles" TEP.
376383

377384
1. It is proposed based on a design docs (discussed during working
378385
group)
379-
2. It depends on the TEP on support for referencing Task and Pipeline
380-
to be approved and in the `implementable` (aka we have agreed on
381-
how it should be implemented more or less 😝).
382-
It is also agreed (and most likely written in the TEP) that
383-
"Implementing Tekton Bundle" would serve as the first
384-
implementation of this TEP.
385-
3. The "Implementing Tekton Bundle" gets approved, and as it has been
386+
2. The "Implementing Tekton Bundle" gets approved, and as it has been
386387
discussed during working groups, it is ready for implementation, so
387388
it gets merged directly into `implementable`.
388-
4. Work is happening in `tektoncd/pipeline` (and `tektoncd/cli` in
389+
3. Work is happening in `tektoncd/pipeline` (and `tektoncd/cli` in
389390
parallel) on implementing it.
390-
5. Implementation is done, we update the TEP to put it in
391+
4. Implementation is done, we update the TEP to put it in
391392
`implemented` state.
392393

393394
### PipelineResource re-design
394395

395-
For more context, this is linked to the PipelineResource work and more
396-
accurately the following:
396+
See the following links for more context on this feature:
397397

398398
- [Tekton Pipeline Resource Extensibility](https://docs.google.com/document/d/1rcMG1cIFhhixMSmrT734MBxvH3Ghre9-4S2wbzodPiU/edit#)
399399
- [Why Aren't PipelineResources in Beta ?](https://github.com/tektoncd/pipeline/blob/master/docs/resources.md#why-arent-pipelineresources-in-beta)

teps/NNNN-tep-template/README.md

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -59,15 +59,15 @@ tags, and then generate with `hack/update-toc.sh`.
5959
- [Motivation](#motivation)
6060
- [Goals](#goals)
6161
- [Non-Goals](#non-goals)
62+
- [Requirements](#requirements)
6263
- [Proposal](#proposal)
6364
- [User Stories (optional)](#user-stories-optional)
6465
- [Story 1](#story-1)
6566
- [Story 2](#story-2)
6667
- [Notes/Constraints/Caveats (optional)](#notesconstraintscaveats-optional)
6768
- [Risks and Mitigations](#risks-and-mitigations)
6869
- [Design Details](#design-details)
69-
- [Test Plan (optional)](#test-plan-optional)
70-
- [Implementation History](#implementation-history)
70+
- [Test Plan](#test-plan)
7171
- [Drawbacks](#drawbacks)
7272
- [Alternatives](#alternatives)
7373
- [Infrastructure Needed (optional)](#infrastructure-needed-optional)
@@ -117,6 +117,13 @@ What is out of scope for this TEP? Listing non-goals helps to focus discussion
117117
and make progress.
118118
-->
119119

120+
121+
## Requirements
122+
123+
<!--
124+
List the requirements for this TEP.
125+
-->
126+
120127
## Proposal
121128

122129
<!--
@@ -172,7 +179,7 @@ required) or even code snippets. If there's any ambiguity about HOW your
172179
proposal will be implemented, this is the place to discuss them.
173180
-->
174181

175-
### Test Plan (optional)
182+
## Test Plan
176183

177184
<!--
178185
**Note:** *Not required until targeted at a release.*
@@ -189,19 +196,6 @@ All code is expected to have adequate tests (eventually with coverage
189196
expectations).
190197
-->
191198

192-
## Implementation History
193-
194-
<!--
195-
Major milestones in the life cycle of a TEP should be tracked in this section.
196-
Major milestones might include
197-
- the `Summary` and `Motivation` sections being merged signaling WG acceptance
198-
- the `Proposal` section being merged signaling agreement on a proposed design
199-
- the date implementation started
200-
- the first Tekton release where an initial version of the TEP was available
201-
- the version of Tekton where the TEP graduated to general availability
202-
- when the TEP was retired or superseded
203-
-->
204-
205199
## Drawbacks
206200

207201
<!--
@@ -223,3 +217,11 @@ Use this section if you need things from the project/SIG. Examples include a
223217
new subproject, repos requested, github details. Listing these here allows a
224218
SIG to get the process for these resources started right away.
225219
-->
220+
221+
## Upgrade & Migration Strategy (optional)
222+
223+
<!--
224+
Use this section to detail wether this feature needs an upgrade or
225+
migration strategy. This is especially useful when we modify a
226+
behavior or add a feature that may replace and deprecate a current one.
227+
-->

0 commit comments

Comments
 (0)