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

Use GitHub Actions for most release automation #7234

Open
cpovirk opened this issue May 24, 2024 · 1 comment
Open

Use GitHub Actions for most release automation #7234

cpovirk opened this issue May 24, 2024 · 1 comment
Labels
P3 package=general type=other Miscellaneous activities not covered by other type= labels

Comments

@cpovirk
Copy link
Member

cpovirk commented May 24, 2024

Currently, we have a shell script that we use to release Guava (and various of our other projects). It could be further automated even in its current form (e.g., to automatically close and release in Sonatype), but we could go a step further and convert most of the process to GitHub Actions. That would give us easy access to whatever OpenJDK we want to build with.

Guava has at least two actions that we want to perform in our internal repo: We update @since tags, and we bump the version number in our README. Those steps couldn't be part of the release process. Still, we could automate everything after that. Maybe we can even eliminate or automate those two steps:

  • At this point, we're unlikely to remove APIs, so maybe we can start filling in "@since 33.3.0" instead of "@since NEXT?"
  • Maybe we can find a way to store the version number only externally, whether through Copybara magic, a YAML file, or some combination of options.

We may also need to deal with an occasional hiccup or two in the release process, such as the need to rebase on gh-pages (internal bug 221894165).


cushon@ has shared some of what Error Prone does:

https://github.com/google/error-prone/blob/master/.github/workflows/release.yml#L42-L48
https://github.com/google/error-prone/blob/9e0fbf705dc98faf2a8ac88cbdb1facc0ba18696/pom.xml#L284-L292

It's using a sonatype plugin to handle the uploads: https://help.sonatype.com/en/configuring-your-project-for-deployment.html

@cpovirk cpovirk added type=other Miscellaneous activities not covered by other type= labels package=general P3 labels May 24, 2024
@cpovirk
Copy link
Member Author

cpovirk commented Jun 11, 2024

For authentication, we'd apparently soon need to use a user token instead of username+password. That sounds like it has probably always been the better solution, anyway.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P3 package=general type=other Miscellaneous activities not covered by other type= labels
Projects
None yet
Development

No branches or pull requests

1 participant