Skip to content

Conversation

@brettlangdon
Copy link
Member

This new .. ddtrace-release-notes:: directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

@brettlangdon brettlangdon added the changelog/no-changelog A changelog entry is not required for this PR. label Mar 3, 2022
@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch from d869396 to 810c6bb Compare March 3, 2022 23:21
@brettlangdon
Copy link
Member Author

@brettlangdon brettlangdon marked this pull request as ready for review March 3, 2022 23:27
@brettlangdon brettlangdon requested a review from a team as a code owner March 3, 2022 23:27
Copy link
Member

@Kyle-Verhoog Kyle-Verhoog left a comment

Choose a reason for hiding this comment

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

Just a few nits, otherwise lgtm

@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch from f094053 to 1e14eb0 Compare March 4, 2022 12:34
@brettlangdon
Copy link
Member Author

This PR still doesn't solve is, adding the unreleased notes from the current branch so we can validate spell checking on them, or so we can see what is unreleased on 1.x.

As well, one side effect of this PR, any branch that has this directive will always build from all release branches. Meaning when we release a bugfix release it will include release notes for all new major/minor versions that have been released.

For example:

We release 0.70.0, 0.71.0, and then 0.70.1

When we build the docs for 0.70.1 this change will also include 0.71.0's release notes instead of only being for <= 0.70.x.

We can probably get around this by checking if the current commit is for a release tag and then limiting to only that minor version as a max.

And checking for this could also help us with the spell checking on PR as well, if we notice the current commit is not for a specific release tag (and we are not on a release branch), then we can build the current branches release notes as well.... we just have to maybe get creative in how we know which release notes are unreleased/not in a release branch (reno has trouble with this as-is).

@brettlangdon
Copy link
Member Author

@Mergifyio backport 0.x

@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch from 1e14eb0 to 049194c Compare March 4, 2022 17:26
@mergify
Copy link
Contributor

mergify bot commented Mar 4, 2022

backport 0.x

🟠 Waiting for conditions to match

  • merged [:pushpin: backport requirement]

@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch 2 times, most recently from b8a84f4 to 3238928 Compare March 9, 2022 15:29
@codecov-commenter
Copy link

Codecov Report

Merging #3368 (3238928) into 1.x (9dab78a) will not change coverage.
The diff coverage is n/a.

Impacted file tree graph

@@           Coverage Diff           @@
##              1.x    #3368   +/-   ##
=======================================
  Coverage   79.46%   79.46%           
=======================================
  Files         615      615           
  Lines       46427    46427           
=======================================
  Hits        36895    36895           
  Misses       9532     9532           

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9dab78a...3238928. Read the comment docs.

@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch from 3238928 to 11cea56 Compare March 10, 2022 20:17
@brettlangdon brettlangdon added this to the v1.1.0 milestone Mar 16, 2022
@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch 3 times, most recently from adac32e to 7ceb1ae Compare March 22, 2022 13:45
@brettlangdon
Copy link
Member Author

I have updated this PR to address the issue of always generating ALL the notes.

Now we will look for the max version we should report for by traversing the git log until we find the first ref for a release branch or dev branch. We will then use that to determine the max version to generate for.

For example, for this branch it will find 1.x, so we set the max cutoff version to 2.0.0. If we generate from 0.60 it'll find 0.60 and set the max cutoff version to 0.61.0.

This will ensure that when we generate notes for older versions we don't include newer version in the log.

@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch 2 times, most recently from 8dad192 to bd57825 Compare March 22, 2022 14:07
This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes
@brettlangdon brettlangdon force-pushed the brettlangdon/dynamic.release.notes branch from bd57825 to d3b18e8 Compare March 22, 2022 14:22
Kyle-Verhoog
Kyle-Verhoog previously approved these changes Mar 22, 2022
Copy link
Member

@Kyle-Verhoog Kyle-Verhoog left a comment

Choose a reason for hiding this comment

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

Just a couple nits, otherwise lgtm

@brettlangdon
Copy link
Member Author

@Mergifyio backport 1.0 0.60 0.59

@mergify
Copy link
Contributor

mergify bot commented Mar 22, 2022

backport 1.0 0.60 0.59

🟠 Waiting for conditions to match

  • merged [:pushpin: backport requirement]

@brettlangdon
Copy link
Member Author

@brettlangdon brettlangdon merged commit a357d8d into 1.x Mar 22, 2022
@brettlangdon brettlangdon deleted the brettlangdon/dynamic.release.notes branch March 22, 2022 21:22
mergify bot pushed a commit that referenced this pull request Mar 22, 2022
…es (#3368)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

# Conflicts:
#	docs/release_notes.rst
mergify bot pushed a commit that referenced this pull request Mar 22, 2022
…es (#3368)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

# Conflicts:
#	docs/release_notes.rst
@mergify
Copy link
Contributor

mergify bot commented Mar 22, 2022

@mergify
Copy link
Contributor

mergify bot commented Mar 22, 2022

backport 0.x

✅ Backports have been created

brettlangdon added a commit that referenced this pull request Mar 22, 2022
…es (#3368)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)
@brettlangdon
Copy link
Member Author

brettlangdon added a commit that referenced this pull request Mar 22, 2022
…es (#3368)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)
brettlangdon added a commit that referenced this pull request Mar 23, 2022
…es (#3368) (#3474)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
brettlangdon added a commit that referenced this pull request Mar 23, 2022
…es (#3368) (#3477)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
mergify bot added a commit that referenced this pull request Mar 23, 2022
…es (#3368) (#3477)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
(cherry picked from commit d4e5260)
brettlangdon pushed a commit that referenced this pull request Mar 23, 2022
…es (#3368) (#3477) (#3479)

* chore(docs): add custom directive to dynamically generate release notes

This new `.. ddtrace-release-notes::` directive will dynamically search for all
release branches + earliest release version and generate the desired release notes

* Update docs/conf.py

(cherry picked from commit a357d8d)

Co-authored-by: Brett Langdon <brett.langdon@datadoghq.com>
(cherry picked from commit d4e5260)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/no-changelog A changelog entry is not required for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants