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

Feature request: publish git release tags during NPM package release process #51553

Closed
5 tasks done
jayaddison opened this issue Nov 16, 2022 · 12 comments
Closed
5 tasks done
Assignees
Labels
Bug A bug in TypeScript Infrastructure Issue relates to TypeScript team infrastructure

Comments

@jayaddison
Copy link

Suggestion

πŸ” Search Terms

git tag release

βœ… Viability Checklist

My suggestion meets these guidelines:

  • This wouldn't be a breaking change in existing TypeScript/JavaScript code
  • This wouldn't change the runtime behavior of existing JavaScript code
  • This could be implemented without emitting different JS based on the types of the expressions
  • This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
  • This feature would agree with the rest of TypeScript's Design Goals.

⭐ Suggestion

As part of the process for release of typescript packages to NPM, push a corresponding git tag to this repository.

πŸ“ƒ Motivating Example

Version 4.9.3 of typescript is currently available on NPM and it is not immediately clear what git commit version that corresponds to in this repository.

πŸ’» Use Cases

This would be useful during dependency and upgrade review - for example, when looking for potential functionality, compatibility, performance, security and transitive dependency implications of a version upgrade.

With the current approach, git tags are published, although that occurs some variable amount of time after package publication to NPM taken place. It's possible that some users do upgrade before a git tag is published -- and it's also possible that they could review the contents of the release themselves to perform non-source-controlled review.

@freeatnet
Copy link

Something must have broken in the release process, as there seems to be no GitHub release and no release notes.

@RyanCavanaugh RyanCavanaugh added Bug A bug in TypeScript Infrastructure Issue relates to TypeScript team infrastructure labels Nov 17, 2022
@RyanCavanaugh
Copy link
Member

This is supposed to be automatic (you can see git tags for all the prior releases) but something must have broken recently.

@weswigham
Copy link
Member

weswigham commented Nov 17, 2022

@DanielRosenwasser do you wanna add "Review and undraft the automatically made github release" to the release handbook? πŸ˜‚ We have a draft release over here just waiting for someone to check it over and undraft it, and I believe publishing that triggers the git tag, too.

@weswigham
Copy link
Member

(Actually, literally every 4.9 release is sitting in draft state, waiting for human review T.T )

@jayaddison
Copy link
Author

Thanks @RyanCavanaugh @weswigham - I see the 4.9.3 tag now πŸ‘

It depends on what works for your checklists and processes, but I've found that configuring GitHub Actions to publish-on-(tag|release) can be useful -- basically providing some level of linkage between the tag/release and the published package.

One tricky aspect is handling build/infrastructure failures gracefully, and/or testing the publication workflow before a 'live' package release. I don't know what NPM offers there, but in the Python ecosystem, PyPi provides a 'test' instance so that the entire package build and upload process can be checked before go-live.

@weswigham
Copy link
Member

It's all really automated, it's just the UI on the release queue screen isn't great for editing a large blob of markdown, so the pipeline makes the release as a draft so a human can go edit the non-final GitHub release copy template with missing information and click "undraft". We now have a reminder on the job queue page that it needs to be done just after it's queued. πŸ˜…

If anyone from azure pipelines/GitHub actions is reading this by pure chance: queue time variable fields with configurable input box types and a markdown input box type would be a nice enhancement.

@jayaddison
Copy link
Author

Thanks @weswigham - manual edits to the markup for releases displayed on GitHub makes sense -- and for a popular package, manual review steps in general seems sensible too!

Either way, if git tags could be pushed and made visible in the repository here during the package publication process to NPM, that could help users and developers to save time inspecting the differences between versions.

@per1234
Copy link

per1234 commented Mar 31, 2023

@weswigham please consider reopening. 5.0.3 was published hours ago and there still isn't a tag.

@per1234
Copy link

per1234 commented Jun 30, 2023

@weswigham please consider reopening. 5.1.6 was published days ago and there still isn't a tag (#54881).

@per1234
Copy link

per1234 commented Aug 25, 2023

Once again we have the problem of a package release having been published without the maintainers creating a Git tag.

@ahejlsberg @sandersn @andrewbranch @RyanCavanaugh @DanielRosenwasser @jakebailey please reopen this issue. There is clear evidence that your current system doesn't work.

@per1234
Copy link

per1234 commented Apr 7, 2025

Once again we have the problem of the 5.8.3 package release having been published without the maintainers creating a Git tag.

@ahejlsberg @sandersn @andrewbranch @RyanCavanaugh @DanielRosenwasser @jakebailey please reopen this issue. There is clear evidence that your current system doesn't work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug A bug in TypeScript Infrastructure Issue relates to TypeScript team infrastructure
Projects
None yet
Development

No branches or pull requests

5 participants