Skip to content

Commit

Permalink
add retract versions for test tags
Browse files Browse the repository at this point in the history
  • Loading branch information
skudasov committed Sep 13, 2024
1 parent a36cd0f commit 8137551
Show file tree
Hide file tree
Showing 16 changed files with 79 additions and 1 deletion.
47 changes: 47 additions & 0 deletions RELEASE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
## Releasing a module

The Chainlink repository contains multiple independent modules. To release any of them, follow these steps:

- Merge all PRs that include the functionality you want to release (this can apply to multiple modules).
- For each module being released, add a release notes file in the .changesets folder named `vX.X.X.md`. The format is flexible, but ensure to describe all changes and any necessary upgrade procedures.
- Follow tagging strategy described below, push the tag and check the [release page](https://github.com/smartcontractkit/chainlink-testing-framework/releases)

### Tagging strategy

Use only [lightweight tags](https://git-scm.com/book/en/v2/Git-Basics-Tagging)

**Do not move tags between commits. If something need to be fixed increment patch or minor version.**

Major versions require `$pkg/$subpkg/vX.X.X-alpha` to be released before to analyze the scope of breaking changes across other repositories via Dependabot.
```
git tag k8s-test-runner/v2.0.0-test-release-alpha && git push --tags
```

Minor changes can be tagged as `$pkg/$subpkg/vX.X.X` and released after verifying [release page](https://github.com/smartcontractkit/chainlink-testing-framework/releases)
```
git tag k8s-test-runner/v0.6.0-test-release-alpha && git push --tags
```

### Minor and patch releases
- Tag the main branch using the format `$pkg/$subpkg/vX.X.X`
- Push the tags and visit https://github.com/smartcontractkit/chainlink-testing-framework/releases to check the release.

There should be no breaking changes in patch or minor releases, check output of `Breaking changes` on the release page, if there are - fix them and publish another patch version.

### Major release
- Append `vX` to Go module path, example
```
module github.com/smartcontractkit/chainlink-testing-framework/wasp/v2
```
- Tag the main branch using the format `$pkg/$subpkg/v2.X.X-alpha`
- Push the tags and visit https://github.com/smartcontractkit/chainlink-testing-framework/releases to check the release.
- Check Dependabot pipeline to analyze dependencies

## Debug Release Pipeline
Since some components of pipeline are relying on published Go modules index it is hard to test it, but we have a test script for that purpose:

To test release for any module use `-test-release-alpha` tags, they are retracted so consumers can't accidentally install them
```
nix develop
python ./scripts/test-package-release.py -tag k8s-test-runner/v0.6.0-test-release-alpha -package ./k8s-test-runner
```
2 changes: 2 additions & 0 deletions havoc/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -77,3 +77,5 @@ require (
)

replace sigs.k8s.io/controller-runtime => sigs.k8s.io/controller-runtime v0.19.0

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions k8s-test-runner/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -76,3 +76,5 @@ require (
sigs.k8s.io/structured-merge-diff/v4 v4.4.1 // indirect
sigs.k8s.io/yaml v1.3.0 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
5 changes: 4 additions & 1 deletion lib/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -325,4 +325,7 @@ require (
sigs.k8s.io/yaml v1.4.0 // indirect
)

retract v1.50.0
retract (
[v1.999.0-test-release, v1.999.999-test-release]
v1.50.0
)
2 changes: 2 additions & 0 deletions seth/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -56,3 +56,5 @@ require (
gopkg.in/yaml.v3 v3.0.1 // indirect
rsc.io/tmplfunc v0.0.3 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/asciitable/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/breakingchanges/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,5 @@ module github.com/smartcontractkit/chainlink-testing-framework/tools/breakingcha
go 1.22.6

require golang.org/x/sync v0.8.0

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/citool/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -15,3 +15,5 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/ecrimagefetcher/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/envresolve/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,5 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/ghlatestreleasechecker/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/ghsecrets/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,5 @@ require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/gotestloghelper/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,5 @@ require (
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/testlistgenerator/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -14,3 +14,5 @@ require (
github.com/spf13/pflag v1.0.5 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions tools/workflowresultparser/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,5 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]
2 changes: 2 additions & 0 deletions wasp/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -210,3 +210,5 @@ require (
go4.org/netipx v0.0.0-20230125063823-8449b0a6169f // indirect
golang.org/x/arch v0.4.0 // indirect
)

retract [v1.999.0-test-release, v1.999.999-test-release]

0 comments on commit 8137551

Please sign in to comment.