Replies: 7 comments 5 replies
-
I'm a "1" on this (like it)! Thanks for the detailed run-down. My one question: what is a "signed" tag? |
Beta Was this translation helpful? Give feedback.
-
1 from me (actually more like +💯😜) |
Beta Was this translation helpful? Give feedback.
-
Love it-thanks for the proposal!
This is a huge advantage to what you're proposing (which is akin to a "dev branch" convo we had a while back, albeit more structured--we need a landing place for pre-release commits). Another advantage is making it easier for more than one person at a time to work in the code base, so big 👍 from me! Would love to discuss doing the same for our Python code 😄 |
Beta Was this translation helpful? Give feedback.
-
A 1 from me too, with the disclaimer that most of my work has been solo, so detailed workflows are fairly new to me. Thanks for the proposal. |
Beta Was this translation helpful? Give feedback.
-
I am a 1.5: I don't really have strong opinions about this, but happy to go with this proposal. I like the idea of laying out formal process. I think the only thing I would have proposed differently would be keeping the release candidate on a branch other than |
Beta Was this translation helpful? Give feedback.
-
1 from me as well. I've often felt confused by having each merged pull request be a release, and setting up a more robust and formalized process makes more sense to me. |
Beta Was this translation helpful? Give feedback.
-
Closing this discussion because we now have guidelines in hubDevs: https://hubverse-org.github.io/hubDevs/articles/release-checklists.html |
Beta Was this translation helpful? Give feedback.
-
Note: this is of most interest to members of the hubverse developer team and any contributors. Users of the hubverse are welcome to comment, but ultimately the decision will be made by the development team. I am most interested in the following:
(also sorry for the length, TL;DR: let's use tags for releases 🏷️ 📦)
Background: All around the R-Universe 🛰️ ☄️
A couple of weeks ago, I enabled the creation of https://hubverse-org.r-universe.dev/. The R-universe is a CRAN-like repository that will check for updates to the GitHub versions of the packages and build them to binary versions on an hourly basis.
I wrote an rOpenSci blog post (8-10 minute read) about the advantages of the R-universe, but one major advantage is that users do not have to install packages using the {remotes} package, which means that they can use one line to install binary packages for their system:
Aside from the user advantages, this means we can now be more intentional with package releases.
Current release process: main as release
As of now, all packages are released from the
main
branch. This means that every merged pull request is considered a release.Advantages:
Disadvantages:
Proposal: buffered release from tag 🏷️
I would like to propose to use tags and GitHub releases to officially manage releases. This would effectively make the
main
branch the "release candidate" version to add incremental changes.Last year, I wrote up a detailed document on the release process for The Carpentries Workbench that describes this process.
In short, the process of releasing an R package looks like this:
main
branch as usuali. Iterate.
ii. Test. For people comfortable with testing, have them use
remotes::install_github("huberse/{pkg}")
to test it locallyi. bump the version number
ii. create a (preferably signed) tag
X.Y.Z
and do a GitHub release from that tag, summarizing the changes in the commentsmain
to a development (X.Y.Z.9000
) versionAdvantages:
Disadvantages:
Documenting the workflow 📝
Whatever we decide for the official workflow, we should document it somewhere. @annakrystalli has suggested as a vignette in
hubDevs
.Related: Release schedule 🗓️
At the moment, we do not have a release schedule (as far as I know). I have been fairly terrible about this in my own work, but if we are trying to build and sustain a community, setting expectations like this reduces uncertainty and surprise and it gives users a way to prepare for, test, and even get excited about upcoming changes. This is not really something that we can do with our current workflow.
Beta Was this translation helpful? Give feedback.
All reactions