Skip to content

Commit 511190d

Browse files
kim-tsaoamisevsk
andauthored
Update Release Doc (#629)
* Make release docs easier to find * Update Release docs * Update RELEASE.md Co-authored-by: Angel Misevski <[email protected]> Co-authored-by: Angel Misevski <[email protected]>
1 parent 089a480 commit 511190d

File tree

2 files changed

+45
-3
lines changed

2 files changed

+45
-3
lines changed

RELEASE.md

Lines changed: 44 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,46 @@
11
## Devfile Release
22

3-
Our current process is documented in
4-
[Devfile Versioning and Release Process](docs/proposals/versioning-and-release.md).
3+
### Release Process
4+
The current process can be found here:
5+
6+
[Devfile Versioning and Release Process](docs/proposals/versioning-and-release.md).
7+
8+
### Levels of Support
9+
10+
Devfile releases are considered **_stable_** even though the JSON schema is derived from an **_alpha_** version
11+
of the K8s API which is under development and managed by the `devworkspace` team.
12+
13+
14+
This means the scope of support will only apply to the subset of APIs that are part of the Devfile spec.
15+
16+
The following table summarizes the versioning relationship of a Devfile release and it's corresponding components:
17+
18+
19+
| Components/Versions of a Devfile Release | Description| Release Stage |
20+
| :--- | :--- |:--- |
21+
| [K8s API](docs/proposals/versioning-and-release.md#kubernetes-api) | The `devworkspace` API that Devfiles is based upon. It is independently versioned from the Devfile release. <br> `e.g. K8s API, v1alpha2 is part of the Devfile 2.1.0 release` | alpha
22+
| [JSON Schema](docs/proposals/versioning-and-release.md#devfile-json-schema) | The Devfile JSON structure that is generated from the K8s API. The version is in sync with the Devfiles release. <br> `e.g. JSON schema v2.1.0 is part of the Devfile 2.1.0 release` |stable
23+
| API release version | This is the software release version of the K8s API. Similar to the JSON schema, this version is also in sync with the Devfile release. <br> `e.g. K8s API v1alpha2 version 2.1.0 is part of the Devfile 2.1.0 release`| stable |
24+
25+
### Decoupling the API Release Version (Future Consideration)
26+
27+
Currently, our JSON Schema and API releases are kept in sync with the Devfile version, but we could run in a situation
28+
where we would need to branch off a separate API release and maintain out of sync versions that can be delivered within
29+
a Devile release or outside of one. <br>
30+
31+
This scenario can happen when we introduce breaking API changes that would impact our consumers while continuing to
32+
maintain backward compatibility with the schema.
33+
34+
We discussed the following approach in a team meeting, and it's documented here in case we ever need to take action:
35+
36+
1. The **main** branch will continue to be the branch for active development. If there is a breaking API change, then
37+
we would create a new API release branch and bump up the major version.
38+
2. There's the potential for dual maintenance if we are working towards a major release and find a breaking API change
39+
in the current release. We would then create a new API branch to work on the fix and then deliver the changes back to **main**.
40+
3. Since dev is done on the **main** branch, consumers will run into a known versioning bug:
41+
[Incorrect api version is generated from "go get github.com/devfile/api/v2@main"](https://github.com/devfile/api/issues/599).
42+
which will cause interim, unreleased versions to incorrectly appear as `v2xxx` rather than the latest `vNext` API version.
43+
We will need to document this limitation and make it clear that even though the versioning is incorrect,
44+
they are getting the latest code.
45+
46+

docs/proposals/versioning-and-release.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Devfile Versioning and Release Process
22
This document outlines the versioning and release process for the Devfile spec.
33

4-
##Reference
4+
## Reference
55
This process summarizes parts from the Devfile API technical meeting slides presented by @davidfestal back in October, and I recommend having a read through of it: https://docs.google.com/presentation/d/1ohM1HzPB59a3ajvB7rVWJkKONLBAuT0mb5P20_A6vLs/edit#slide=id.g8fc722bef9_1_8
66

77
## Versioning

0 commit comments

Comments
 (0)