Release with release-please
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 15/100
Línea de trabajo
Start with the plan's first item: jwk-loader 1.3.0 must publish through release-please before this setup is copied. The work touches lib/jwt/version.rb (MAJOR/MINOR/TINY annotations), push_gem.yml (adding workflow_call and workflow_dispatch), a new release-please.yml, and CONTRIBUTING.md plus the PR template. Done means the first release-please release PR, tag, GitHub release and RubyGems gem all succeed after the manual steps are removed.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Releasing is manual today: bump version.rb right after each release, add a changelog row in every PR, tag the release by hand, and create the GitHub release by hand. release-please automates all of that from commit messages. It keeps a release PR open, and merging that PR tags the release, creates the GitHub release with its changelog section, and publishes the gem. anakinj/jwk-loader already releases this way, so its config and workflows are the starting point.
Start this after 3.3.1 is released the current way. None of the commits since v3.3.0 use conventional titles, so release-please would generate an empty changelog for them, and releasing first gives a clean cut-over.
Plan
- Wait for jwk-loader 1.3.0 to publish through release-please. That gem's publish job hasn't succeeded on a real release yet. If it fails, fix it there before copying the setup.
- Release 3.3.1 the current way.
- Require conventional PR titles. Pull requests are squash merged with the PR title as the commit message, so the title is what release-please reads. A PR adding a title check is ready, together with a
ciprefix for Dependabot and documentation inCONTRIBUTING.mdand the PR template. Once it's merged, make the check a required status check onmain. - Add the release-please config:
release-type: ruby,include-v-in-tag: trueso tags stayvX.Y.Z, and a manifest set to3.3.1. Usechangelog-sectionsfor the changelog format described under Decisions. - Make the version file updatable.
lib/jwt/version.rbuses separateMAJOR,MINORandTINYconstants, which the Ruby updater most likely doesn't rewrite. Add the genericx-release-please-major,-minorand-patchannotations to those lines and list the file underextra-files, rather than restructuring it. - Publish from the release job. Add
release-please.yml, and givepush_gem.ymlaworkflow_calltrigger so the release job can call it, plusworkflow_dispatchwith a tag input to re-publish an existing tag if publishing fails. Tags created withGITHUB_TOKENdon't trigger other workflows, so the tag trigger alone won't fire. That keeps the existing tag and version check, build, push and wait steps. - Check the RubyGems trusted publishing role. The policy behind
RUBYGEMS_PUSH_ROLEmay only allow tag refs orpush_gem.yml, and publishing from a reusable workflow called onmainmay need it widened. - Dry run before merging with the
release-pleaseCLI's--dry-run, to confirm it bumps the version constants and writes the changelog as intended. - Remove the manual steps: the
NEXTchangelog section and itsYour contribution hereplaceholders, the changelog row requirement inCONTRIBUTING.mdand the PR template, and the manual release steps. release-please adds new sections under# Changelog. - Confirm the first release: the release PR, the tag, the GitHub release and the gem on RubyGems.
Decisions
- Changelog format (decided): release-please's default changelog, with custom sections.
changelog-sectionsmapsfeatto Features,fixandperfto Fixes and enhancements, andrevertto Reverts, and hidesrefactor,docs,test,ci,buildandchore. Entries are taken from PR titles, so titles are worth editing before merging, and a user-visible change needs afeatorfixtitle to appear. Authors are no longer credited in the changelog or the GitHub release. If that's missed,changelog-type: githubbrings credit back with one config change. - Release names. GitHub releases are named
jwt-3.3.0today, and release-please will probably name themv3.4.0. Check whether that matters to anyone, and whether the config can keep the current name. - CI on release PRs. release-please opens them with
GITHUB_TOKEN, so CI won't run on them. They only change the version and changelog, so that's probably fine. Otherwise use a GitHub App token. 2-10-stable. Keep releasing 2.x manually for now. release-please can manage a second branch later if needed.
Posted by Claude on behalf of @anakinj.
- Lenguaje dominante
- Ruby
- Estrellas
- 3.7k
- Forks
- 381
- Merge medio
- 15 h 15 min
- PR fusionados (30 d)
- 12
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de jwt/ruby-jwt
-
Dificultad 3/5 1-2 días Aptitud para principiantes 65/100
jwt/ruby-jwt#786 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 68/100
jwt/ruby-jwt#743 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
jwt/ruby-jwt#723 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
jwt/ruby-jwt#428 · 7 comentarios · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Introduce JWE supportAbiertoenhancement feature help wanted up for grabs
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
jwt/ruby-jwt#80 · 11 comentarios · 8 reacciones ·
Los mantenedores suelen responder en 1 día
Todos los issues de jwt/ruby-jwt
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Add a dark modeAbiertoaccessibility enhancement good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
samiromer2/Ruby-Consent-Portal#35 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
bug detail
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
keygen-sh/keygen-api#1161 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
Los mantenedores suelen responder en 1 día