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

Towards 1.4.0 #69

Open
1 task
torfason opened this issue May 24, 2022 · 6 comments
Open
1 task

Towards 1.4.0 #69

torfason opened this issue May 24, 2022 · 6 comments
Labels
maintenance Internal reminder, rather than externally reported issue

Comments

@torfason
Copy link
Collaborator

torfason commented May 24, 2022

Targeted issues

As of September 2023, v1.3.1 has been released, with all items originally targeted for that.

User visible features targeted for v1.4.0 now only include #63, (config function), which has not been implemented. No target date has been set for that release. Keeping this issue open since it contains important documentation about the development process and governance of the project.

Development process

Development happens on the dev. Contributions are merged from forked repos to dev through pull requests. Stable changes are then either migrated to the main branch for wider testing before a release, or are migrated upon the next release.

There is a preference for a relatively clean linear commit history in the main branch, so it it great to keep each issue fix to 1-3 commits unless it is that much bigger. No worries though about submitting incremental pull requests, they can be rebased at the end, by either submitter or maintainer, to get back to a few logical commits with an end result for which all tests and checks pass. A recommended default commit structure is:

  • Tests first in a single commit, allowing examination of how they fail before a feature/fix is implemented
  • The implementation code in a second commit
  • Documentation, including updates to NEWS.md and a version bump, in a third commit

The project now includes a build/build_and_release_process.R file. Contributors are kindly asked to run the code in this file prior to pushing any commits, and make sure that it (a) runs with out error and (b) does not result in unexpected modifications of project files. Among other things, the script regenerates autogenerated files, such as the *.Rd and README.md files, to correctly reflect changes in primary source files.

Governance

For anyone interested in getting involved, it might be good to give some background on the governance of this project:

The package was written by @smbache, but the package is currently maintained by @torfason. The philosophy that they share regarding import includes among other things:

  • We do not have the resources to "move fast and break things" so slow and steady is the way to go
  • Therefore:
    • New features should be backwards compatible unless there is an extremely compelling reason
    • New features should generally be documented as well or better than existing features
    • New features should generally have as good or better test coverage as existing features
  • When it comes to choosing features both demand and supply are important
    • Demand in terms of the number of people who comment on an issue
    • Supply in terms of help with implementation

Within this philosophy, I would very much like to make any decisions on consensus, and would be most interested in hearing from people who have submitted or commented on bugs already, since they clearly care about this project in one way or another.

@torfason
Copy link
Collaborator Author

I'm planning a maintenance release of the fixes currently in main. @awong234 , @brshallo , @hutch3232 and @J-Moravec , you have made recent contributions. If you are using the package in your work flow and could update to the most recent version (1.3.0.9004) and report any regressions, that would be much appreciated. Otherwise, I plan to submit this version as 1.3.1 to CRAN by the end of the month. The 1.3.0.9004 version can be installed with:

pak::pak("rticulate/import")

or

remotes::install_github("rticulate/import")

@hutch3232
Copy link
Contributor

Hi @torfason, apologies I never got back to you (funny enough, one year ago to the day). I can start testing these maintenance fixes in my workflows. I also just opened two patch PRs and I'm wondering if we could get those tested and added to this 1.3.1 maintenance release as well? #80 #81

@torfason
Copy link
Collaborator Author

That sounds great, I saw the PRs, have not had the opportunity to test them, but they look like they are fixing genuine issues. I see you've built on top of the most recent version, if you have time to do some local testing on your end, using the catch_script_err branch, I see that as a good foundation for a 1.3.1 release.

I do see that the checks are failing on github, probably just because of outdated actions. I'd be all for just throwing out the old actions and adding new versions as in:

We would possibly need to update for running on both PR and push, but is probably much simpler than trying to manually update each action (based on my experience with other packages). I can look into doing the action update myself as well, but would need to find time. If you do have time to look into that, and are able to do a third PR on top of your catch_script_err branch, I should be able to do my local testing and the release to CRAN without too much delay.

@hutch3232
Copy link
Contributor

Thanks for the fast response! Yes I will do some testing of that branch. I haven't messed with GitHub actions before but I'm curious to learn so I can give it a try, perhaps as soon as this evening.

@hutch3232
Copy link
Contributor

Wanted to update that I installed the latest branch catch_script_err locally and have been successfully using it in my real workflows the past couple of days.

@torfason torfason reopened this Sep 23, 2023
@torfason
Copy link
Collaborator Author

As of now, v1.3.1 is successfully released and built on CRAN. Thanks for the help on this release, which contains the following changes

Leaving this issue open as a central place for discussion of upcoming releases and documentation of the development process.

@torfason torfason added maintenance Internal reminder, rather than externally reported issue and removed help wanted labels Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
maintenance Internal reminder, rather than externally reported issue
Projects
None yet
Development

No branches or pull requests

2 participants