Skip to content

Commit db60f9e

Browse files
committed
release(v0.3.0-alpha.0): prepare release
This is the official v0.3.0-alpha.0 release. Signed-off-by: Andrey Smirnov <[email protected]>
1 parent 755a2dd commit db60f9e

File tree

7 files changed

+175
-57
lines changed

7 files changed

+175
-57
lines changed

.drone.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,6 +133,7 @@ steps:
133133
draft: true
134134
files:
135135
- _out/*
136+
note: _out/RELEASE_NOTES.md
136137
when:
137138
event:
138139
- tag
@@ -175,6 +176,6 @@ depends_on:
175176

176177
---
177178
kind: signature
178-
hmac: bad019a7e9df2a5e2e45427c1419ac8b5dacb9022d366ad81c829dc61a0ab94d
179+
hmac: 523acbd6b6e92b11249b0515fe28ef34dc1c3c926826e84ce9a1de3412a6a65e
179180

180181
...

CHANGELOG.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,100 @@
1+
## [CAPI Bootstrap Provider Talos 0.3.0-alpha.0](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/releases/tag/v0.3.0-alpha.0) (2021-09-21)
2+
3+
Welcome to the v0.3.0-alpha.0 release of CAPI Bootstrap Provider Talos!
4+
*This is a pre-release of CAPI Bootstrap Provider Talos*
5+
6+
7+
8+
Please try out the release binaries and report any issues at
9+
https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/issues.
10+
11+
### CAPI v1alpha3
12+
13+
This release of CABPT is compatible with CAPI v1alpha3 (v0.3.x).
14+
Next release of CABPT will bring compatibility with CAPI v1alpha4 (v0.4.x).
15+
16+
17+
### Default `talosVersion`
18+
19+
In previous releases of CABPT default value of `talosVersion` field was `v0.8`.
20+
As Talos v0.8 release is almost a year old, new default value of `talosVersion` is to use whatever Talos version CABPT was
21+
built against (in this relase, it's Talos 0.12).
22+
23+
If you're still running Talos v0.8.x, please make sure `talosVersion` is set to `v0.8`.
24+
25+
26+
### Talos 0.12
27+
28+
CABPT supports config generation for Talos 0.12.
29+
Talos majort version can be specified in the spec of `TalosControlPlane` or `MachineDeployment`:
30+
31+
```yaml
32+
generateType: controlplane
33+
talosVersion: v0.11
34+
```
35+
36+
It is recommended to specify minor version of Talos to make sure machine configuration stays comptabile with Talos version
37+
being used even if the CABPT is upgraded to new version.
38+
39+
40+
### Contributors
41+
42+
* Alexey Palazhchenko
43+
* Alexey Palazhchenko
44+
* Andrey Smirnov
45+
* Andrey Smirnov
46+
* Serge Logvinov
47+
48+
### Changes
49+
<details><summary>15 commits</summary>
50+
<p>
51+
52+
* [`755a2dd`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/755a2dd90c3668db89f8eae14f60db4564764475) fix: update Talos machinery to 0.12, fix secrets persistence
53+
* [`f91b032`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/f91b032935776c1224f824cc860bfa4df5e220b1) fix: use bootstrap data secret names
54+
* [`6bff239`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/6bff2393840655c2361def455b601511b86ba71f) chore: use Go 1.17
55+
* [`56fb73b`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/56fb73b53f41b91b12ba2b3c331d7a04b7263a17) test: add test for the second machine
56+
* [`e5b7738`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/e5b773833120fdd7ca4d57e0a0a4fe781495bf7e) test: add more tests
57+
* [`bc4105d`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/bc4105d9e8366d4e840705a6cecfbc81bdcca00a) test: wait for CAPI availability
58+
* [`c82b8ab`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/c82b8ab47bca5313cb96df1b70de0914da285331) chore: make versions configurable
59+
* [`5594c96`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/5594c96daa55fb9fc9af585e8f2fc26551ce9bb5) chore: use codecov uploader from build-container
60+
* [`cced038`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/cced038257d3eec5b7c48bc524de5165b5734496) chore: fix license headers
61+
* [`7b5dc51`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/7b5dc51e83a54a1f5fa707c66a296ca9514c8722) chore: do not run tests on ARM
62+
* [`d6258cf`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/d6258cf21778149a254d9669b03ac10bae9e0955) chore: improve tests runner
63+
* [`c6ce363`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/c6ce36375ef145760647c632d64a9a3c93574e4b) chore: sign Drone CI configuration
64+
* [`ad592d1`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/ad592d16fa8397f88a28e6a4151bc64b0a1c097d) chore: add basic integration test
65+
* [`9fb0d07`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/9fb0d07ca4d2e8333b0b61ee0fe0ba3e6660489f) chore: add missing LICENSE file
66+
* [`acf18d2`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/acf18d2bb09aab64687c1fccf1e628ef76e9cff8) chore: update machinery to v0.11.3
67+
</p>
68+
</details>
69+
70+
### Changes from talos-systems/crypto
71+
<details><summary>8 commits</summary>
72+
<p>
73+
74+
* [`deec8d4`](https://github.com/talos-systems/crypto/commit/deec8d47700e10e3ea813bdce01377bd93c83367) chore: implement DeepCopy methods for PEMEncoded* types
75+
* [`d3cb772`](https://github.com/talos-systems/crypto/commit/d3cb77220384b3a3119a6f3ddb1340bbc811f1d1) feat: make possible to change KeyUsage
76+
* [`6bc5bb5`](https://github.com/talos-systems/crypto/commit/6bc5bb50c52767296a1b1cab6580e3fcf1358f34) chore: remove unused argument
77+
* [`cd18ef6`](https://github.com/talos-systems/crypto/commit/cd18ef62eb9f65d8b6730a2eb73e47e629949e1b) feat: add support for several organizations
78+
* [`97c888b`](https://github.com/talos-systems/crypto/commit/97c888b3924dd5ac70b8d30dd66b4370b5ab1edc) chore: add options to CSR
79+
* [`7776057`](https://github.com/talos-systems/crypto/commit/7776057f5086157873f62f6a21ec23fa9fd86e05) chore: fix typos
80+
* [`80df078`](https://github.com/talos-systems/crypto/commit/80df078327030af7e822668405bb4853c512bd7c) chore: remove named result parameters
81+
* [`15bdd28`](https://github.com/talos-systems/crypto/commit/15bdd282b74ac406ab243853c1b50338a1bc29d0) chore: minor updates
82+
</p>
83+
</details>
84+
85+
### Dependency Changes
86+
87+
* **github.com/AlekSi/pointer** v1.1.0 **_new_**
88+
* **github.com/evanphx/json-patch** v4.9.0 -> v4.11.0
89+
* **github.com/stretchr/testify** v1.7.0 **_new_**
90+
* **github.com/talos-systems/crypto** 4f80b976b640 -> v0.3.2
91+
* **github.com/talos-systems/talos/pkg/machinery** 828772cec9a3 -> 7e63e43eb399
92+
* **golang.org/x/sys** 0f9fa26af87c **_new_**
93+
* **gopkg.in/yaml.v2** v2.3.0 -> v2.4.0
94+
* **sigs.k8s.io/cluster-api** v0.3.12 -> v0.3.22
95+
96+
Previous release can be found at [v0.2.0](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/releases/tag/v0.2.0)
97+
198

299
<a name="v0.2.0-alpha.12"></a>
3100
## [v0.2.0-alpha.12](https://github.com/talos-systems/talos/compare/v0.2.0-alpha.11...v0.2.0-alpha.12) (2021-05-14)

Makefile

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,8 +86,13 @@ container: generate ## Build the container image.
8686
manifests: ## Generate manifests (e.g. CRD, RBAC, etc.).
8787
@$(MAKE) local-$@ DEST=./ PLATFORM=linux/amd64
8888

89+
.PHONY: release-notes
90+
release-notes: ## Create the release notes.
91+
@mkdir -p $(ARTIFACTS)
92+
ARTIFACTS=$(ARTIFACTS) ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(TAG)
93+
8994
.PHONY: release
90-
release: manifests container ## Create the release YAML. The build result will be ouput to the specified local destination.
95+
release: manifests container release-notes ## Create the release YAML. The build result will be ouput to the specified local destination.
9196
@$(MAKE) local-$@ DEST=./$(ARTIFACTS) PLATFORM=linux/amd64
9297

9398
.PHONY: deploy

hack/chglog/CHANGELOG.tpl.md

Lines changed: 0 additions & 22 deletions
This file was deleted.

hack/chglog/config.yml

Lines changed: 0 additions & 28 deletions
This file was deleted.

hack/release.sh

Lines changed: 22 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,33 @@
22

33
set -e
44

5+
RELEASE_TOOL_IMAGE="ghcr.io/talos-systems/release-tool:latest"
6+
7+
function release-tool {
8+
docker pull "${RELEASE_TOOL_IMAGE}" >/dev/null
9+
docker run --rm -w /src -v "${PWD}":/src:ro "${RELEASE_TOOL_IMAGE}" -l -d -n ${2} -t "${1}" ./hack/release.toml
10+
}
11+
512
function changelog {
613
if [ "$#" -eq 1 ]; then
7-
git-chglog --output CHANGELOG.md -c ./hack/chglog/config.yml --tag-filter-pattern "^${1}" "${1}.0-alpha.1.."
8-
elif [ "$#" -eq 0 ]; then
9-
git-chglog --output CHANGELOG.md -c ./hack/chglog/config.yml
14+
(release-tool ${1}; echo; cat CHANGELOG.md) > CHANGELOG.md- && mv CHANGELOG.md- CHANGELOG.md
1015
else
1116
echo 1>&2 "Usage: $0 changelog [tag]"
1217
exit 1
1318
fi
1419
}
1520

21+
function release-notes {
22+
release-tool "${2}" --gfm > "${1}"
23+
24+
size=$(stat -c%s "${1}")
25+
26+
if (( size > 25000 )); then
27+
echo "Release notes size exceeds GitHub limit of 25000 bytes"
28+
exit 1
29+
fi
30+
}
31+
1632
function cherry-pick {
1733
if [ $# -ne 2 ]; then
1834
echo 1>&2 "Usage: $0 cherry-pick <commit> <branch>"
@@ -42,9 +58,10 @@ then
4258
else
4359
cat <<EOF
4460
Usage:
45-
commit: Create the official release commit message.
61+
commit: Create the official release commit message.
4662
cherry-pick: Cherry-pick a commit into a release branch.
47-
changelog: Update the specified CHANGELOG.
63+
changelog: Update the specified CHANGELOG.
64+
release-notes: Create release notes for GitHub release.
4865
EOF
4966

5067
exit 1

hack/release.toml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# commit to be tagged for new release
2+
commit = "HEAD"
3+
4+
project_name = "CAPI Bootstrap Provider Talos"
5+
github_repo = "talos-systems/cluster-api-bootstrap-provider-talos"
6+
match_deps = "^github.com/(talos-systems/[a-zA-Z0-9-]+)$"
7+
8+
# previous release
9+
previous = "v0.2.0"
10+
11+
pre_release = true
12+
13+
preface = """\
14+
"""
15+
16+
[notes]
17+
18+
[notes.talos]
19+
title = "Talos 0.12"
20+
description = """\
21+
CABPT supports config generation for Talos 0.12.
22+
Talos majort version can be specified in the spec of `TalosControlPlane` or `MachineDeployment`:
23+
24+
```yaml
25+
generateType: controlplane
26+
talosVersion: v0.11
27+
```
28+
29+
It is recommended to specify minor version of Talos to make sure machine configuration stays comptabile with Talos version
30+
being used even if the CABPT is upgraded to new version.
31+
"""
32+
33+
[notes.capi]
34+
title = "CAPI v1alpha3"
35+
description = """\
36+
This release of CABPT is compatible with CAPI v1alpha3 (v0.3.x).
37+
Next release of CABPT will bring compatibility with CAPI v1alpha4 (v0.4.x).
38+
"""
39+
40+
[notes.defaultversion]
41+
title = "Default `talosVersion`"
42+
description = """\
43+
In previous releases of CABPT default value of `talosVersion` field was `v0.8`.
44+
As Talos v0.8 release is almost a year old, new default value of `talosVersion` is to use whatever Talos version CABPT was
45+
built against (in this relase, it's Talos 0.12).
46+
47+
If you're still running Talos v0.8.x, please make sure `talosVersion` is set to `v0.8`.
48+
"""

0 commit comments

Comments
 (0)