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

Propose a software release process for Reich Lab packages #14

Merged
merged 3 commits into from
Jan 9, 2025

Conversation

bsweger
Copy link
Contributor

@bsweger bsweger commented Jan 8, 2025

I'm planning to publish Cladetime to PyPI and couldn't find any documented procedures for deploying Reich Lab software to package indexes like PyPI, CRAN, npm.

ensure that people won't need to create their own process every time).
- The recommended publication process gives the team control over the timing
and content of software releases.
- Attaching ourselves to the Hubverse process means that the Reich Lab doesn't
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I expect that publishing to PyPI will unearth some nuances that aren't documented in the current Hubverse release process, because that documented is R-focused.

However, I'd propose that we submit PRs to the Hubverse guidelines rather than try to maintain our own version for the Lab.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More or less agree with this. The process for publishing to CRAN requires more manual intervention and more back-and-forth, but it does not require any OAuth workflows, we will likely add a separate section of the guidelines to handle language-specific publishing.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Makes sense. I added an issue to update the Hubverse docs once Cladetime is on PyPI (i.e., we know how to do it): hubverse-org/hubDocs#233

Copy link
Member

@matthewcornell matthewcornell left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems reasonable to me. I don't have anything to add.

Comment on lines 9 to 10
To my knowledge, the Lab does not actively maintain any software packages on a
package index.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Several years ago, one of our students put this package on pypi: https://pypi.org/project/pymmwr/. We haven't touched or maintained it since then.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the link!

Do lab projects still use this package (dependabot flagged several security VULNs, including 6 classified as high severity: https://github.com/reichlab/pymmwr/security/dependabot)?

Does anyone besides the original author have maintainer status on PyPI?

I'll amend the text about "no prior art," but will frame it as "the prior art we have predates modern PyPI security practices like trusted publishers and predates GitHub actions as a way to automate publication"

Copy link
Contributor

@elray1 elray1 Jan 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • I don't know of any current projects that use it, but it could be that we start using it some time. it's a useful tool
  • probably no one else has maintainer status on PyPI
  • sounds good r.e. amendment

@elray1
Copy link
Contributor

elray1 commented Jan 9, 2025

I also don't have anything to add, this seems good to me. Particular things that seem good are:

  • having some kind of guidance or procedures for this written down to refer to
  • not having to do extra work for things that we aren't actively planning on releasing

Copy link
Member

@zkamvar zkamvar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me! I have one small suggestion to reword non-descriptive link text.

decisions/2025-01-08-rfc-reichlab-software-release.md Outdated Show resolved Hide resolved
Comment on lines +23 to +25
- This proposal concerns the mechanics and development process for published
packages; it does not cover how to determine if pursuing publication is
desirable.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💯 here be dragons

ensure that people won't need to create their own process every time).
- The recommended publication process gives the team control over the timing
and content of software releases.
- Attaching ourselves to the Hubverse process means that the Reich Lab doesn't
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More or less agree with this. The process for publishing to CRAN requires more manual intervention and more back-and-forth, but it does not require any OAuth workflows, we will likely add a separate section of the guidelines to handle language-specific publishing.

Copy link

@lshandross lshandross left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. I also have links to some resources I used when getting packages up on CRAN if it would be helpful to collect those somewhere

@zkamvar
Copy link
Member

zkamvar commented Jan 9, 2025

LGTM. I also have links to some resources I used when getting packages up on CRAN if it would be helpful to collect those somewhere

@lshandross it would be great to add these to the hubDevs vignette. Could you open an issue in hubDevs? Also related is hubverse-org/hubDocs#233

Copy link
Member

@nickreich nickreich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! Thanks for formalizing this.

@bsweger bsweger merged commit f6a9963 into main Jan 9, 2025
@bsweger bsweger deleted the bs/rfc/reichlab-software-release branch January 9, 2025 20:42
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