Better use of GitHub #634
Replies: 5 comments 2 replies
-
I agree that some of the merges to master are sloppy. The problem I see about a blanket rule here is whether to use squash or rebase depends on:
I tend to put a lot of care into the PR, and I hope you won't find a lot of garbage commits. My style tests to use a lot of On the other hand, when one uses merge and doesn't rebase, and each commit has low information content, then The problem with rebasing which is what I tend to do, is that it can be more work upfront by the person doing the commit. And it might make change the linear github history?... With respect to 2. I am not totally sure what you mean. I think a downside of the strategy is that you don't have linear history in github. However in git browsers outside of github there are two dates associated with a commit. For example: But please elaborate what you mean here.
The problem we have right now is that the API is changing. I think the next release will be 6.0 because of all of the API changes. (But in my opinion all of these are needed and when Forms and Boxing done is complete, probably there will be more there as well.) The implication here is that there are times when we have to update some combination of Mathics-core, Mathics-Django, mathicsscript, mathics-scanner, pymathics-graph, pymathics-natlang, and mathics-backend-threejs, and mathics-omnibus in coordination. (This is a downside of splitting things up into several github repositories. In my opinion this disadvantage is offset by the advantage of everyone not piling on everyone else all of the time for largely independent things. But right now we still have a fair bit of this in mathics-core.) So in my view were we to have automatic release and were people to use them, we would be inundated with problems regarding the fact that the latest version Mathics-X doesn't work with Mathics-Y and we would have to be more stringent about keeping the versions listed in the setup.py or package.json up to date. Right now I can't take on any more work towards administration. But if you want to set up something in a limited basis - (are you doing this on mathics-threejs-backend?) then have at it. Or if someone else wants to do this let me know. I am aware that it has been a long time since release. I would have like to have had a release by now. However things just keep changing too fast. You may have noticed that I am struggling to keep up with the look at the various PRs. In the olden days there were weeks and months where nothing was happening. Maybe we should have a moratorium on largish changes starting December and spend the entire month of December, getting a release out for the first of next year. (Before a release I would like to do the usual linting and going over standards kinds of things. Currently it is I haven't been doing that sort of thing because again there is so much other more foundational things going on.
|
Beta Was this translation helpful? Give feedback.
-
Basically this would require PRs to don't contain merge commits
Automatic releases only write a new page in Releases when a new non-alpha/beta tag is created, so it saves a bit of effort. Thinking now automatic releases is not a good name, maybe automated releases would be a better name?
Yes, I'd like to make a PR with these changes.
Yes, I was investigating yesterday how to go a bit further, in mathics-threejs-backend I'd like to have both npm and GitHub releases automated.
I got surprised by the fact that I found no information about this on-line (in thruth I found reasons to not rename |
Beta Was this translation helpful? Give feedback.
-
Do you mean, automatically update CHANGES.rst?
Packaging can also be automated, I could ask to vicp74 how he builds the AUR package to create a GitHub action for that.
Not sure if I understand what you mean, but I'm not proposing releases that happen every x time, I'm proposising to use the GitHub action named automatic releases, which writes the release based on the commit messages whenever a new tag is pushed.
I'll do that today.
I'll fix until weekend, I just want to finish the new primitive text before, BTW, could you give me a help there?
Same as above. |
Beta Was this translation helpful? Give feedback.
-
Indeed, at this point, with the API broken and continually changing, it is hard.
Usually I use the "squash and merge", after a rebase. Sometimes, when rebasing gets too complicate, I copy the changed files over a fresh branch based on the master branch, and redo the PR over it.
Not sure how to do that, but if you have guidelines for it, I would try to follow them.
Also, not sure how to do that. In any case, I would prefer to postpone the next release until we have finish to disentangle the API.
I agree with @rocky, that is not our repository.
|
Beta Was this translation helpful? Give feedback.
-
@TiagoCavalcante I just changed Mathics-Django default branch back to "master" from "main". After trying out having the default branch be "main" instead of "master", I am not seeing an advantage but only a disadvantage. The problem is that all of the other repositories default to "master". So what invariably happens is that I push to "master" in Django and get confused as to why I am not seeing the new code. In the last docker update I probably spent an hour trying to figure out what was up here. I suppose I learned more about debugging Docker, but I'd rather have done learned that lesson some other time. |
Beta Was this translation helpful? Give feedback.
-
@rocky @mmatera we currently have many branches and PRs, I'm afraid that some improvements get forgotten or that new contributors think that it's hard to contribute to Mathics.
I also think that we could make better use of some GitHub features, mainly the following:
And one extra thing: rename
master
tomain
Beta Was this translation helpful? Give feedback.
All reactions