Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌱 Add area label lookup for prefixes to release notes tool #8780

Merged
merged 1 commit into from
Jun 8, 2023

Conversation

g-gaston
Copy link
Contributor

@g-gaston g-gaston commented Jun 1, 2023

What this PR does / why we need it:

Building on top of @oscr's original PR (all credit to oscar), adding support to handle multiple area labels. I added the changes in a separate commit since the original PR was already reviewed. I'll squash before merge.

Adds support for release notes script to lookup area labels. If found it uses the area tag for prefix. Otherwise it uses MISSING_AREA meaning it needs manual update.
If multiple area labels are found, it uses MULTIPLE_AREAS[area1|area2...].
It also sorts each section alphabetically.

Example
> go run hack/tools/release/notes.go --from=v1.4.0
Changes since v1.4.0
---
## :chart_with_upwards_trend: Overview
- 192 new commits merged
- 3 breaking changes :warning:
- 9 feature additions ✨
- 44 bugs fixed 🐛

## :memo: Proposals
- MISSING_AREA: Fix mesosphere link in proposal (#8447)
- MISSING_AREA: docs/proposal: drop broken link to ClusterClass google doc (#8554)

## :warning: Breaking Changes
- MISSING_AREA: Use k8s v1.27.0 in quickstart docs and CAPD (#8518)
- clusterctl: Bump to CR v0.15.0 (#8007)
- clusterctl: Stop serving v1alpha3 API types (#8549)

## :sparkles: New Features
- MISSING_AREA: Add flags for configuring rate limits (#8579)
- MISSING_AREA: Implements Getter interface for IPAddressClaim object (#8374)
- MISSING_AREA: Move mergeMap to util (#8377)
- MISSING_AREA: add support or concurrent MD upgrades in classy clusters (#8432)
- MISSING_AREA: ci: collect debug information about leftover processes (#8734)
- MISSING_AREA: hack/observability: Add Parca, Bump observability tools, Add Grafana scale dashboard (#8754)
- clusterctl: Add support for add-on providers in clusterctl (#8472)
- clusterctl: feat: accept resource mutators in Move operation (#7966)
- machineset: MS preflight checks to improve cluster stability (#8595)

## :bug: Bug Fixes
- MISSING_AREA: : Make sure the Kubernetes API Server service already created on remote cluster before applying ClusterResourceSets (#8048)
- MISSING_AREA: Add node watcher to MachinePool controller (#8443)
- MISSING_AREA: Add soft ownership from clusters to ClusterResourceSetBinding (#8318)
- MISSING_AREA: Adjust machinepool helper e2e timeout (#8739)
- MISSING_AREA: CAPD: change the haproxy entrypoint to prevent getting stopped immediately after start (#8685)
- MISSING_AREA: ClusterResourceSet: continue applying when apply for a single cluster failed (#8611)
- MISSING_AREA: Delegate CAPD port selection to the container runtime (#8642)
- MISSING_AREA: Drop uid from error messages (#8333)
- MISSING_AREA: Ensure all GitHub releases are fetched when searching provider versions (#8240)
- MISSING_AREA: Ensure nil-pointer check in KCP syncMachines (#8481)
- MISSING_AREA: Ensure ownerReference apiVersions are always up to date (#8256)
- MISSING_AREA: Fix Documentation for Ignition Bootstrap Feature Gate Environment Variable (#8651)
- MISSING_AREA: Fix MachinePool node taint patching (#8462)
- MISSING_AREA: Fix length check in MD helper (#8352)
- MISSING_AREA: Ignore cert annotation in rollout test (#8761)
- MISSING_AREA: Increased assertClusterObjects timeout (#8758)
- MISSING_AREA: MachinePool: always patch owned conditions, fix GetTypedPhase, doc fixes (#8627)
- MISSING_AREA: Move image from external host to CAPI repo (#8587)
- MISSING_AREA: Prevent KCP to create many private keys for each reconcile (#8617)
- MISSING_AREA: Remove non-functioning ginkgo.no-color flag (#8703)
- MISSING_AREA: Revert "Add calico as e2e test CNI" (#8575)
- MISSING_AREA: Validate variables in defaulting webhook (#8332)
- MISSING_AREA: avoid errors when MHC and upgrade occur together in classy clusters (#8464)
- MISSING_AREA: bug fix to set node interruptible label (#8297)
- MISSING_AREA: enable updates from CloudInit (mostly ubuntu) based KCPs to Ignition (flatcar) based KCPs (#8339)
- MISSING_AREA: fix node label propagation (#8427)
- MISSING_AREA: internal/machine-controller fix flakes in phases test (#8576)
- MISSING_AREA: ipam: fix gateway being required for IPAddress (#8506)
- MISSING_AREA: set uninitialized taint only on worker nodes (#8358)
- MISSING_AREA: test/e2e check for machines being ready after provisioning on Runtime SDK test (#8625)
- MISSING_AREA: test/e2e: use topology cluster-template for clusterctl upgrade mgmt cluster (#8311)
- MISSING_AREA: test/framework fix docker pod log collector (#8634)
- MISSING_AREA: verifier: use pull_request instead of pull_request_target (#8635)
- clusterclass: update TopologyReconciled condition on cluster deletion (#8422)
- clusterctl: Return error on infra cluster and control plane discovery (#8604)
- clusterctl: Use local kustomize version in create-local-repository.py (#8414)
- clusterctl: clusterctl: return early if release for latest tag does not exist yet (#8253)
- dependency: Update kindnetd and kindest/haproxy (#8469)
- machinepool: Update MachinePool bootstrap dataSecretName when bootstrap config changes (#8667)
- provider/control-plane-kubeadm: Allow machine rollout if cert reconcile fails (#8711)
- testing: Catch failure when fetching component URLs (#8455)
- testing: Fix flake in machine phases test (#8370)
- testing: Fix flaky wait in CRS test (#8334)
- testing: machine-controller: fix phase tests race condition in tests on lastUpdated field (#8484)

## :seedling: Others
- MISSING_AREA: :book: Added link to the file format (#8419)
- MISSING_AREA: Add area/dependency label for dependabot when bumping gomod (#8410)
- MISSING_AREA: Add go.work to .gitignore and .dockerignore (#8155)
- MISSING_AREA: Add unit test for health check during creation of a new cluster accessor (#8269)
- MISSING_AREA: Allow backport for experimental features (#8293)
- MISSING_AREA: Bump EndBug/add-and-commit from 9.1.1 to 9.1.2 (#8584)
- MISSING_AREA: Bump EndBug/add-and-commit from 9.1.2 to 9.1.3 (#8621)
- MISSING_AREA: Bump actions/checkout from 3.3.0 to 3.4.0 (#8321)
- MISSING_AREA: Bump actions/checkout from 3.4.0 to 3.5.0 (#8389)
- MISSING_AREA: Bump actions/checkout from 3.5.0 to 3.5.2 (#8540)
- MISSING_AREA: Bump actions/setup-go from 3.5.0 to 4.0.1 (#8664)
- MISSING_AREA: Bump docker/distribution to v2.8.2 (#8645)
- MISSING_AREA: Bump gcb-docker-gcloud from v20230424-910a2a439d to v20230522-312425ae46 (#8770)
- MISSING_AREA: Bump gcb-docker-gcloud image (#8570)
- MISSING_AREA: Bump github.com/go-logr/logr from 1.2.3 to 1.2.4 (#8461)
- MISSING_AREA: Bump github.com/onsi/gomega from 1.27.4 to 1.27.5 (#8390)
- MISSING_AREA: Bump golang version (1.20.3 -> 1.20.4) (#8749)
- MISSING_AREA: Bump golangci-lint to 1.52.1 and fix findings (#8331)
- MISSING_AREA: Bump kpromo to v3.5.1 (#8301)
- MISSING_AREA: CAPD: only ignore necessary kubeadm preflight errors (#7911)
- MISSING_AREA: Deprecate v1alpha3 and v1alpha4 in CRDs (#8687)
- MISSING_AREA: Drop the first return value from FindOldMachineSets (#8415)
- MISSING_AREA: E2E: autoscaler e2e test (#8514)
- MISSING_AREA: E2e: Unhold CI packages before installing (#7910)
- MISSING_AREA: Improve gomega fail handling in clusterClass rollout (#8769)
- MISSING_AREA: KCP: improve error log on scale up when Machine doesn't have a nodeRef (#8564)
- MISSING_AREA: Make IPAddressClaim.Status.AddressRef optional (#8493)
- MISSING_AREA: Move ClusterClass quickstart test from e2e-informing to e2e-main (#8765)
- MISSING_AREA: Remove v1alpha2 adoption logic from KCP (#8328)
- MISSING_AREA: Rename internal/util/ssa util functions for better naming consistency (#8423)
- MISSING_AREA: Switch cloudbuild.yaml to e2 machine type (#8428)
- MISSING_AREA: Update controller tools to v0.11.4 (#8547)
- MISSING_AREA: Update conversion-gen version (v0.26.0 -> v0.27.1) (#8573)
- MISSING_AREA: Update kubebuilder envtest (1.26.0 -> 1.27.1) (#8599)
- MISSING_AREA: Upgrade golang version (1.19.6 -> 1.20.3) (#8527)
- MISSING_AREA: assert E2E error responses when waiting for MD nodes (#8501)
- MISSING_AREA: bump containerd to 1.6.18 in hack/tools (#8523)
- MISSING_AREA: deprecate rolloutAfter in cluster topology (#8324)
- MISSING_AREA: e2e: log leftover processes to eventually detect zombies (#8662)
- MISSING_AREA: hack/observability: Bump Loki, Grafana and promtail charts (#7182)
- MISSING_AREA: replace reflect deepequal in bootstrap kubeadm (#8266)
- MISSING_AREA: test/e2e: cleanup test files (#8557)
- MISSING_AREA: test/framework: add functions to collect infrastructure logs in tests (#8675)
- MISSING_AREA: upgrading control plane should only be blocked if MD are upgrading (not just rolling out) (#8658)
- MISSING_AREA: use providerID string as-is (#8577)
- MISSING_AREA: verifier: change back to pull_request_target to make it work again (#8637)
- MULTIPLE_AREAS[dependency|clusterctl]: Update cert manager to v1.11.1 (#8529)
- MULTIPLE_AREAS[dependency|clusterctl]: Update cert-manager to v1.11.2 (#8638)
- MULTIPLE_AREAS[dependency|clusterctl]: Update cert-manager to v1.12.1 (#8748)
- clusterctl: Add move annotation on objects for cluster move operation (#8322)
- clusterctl: Bump controller-tools to v0.12 (#8581)
- clusterctl: Fix spelling mistake in clusterctl comment (#8344)
- clusterctl: clusterctl: Add labels to OWNERS file (#8342)
- clusterctl: prepare main branch for v1.5 development (#8430)
- dependency: Bump github.com/onsi/ginkgo/v2 from 2.9.2 to 2.9.4 (#8622)
- dependency: Bump github.com/onsi/ginkgo/v2 from 2.9.4 to 2.9.5 (#8666)
- dependency: Bump github.com/onsi/gomega from 1.27.6 to 1.27.7 (#8715)
- dependency: Bump github.com/prometheus/client_golang from 1.14.0 to 1.15.0 (#8541)
- dependency: Bump github.com/prometheus/client_golang from 1.15.0 to 1.15.1 (#8623)
- dependency: Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#8502)
- dependency: Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#8503)
- dependency: Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#8665)
- dependency: Bump golang.org/x/text from 0.8.0 to 0.9.0 (#8504)
- dependency: Bump golangci-lint to v1.51.2 (#8312)
- dependency: Bump gomodules.xyz/jsonpatch/v2 from 2.2.0 to 2.3.0 (#8716)
- dependency: Bump kind to v0.19.0 (#8681)
- dependency: Bump kindnet and haproxy images to latest (#8676)
- dependency: Update cert-manager to v1.12.0 (#8702)
- dependency: Update controller runtime to 0.14.6 (#8405)
- dependency: Update docker to v20.10.24 (#8475)
- dependency: Update kind to v0.18.0 (#8433)
- dependency: Update kpromo to v3.5.2 (#8487)
- dependency: Update kpromo to v3.6.0 (#8680)
- devtools: Align kind registry script with upstream (#8731)
- devtools: Pin delve to match go minor version (#8725)
- documentation: Fix outdated link to Kubernetes docs (#8712)
- documentation: Fix typo: exits -> exists (#8701)
- documentation: Use dualstack kind cluster in quick-start and startup script (#8661)
- e2e-testing: Disable fail-fast by default for e2e tests (#8548)
- e2e-testing: Improve logging for MachinePool upgrade test (#8728)
- e2e-testing: Pin cgroup driver used in v0.3 and v0.4 templates (#8684)
- release: Add runtime extension components to release (#8438)
- runtime-sdk: Update handler name validation rules (#8280)
- testing: Add calico as e2e test CNI (#8420)
- testing: Add dualstack e2e test (#8517)
- testing: Allow overriding gingko args in e2e tests (#8365)
- testing: Fix typos in phrase "to exist" (#8688)
- testing: Merge ownerReference tests with quick start (#8264)
- testing: Update e2e upgrade test versions (#8361)
- testing: Update version matrix for github workflows (#8398)

:book: Additionally, there have been 44 contributions to our documentation and book. (#8763, #8762, #8753, #8740, #8729, #8719, #8699, #8686, #8673, #8632, #8630, #8613, #8612, #8596, #8597, #8593, #8580, #8552, #8559, #8520, #8521, #8509, #8510, #8511, #8508, #8454, #8279, #8446, #8416, #8439, #8383, #8355, #8308, #8309, #8397, #8375, #8319, #8327, #8363, #8351, #8284, #8307, #8252, #8288)


_Thanks to all our contributors!_ 😊

Which issue(s) this PR fixes:
Part of #8263

cc @kubernetes-sigs/cluster-api-release-team

@k8s-ci-robot k8s-ci-robot added the cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. label Jun 1, 2023
@k8s-ci-robot k8s-ci-robot added the size/M Denotes a PR that changes 30-99 lines, ignoring generated files. label Jun 1, 2023
@g-gaston g-gaston force-pushed the add-notes-area-prefix branch from ce2dd3e to 7b6ab38 Compare June 1, 2023 18:25
@nawazkh
Copy link
Member

nawazkh commented Jun 2, 2023

Thanks for putting this together. Looks good to me.
It may be helpful to review if we could put in a sample output of this script?

@g-gaston
Copy link
Contributor Author

g-gaston commented Jun 3, 2023

Thanks for putting this together. Looks good to me.

It may be helpful to review if we could put in a sample output of this script?

It's already in the description, click on example 😁
Or are you looking for a different example?

Copy link
Contributor

@killianmuldoon killianmuldoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good! I like the automatic sorting by area too.

Just one suggestions about using the github library instead of execcing the CLI.

hack/tools/release/notes.go Show resolved Hide resolved
@g-gaston g-gaston requested a review from killianmuldoon June 6, 2023 17:42
@killianmuldoon
Copy link
Contributor

/retest

@killianmuldoon
Copy link
Contributor

/lgtm

Let's get this merged and we can continue to iterate as the comms team makes improvements.

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 6, 2023
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 73ba93662be74793a05e8daf908f119308ddd754

@killianmuldoon
Copy link
Contributor

/cherry-pick release-1.4

@k8s-infra-cherrypick-robot

@killianmuldoon: once the present PR merges, I will cherry-pick it on top of release-1.4 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.4

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@killianmuldoon
Copy link
Contributor

/cherry-pick release-1.4

@k8s-infra-cherrypick-robot

@killianmuldoon: once the present PR merges, I will cherry-pick it on top of release-1.4 in a new PR and assign it to you.

In response to this:

/cherry-pick release-1.4

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@killianmuldoon
Copy link
Contributor

/hold

@g-gaston can you squash the commits?

@k8s-ci-robot k8s-ci-robot added the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 6, 2023
@g-gaston g-gaston force-pushed the add-notes-area-prefix branch from 4924ca7 to e866efa Compare June 7, 2023 13:23
@k8s-ci-robot k8s-ci-robot added area/clusterctl Issues or PRs related to clusterctl needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. and removed size/M Denotes a PR that changes 30-99 lines, ignoring generated files. labels Jun 7, 2023
Co-authored-by: Oscar Utbult <oscar.utbult@gmail.com>
@g-gaston g-gaston force-pushed the add-notes-area-prefix branch from e866efa to 7b21bd1 Compare June 7, 2023 13:24
@k8s-ci-robot k8s-ci-robot removed lgtm "Looks good to me", indicates that a PR is ready to be merged. needs-rebase Indicates a PR cannot be merged because it has merge conflicts with HEAD. labels Jun 7, 2023
@k8s-ci-robot k8s-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed size/XXL Denotes a PR that changes 1000+ lines, ignoring generated files. labels Jun 7, 2023
@g-gaston
Copy link
Contributor Author

g-gaston commented Jun 7, 2023

/hold

@g-gaston can you squash the commits?

@killianmuldoon done!

Copy link
Contributor

@killianmuldoon killianmuldoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@k8s-ci-robot k8s-ci-robot added the lgtm "Looks good to me", indicates that a PR is ready to be merged. label Jun 7, 2023
@k8s-ci-robot
Copy link
Contributor

LGTM label has been added.

Git tree hash: 45fa91b6cfa992968f697adf5de220d8dd2aa6a3

@killianmuldoon
Copy link
Contributor

/assign @sbueringer

@g-gaston
Copy link
Contributor Author

g-gaston commented Jun 7, 2023

/area release
/remove area/clusterctl

@k8s-ci-robot k8s-ci-robot added the area/release Issues or PRs related to releasing label Jun 7, 2023
@g-gaston
Copy link
Contributor Author

g-gaston commented Jun 7, 2023

/remove-area clusterctl

@k8s-ci-robot k8s-ci-robot removed the area/clusterctl Issues or PRs related to clusterctl label Jun 7, 2023
Copy link
Contributor

@killianmuldoon killianmuldoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to approve this to help move along with this work - thanks again @oscr @g-gaston!

/approve

@k8s-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: killianmuldoon

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@k8s-ci-robot k8s-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Jun 8, 2023
@g-gaston
Copy link
Contributor Author

g-gaston commented Jun 8, 2023

/unhold

@k8s-ci-robot k8s-ci-robot removed the do-not-merge/hold Indicates that a PR should not merge because someone has issued a /hold command. label Jun 8, 2023
@k8s-ci-robot k8s-ci-robot merged commit 5bf21ae into kubernetes-sigs:main Jun 8, 2023
@k8s-ci-robot k8s-ci-robot added this to the v1.5 milestone Jun 8, 2023
@k8s-infra-cherrypick-robot

@killianmuldoon: new pull request created: #8825

In response to this:

/cherry-pick release-1.4

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
approved Indicates a PR has been approved by an approver from all required OWNERS files. area/release Issues or PRs related to releasing cncf-cla: yes Indicates the PR's author has signed the CNCF CLA. lgtm "Looks good to me", indicates that a PR is ready to be merged. size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants