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

Release notes CI step #16283

Merged
merged 42 commits into from
Nov 28, 2023
Merged

Conversation

vzarytovskii
Copy link
Member

Ok, let's make everyone's life miserable and require to fill in release notes every time Compiler, FSharp.Core, LanguageFeatures or VS are changed.

Will help us to generate proper release notes though.

@vzarytovskii vzarytovskii requested a review from a team as a code owner November 15, 2023 16:43
@vzarytovskii vzarytovskii reopened this Nov 15, 2023
@vzarytovskii vzarytovskii reopened this Nov 15, 2023
@nojaf
Copy link
Contributor

nojaf commented Nov 16, 2023

Can you please add some guidance on what we are expected to write?
Are we following KeepAChangelog or anything similar?
What is the expected format for a changelog entry?

@vzarytovskii
Copy link
Member Author

vzarytovskii commented Nov 16, 2023

Can you please add some guidance on what we are expected to write?

Are we following KeepAChangelog or anything similar?

What is the expected format for a changelog entry?

Bot will post a comment with instructions once I sort out auth.

@nojaf
Copy link
Contributor

nojaf commented Nov 16, 2023

Bot will post a comment with instructions once I sort out auth.

Hmm, that sounds a bit counterproductive that I would first need to raise the PR, only for a bot to yell at me.

Can the guidance not written in documentation? If I know I need to do this anyway, a clear how-to page will get the job done right?

Also, will the bot validate the entries? Will an entry without a PR link be pointed out for example?

@T-Gro
Copy link
Member

T-Gro commented Nov 16, 2023

Bot will post a comment with instructions once I sort out auth.

Hmm, that sounds a bit counterproductive that I would first need to raise the PR, only for a bot to yell at me.

Can the guidance not written in documentation? If I know I need to do this anyway, a clear how-to page will get the job done right?

Also, will the bot validate the entries? Will an entry without a PR link be pointed out for example?

There might a circular dependency - we want to have the PR link in there, but before raising the PR, you will not know what the URL is.

As for the content I would like to see:
Write it for the humans who will read it (this will differ across the different changelog files).

  • FCS only changes - for FCS API users, so especially tooling authors
  • Language changes - write it in a way to explain the language feature to a normal F# user, ideally including motivation and code samples. This can of course reference an existing RFC, does not have to be rewritten.
  • ...

@vzarytovskii
Copy link
Member Author

vzarytovskii commented Nov 16, 2023

Bot will post a comment with instructions once I sort out auth.

Hmm, that sounds a bit counterproductive that I would first need to raise the PR, only for a bot to yell at me.

Can the guidance not written in documentation? If I know I need to do this anyway, a clear how-to page will get the job done right?

It will also be in the PR temple as a footer. And optionally in separate document.

Also, will the bot validate the entries? Will an entry without a PR link be pointed out for example?

That's the plan. One issue with that though - if we gonna check exact PR url, it will always fail on first run, since PR will not be created and its number is not known.

But first I need to sort out authorization.

@smoothdeveloper
Copy link
Contributor

There might a circular dependency

Not to distract from release note process (amazing!), but can we sort out the circular dependency with:

  • approved suggestion
  • creating a RFC with the ID with merged place holder file in the lang-design repo
  • creating a discussion with links to suggestion, RFC and place holder or link to PR that points to the RFC
  • asking the author of suggestion to put links to RFC, discussion and PR (this should be under a certain consistent layout, at the top of the suggestion top post, otherwise people may not head there
  • closing the suggestion thread with a link to the RFC discussion one

This is a bit of a tedious.

Regarding this Release note PR:

let's make everyone's life miserable and

When I look at the pipeline, and why / how it is done, I'll not feel miserable filling the release notes for my contributions, this is amazing effort :)

@vzarytovskii vzarytovskii force-pushed the release-notes-ci-workflow branch from 26dd5db to e67c60d Compare November 16, 2023 11:17
@vzarytovskii
Copy link
Member Author

vzarytovskii commented Nov 16, 2023

Alright, we have a chicken-egg situation here. YAML file should be in main in order to apply correct permissions. But to get it to main we need to make sure it works as we want it to, so what I'm proposing is to see if everything works fine here: vzarytovskii#7 and if it is, I will force merge it and we'll make a test PR to test it "properly"

Couple of things missing:

  1. PR template
  2. Way to opt-out from the release notes (thinking via adding a tag, in this case bot will add a comment that release notes were skipped).

cc @nojaf

@vzarytovskii
Copy link
Member Author

Have link checker working. Will continue with opt-out things and PR template later.

@0101
Copy link
Contributor

0101 commented Nov 16, 2023

Can we just add it as optional in the beginning for testing purposes?

vzarytovskii added a commit that referenced this pull request Nov 20, 2023
Creating an dummy check_release_notes.yml, so it has correct permissions for it to run in #16283
vzarytovskii added a commit that referenced this pull request Nov 20, 2023
Creating an dummy check_release_notes.yml, so it has correct permissions for it to run in #16283
@vzarytovskii
Copy link
Member Author

@dotnet/fsharp-team-msft This needs to be merged in order for it to work (I can disable it in UI in case of any failures).

@vzarytovskii
Copy link
Member Author

I also made an opt-out by just using tag, so even if something is failing, adding tag should only re-run this singular check.

@vzarytovskii
Copy link
Member Author

/run fantomas

  Co-authored-by: vzarytovskii <1260985+vzarytovskii@users.noreply.github.com>
Copy link
Contributor

azure-pipelines.yml Show resolved Hide resolved
@vzarytovskii
Copy link
Member Author

vzarytovskii commented Nov 22, 2023

I intend to merge it to main for it to be part of CI. There's an easy way to opt-out as well as relaxed rules for the format for now.

I think it should "go live" so we understand what's working and what's not.

@vzarytovskii
Copy link
Member Author

Alright, since there are no objections...

@vzarytovskii vzarytovskii merged commit c820e06 into dotnet:main Nov 28, 2023
26 of 27 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants