From db60f9eb0697c4949be9c00cf8dc7787d383bad2 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Tue, 21 Sep 2021 19:01:11 +0300 Subject: [PATCH] release(v0.3.0-alpha.0): prepare release This is the official v0.3.0-alpha.0 release. Signed-off-by: Andrey Smirnov --- .drone.yml | 3 +- CHANGELOG.md | 97 ++++++++++++++++++++++++++++++++++++ Makefile | 7 ++- hack/chglog/CHANGELOG.tpl.md | 22 -------- hack/chglog/config.yml | 28 ----------- hack/release.sh | 27 ++++++++-- hack/release.toml | 48 ++++++++++++++++++ 7 files changed, 175 insertions(+), 57 deletions(-) delete mode 100755 hack/chglog/CHANGELOG.tpl.md delete mode 100755 hack/chglog/config.yml create mode 100644 hack/release.toml diff --git a/.drone.yml b/.drone.yml index 3a92506..e769670 100644 --- a/.drone.yml +++ b/.drone.yml @@ -133,6 +133,7 @@ steps: draft: true files: - _out/* + note: _out/RELEASE_NOTES.md when: event: - tag @@ -175,6 +176,6 @@ depends_on: --- kind: signature -hmac: bad019a7e9df2a5e2e45427c1419ac8b5dacb9022d366ad81c829dc61a0ab94d +hmac: 523acbd6b6e92b11249b0515fe28ef34dc1c3c926826e84ce9a1de3412a6a65e ... diff --git a/CHANGELOG.md b/CHANGELOG.md index 7b0661e..a3332d2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,100 @@ +## [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) + +Welcome to the v0.3.0-alpha.0 release of CAPI Bootstrap Provider Talos! +*This is a pre-release of CAPI Bootstrap Provider Talos* + + + +Please try out the release binaries and report any issues at +https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/issues. + +### CAPI v1alpha3 + +This release of CABPT is compatible with CAPI v1alpha3 (v0.3.x). +Next release of CABPT will bring compatibility with CAPI v1alpha4 (v0.4.x). + + +### Default `talosVersion` + +In previous releases of CABPT default value of `talosVersion` field was `v0.8`. +As Talos v0.8 release is almost a year old, new default value of `talosVersion` is to use whatever Talos version CABPT was +built against (in this relase, it's Talos 0.12). + +If you're still running Talos v0.8.x, please make sure `talosVersion` is set to `v0.8`. + + +### Talos 0.12 + +CABPT supports config generation for Talos 0.12. +Talos majort version can be specified in the spec of `TalosControlPlane` or `MachineDeployment`: + +```yaml + generateType: controlplane + talosVersion: v0.11 +``` + +It is recommended to specify minor version of Talos to make sure machine configuration stays comptabile with Talos version +being used even if the CABPT is upgraded to new version. + + +### Contributors + +* Alexey Palazhchenko +* Alexey Palazhchenko +* Andrey Smirnov +* Andrey Smirnov +* Serge Logvinov + +### Changes +
15 commits +

+ +* [`755a2dd`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/755a2dd90c3668db89f8eae14f60db4564764475) fix: update Talos machinery to 0.12, fix secrets persistence +* [`f91b032`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/f91b032935776c1224f824cc860bfa4df5e220b1) fix: use bootstrap data secret names +* [`6bff239`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/6bff2393840655c2361def455b601511b86ba71f) chore: use Go 1.17 +* [`56fb73b`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/56fb73b53f41b91b12ba2b3c331d7a04b7263a17) test: add test for the second machine +* [`e5b7738`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/e5b773833120fdd7ca4d57e0a0a4fe781495bf7e) test: add more tests +* [`bc4105d`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/bc4105d9e8366d4e840705a6cecfbc81bdcca00a) test: wait for CAPI availability +* [`c82b8ab`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/c82b8ab47bca5313cb96df1b70de0914da285331) chore: make versions configurable +* [`5594c96`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/5594c96daa55fb9fc9af585e8f2fc26551ce9bb5) chore: use codecov uploader from build-container +* [`cced038`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/cced038257d3eec5b7c48bc524de5165b5734496) chore: fix license headers +* [`7b5dc51`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/7b5dc51e83a54a1f5fa707c66a296ca9514c8722) chore: do not run tests on ARM +* [`d6258cf`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/d6258cf21778149a254d9669b03ac10bae9e0955) chore: improve tests runner +* [`c6ce363`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/c6ce36375ef145760647c632d64a9a3c93574e4b) chore: sign Drone CI configuration +* [`ad592d1`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/ad592d16fa8397f88a28e6a4151bc64b0a1c097d) chore: add basic integration test +* [`9fb0d07`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/9fb0d07ca4d2e8333b0b61ee0fe0ba3e6660489f) chore: add missing LICENSE file +* [`acf18d2`](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/commit/acf18d2bb09aab64687c1fccf1e628ef76e9cff8) chore: update machinery to v0.11.3 +

+
+ +### Changes from talos-systems/crypto +
8 commits +

+ +* [`deec8d4`](https://github.com/talos-systems/crypto/commit/deec8d47700e10e3ea813bdce01377bd93c83367) chore: implement DeepCopy methods for PEMEncoded* types +* [`d3cb772`](https://github.com/talos-systems/crypto/commit/d3cb77220384b3a3119a6f3ddb1340bbc811f1d1) feat: make possible to change KeyUsage +* [`6bc5bb5`](https://github.com/talos-systems/crypto/commit/6bc5bb50c52767296a1b1cab6580e3fcf1358f34) chore: remove unused argument +* [`cd18ef6`](https://github.com/talos-systems/crypto/commit/cd18ef62eb9f65d8b6730a2eb73e47e629949e1b) feat: add support for several organizations +* [`97c888b`](https://github.com/talos-systems/crypto/commit/97c888b3924dd5ac70b8d30dd66b4370b5ab1edc) chore: add options to CSR +* [`7776057`](https://github.com/talos-systems/crypto/commit/7776057f5086157873f62f6a21ec23fa9fd86e05) chore: fix typos +* [`80df078`](https://github.com/talos-systems/crypto/commit/80df078327030af7e822668405bb4853c512bd7c) chore: remove named result parameters +* [`15bdd28`](https://github.com/talos-systems/crypto/commit/15bdd282b74ac406ab243853c1b50338a1bc29d0) chore: minor updates +

+
+ +### Dependency Changes + +* **github.com/AlekSi/pointer** v1.1.0 **_new_** +* **github.com/evanphx/json-patch** v4.9.0 -> v4.11.0 +* **github.com/stretchr/testify** v1.7.0 **_new_** +* **github.com/talos-systems/crypto** 4f80b976b640 -> v0.3.2 +* **github.com/talos-systems/talos/pkg/machinery** 828772cec9a3 -> 7e63e43eb399 +* **golang.org/x/sys** 0f9fa26af87c **_new_** +* **gopkg.in/yaml.v2** v2.3.0 -> v2.4.0 +* **sigs.k8s.io/cluster-api** v0.3.12 -> v0.3.22 + +Previous release can be found at [v0.2.0](https://github.com/talos-systems/cluster-api-bootstrap-provider-talos/releases/tag/v0.2.0) + ## [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) diff --git a/Makefile b/Makefile index 86844f7..2a58537 100644 --- a/Makefile +++ b/Makefile @@ -86,8 +86,13 @@ container: generate ## Build the container image. manifests: ## Generate manifests (e.g. CRD, RBAC, etc.). @$(MAKE) local-$@ DEST=./ PLATFORM=linux/amd64 +.PHONY: release-notes +release-notes: ## Create the release notes. + @mkdir -p $(ARTIFACTS) + ARTIFACTS=$(ARTIFACTS) ./hack/release.sh $@ $(ARTIFACTS)/RELEASE_NOTES.md $(TAG) + .PHONY: release -release: manifests container ## Create the release YAML. The build result will be ouput to the specified local destination. +release: manifests container release-notes ## Create the release YAML. The build result will be ouput to the specified local destination. @$(MAKE) local-$@ DEST=./$(ARTIFACTS) PLATFORM=linux/amd64 .PHONY: deploy diff --git a/hack/chglog/CHANGELOG.tpl.md b/hack/chglog/CHANGELOG.tpl.md deleted file mode 100755 index e19ffdd..0000000 --- a/hack/chglog/CHANGELOG.tpl.md +++ /dev/null @@ -1,22 +0,0 @@ -{{ range .Versions }} - -## {{ if .Tag.Previous }}[{{ .Tag.Name }}]({{ $.Info.RepositoryURL }}/compare/{{ .Tag.Previous.Name }}...{{ .Tag.Name }}){{ else }}{{ .Tag.Name }}{{ end }} ({{ datetime "2006-01-02" .Tag.Date }}) - -{{ range .CommitGroups -}} -### {{ .Title }} - -{{ range .Commits -}} -* {{ if .Scope }}**{{ .Scope }}:** {{ end }}{{ .Subject }} -{{ end }} -{{ end -}} - -{{- if .NoteGroups -}} -{{ range .NoteGroups -}} -### {{ .Title }} - -{{ range .Notes }} -{{ .Body }} -{{ end }} -{{ end -}} -{{ end -}} -{{ end -}} \ No newline at end of file diff --git a/hack/chglog/config.yml b/hack/chglog/config.yml deleted file mode 100755 index 3d8eda0..0000000 --- a/hack/chglog/config.yml +++ /dev/null @@ -1,28 +0,0 @@ -style: github -template: CHANGELOG.tpl.md -info: - title: CHANGELOG - repository_url: https://github.com/talos-systems/talos -options: - commits: - # filters: - # Type: - # - feat - # - fix - # - perf - # - refactor - commit_groups: - # title_maps: - # feat: Features - # fix: Bug Fixes - # perf: Performance Improvements - # refactor: Code Refactoring - header: - pattern: "^(\\w*)(?:\\(([\\w\\$\\.\\-\\*\\s]*)\\))?\\:\\s(.*)$" - pattern_maps: - - Type - - Scope - - Subject - notes: - keywords: - - BREAKING CHANGE \ No newline at end of file diff --git a/hack/release.sh b/hack/release.sh index 261506f..6579fca 100755 --- a/hack/release.sh +++ b/hack/release.sh @@ -2,17 +2,33 @@ set -e +RELEASE_TOOL_IMAGE="ghcr.io/talos-systems/release-tool:latest" + +function release-tool { + docker pull "${RELEASE_TOOL_IMAGE}" >/dev/null + docker run --rm -w /src -v "${PWD}":/src:ro "${RELEASE_TOOL_IMAGE}" -l -d -n ${2} -t "${1}" ./hack/release.toml +} + function changelog { if [ "$#" -eq 1 ]; then - git-chglog --output CHANGELOG.md -c ./hack/chglog/config.yml --tag-filter-pattern "^${1}" "${1}.0-alpha.1.." - elif [ "$#" -eq 0 ]; then - git-chglog --output CHANGELOG.md -c ./hack/chglog/config.yml + (release-tool ${1}; echo; cat CHANGELOG.md) > CHANGELOG.md- && mv CHANGELOG.md- CHANGELOG.md else echo 1>&2 "Usage: $0 changelog [tag]" exit 1 fi } +function release-notes { + release-tool "${2}" --gfm > "${1}" + + size=$(stat -c%s "${1}") + + if (( size > 25000 )); then + echo "Release notes size exceeds GitHub limit of 25000 bytes" + exit 1 + fi +} + function cherry-pick { if [ $# -ne 2 ]; then echo 1>&2 "Usage: $0 cherry-pick " @@ -42,9 +58,10 @@ then else cat <