-
Notifications
You must be signed in to change notification settings - Fork 92
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
Cut release 1.4.0 #480
Comments
This is the PR for the 1.3.0 release: #327 A few things to look out for:
After publishing the release on Github, make sure that the PyPi package was uploaded successfully. This happens automatically from Github CI. There will be a CI error if it fails. I would also recommend making sure that there is full "compatibility" with the latest P4 version. This is a bit tedious, even though in general no change is required. This is also why the 1.4.0 release has been postponed so much (but we have had a few release candidate tags so that people could point to something more recent than 1.3.0). There are still quite a few open issues with the language compatibility label:
p4-language-compatibility
|
Thanks for the guidance, that is very helpful. |
@smolkaj I propose (and volunteer) to create a |
Just for my understanding -- why create an extra branch instead of working directly on |
Maybe I'm overthinking the amount of work to make a "release." Ideally there would be a single PR repreasenting the changes to main. In the past this came from one author (e.g. Antonin. If we have one author this time then we could review the one PR. On the other hand, assuming there were a few tasks we could parcel out, we could apply these to an interim branchm then prepare a final consolidated PR with all the changes, then merge that into main. |
What would we do with PRs like #473? IIUC, those PRs would still go into main directly? And the
I'm open to trying this. But admittedly, I'm a bit skeptical. Google wisdom argues exactly the opposite: it is better to break things up into small, incremental PRs that get submitted to a single main branch one at a time. Perhaps a compromise could be to try to submit to |
Any pending PRs should be done before, and independent of, the new release PR. If you look at #327 the changes are pretty minor, and they don't include any content like would be in pending item #473, they are just updates to the spec version etc. If we had a working branch for this ver 1.4.0 release it would have to sync to any changes made meanwhile to main. Changing all these version numbers throughout the spec to signify a new release should be done atomically. |
Ok, agreed. Staging all the version changes on a shared release branch SGTM. |
Shall we set ourselves a hard deadline before the 2024 P4 Workshop, so we have the release ready in time for the workshop and the roadmap retreat? Wdyt @chrispsommers? cc @jonathan-dilorenzo EDIT: The date for the workshop will likely be October 3rd. |
@smolkaj @jafingerhut With 1.5 weeks before the P4 workshop, do you think we have a chance of wrapping this up? I think the final TODO list is fairly small, the one wrinkle being we need to make the release 1.4.1 due to the immutable tag 1.4.0 which was already taken. Any volunteers to help finish the list? BTW the changelog looks good to me if @jafingerhut needs it for a WG summary. |
@chrispsommers I am happy to review any PRs you think are needed to get the release out. I am probably not as much help on the code aspects of the P4Runtime release, moreso the .mdk/HTML/PDF documentation parts. I can help with the updates on the p4.org specs page, in that I know who at LF to ask to update the specs page :-) Regarding the item "All references in the P4Runtime spec should then be updated to point to the latest released version of the P4 spec.", if "P4 spec" means the language spec, it seems to me that pointing to the specs page, rather than to a particular version, requires the least ongoing maintenance and changes: If you want a link directly to the latest released version of the P4 language spec, it seems questionable to me that they will cut a new release of the language spec before the workshop. If they do not, then links directly to v1.2.4 are here: |
@jafingerhut Thanks, I'll take you up on the offer to loing LF contact to update the link back to latest P4RT spec. Bonus opints if you want to update some .mdk per the list above, that'd be great. @antoninbas @smolkaj any opinion on linking generically to https://p4.org/specs/ vs the versioned links for v1.2.4? @smolkaj do you want to do a PR to update Bazel example to 1.4.1? |
I would argue that it's better to reference an actual version of the language, given that language changes can affect P4Runtime. But maybe I am missing some context? |
@antoninbas I think you've made a good case to use links to specific versions, thanks. |
Reminder to not tag the release until the very end, see discussion: #499 |
I searched for "https://p4.org/" in
is referring to. Could you clarify, @antoninbas? |
@smolkaj all the links should be in |
Thanks for the clarification |
Hi @smolkaj , I don't think this can be close until we "check a few more boxes." |
Yup, thanks, this happened automatically, by accident. |
That phrase should be canonized. |
I went ahead and cut the release: https://github.com/p4lang/p4runtime/releases/tag/v1.4.1 |
Nice, thanks! |
I don't see the release showing up on PyPi quite yet: https://pypi.org/search/?q=p4runtime&o=-created |
Looks like the CI scripts for publishing to PyPi failed: http://screen/6f5CynU266BXUXg Need to take a closer look. |
@smolkaj it's saying I don't have a verified email address. Let me see if I can fix that and trigger the workflow again. |
@antoninbas, could you take a look?
|
You are operating at the speed of light! Thanks :) |
@smolkaj I verified my account in PyPi. Unfortunately for some reason I don't have write access to this Github repo anymore (p4lang/p4runtime), so I cannot trigger the job again. Which is weird because I still have my permissions for other p4lang repos (cc @fruffy). You should be able to trigger the failed job from the UI. |
One more:
|
I also added you back to the maintainer list. |
Alright, great success! Thanks, @antoninbas |
@jafingerhut, the final step would be to update the links on p4.org, judging from the TODO list at the top. Looks like you volunteered for that one, IIUC? |
@smolkaj @chrispsommers let me know if you want to be added to the maintainers for the p4runtime project in PyPI. You will need to create a PyPI account first. Note that the Github workflow will keep using my account unless the Github secret is updated with a new token. |
I have successfully passed the buck via email, CC'ing you, to the person who can actually do it :-). Feel free to contact Denise for any p4.org web site changes, whether spec-related or not, e.g. new blog posts. |
I created an account, user name is |
Please add me as well, chrispsommers. We're so appreciative that you're still helping us assume the many duties for this WG! |
@chrispsommers pointed out there is a final step remaining: "Update the version string in the spec .mdk source document. After the release, the version string should be set to 1.5.0-dev on the main branch." |
We discussed in the P4 API WG meeting that it would be a good time to cut a new release. Opening this as an umbrella bug to track that.
...
@antoninbas do you have any notes/suggestion on the process you have used in the past?
cc @chrispsommers @jonathan-dilorenzo @jafingerhut
EDIT: The cutoff date for changes going into 1.4.0 is September 13, the date of our next P4 API working group meeting.
The text was updated successfully, but these errors were encountered: