mnot / ietf-comments Goto Github PK
View Code? Open in Web Editor NEWAutomating IETF comment handling
License: BSD 2-Clause "Simplified" License
Automating IETF comment handling
License: BSD 2-Clause "Simplified" License
I had to install colorama manually (pip install) to make ietf-comments work.
It'd be nice if a reviewer could indicate their GitHub @ so that they can be cc:ed on issues created for them.
It might be interesting to create an e-mail (or even send it?) containing the review appropriately quoted, with responses along the lines of "this issue was created at https://github.com/owner/repo/issues/nnn".
Specifically, I used the tool for a repo that I do not own.
I had to use a "personal access token (classic)", with "repo" permissions.
And I could NOT use the --auto-label
flag.
Right now, the workflow for these tools is:
It seems like (4) could be automated.
The first thing that'd be necessary is the ability to recreate the text of the comment. That could be extracted from the issues themselves (although we'd need to be careful to do it accurately -- e.g., cc
adds text).
Then, we'd need to have some reliable way to flagging the resolution text in the issue to put in the response. That could be some keyword in the issue comment, or it could be e.g., a reaction.
The error message on hitting a rate limit helpfully provides a suggestion of restarting while skipping the first few issues. Unfortunately, the count provided there is inaccurate, resulting in duplicate issues being created. Suggested resolutions:
For example, in the below case, You can see that issues 765-778 are duplicates of 782-795. Oddly the lists diverge after that.
% ietf-comments review.md -g mlswg/mls-protocol -a
Document: draft-ietf-mls-protocol
Revision: 15
CC: @paulwouters
* Created issue 762 in mlswg/mls-protocol: Interaction of MLS and application
* Created issue 763 in mlswg/mls-protocol: Security against malicious members?
* Created issue 764 in mlswg/mls-protocol: Should B receive its own Commit back?
* Created issue 765 in mlswg/mls-protocol: Section 6.3 use of "member"
* Created issue 766 in mlswg/mls-protocol: ENUMs limited to 1 octet?
* Created issue 767 in mlswg/mls-protocol: Epoch rollover?
* Created issue 768 in mlswg/mls-protocol: Padding with zeros
* Created issue 769 in mlswg/mls-protocol: XOR guard
* Created issue 770 in mlswg/mls-protocol: KDF.Nh
* Created issue 771 in mlswg/mls-protocol: Time is not on our side?
* Created issue 772 in mlswg/mls-protocol: lifetime field
* Created issue 773 in mlswg/mls-protocol: Section 8.4
* Created issue 774 in mlswg/mls-protocol: Section 13/14 Race conditions ?
* Created issue 775 in mlswg/mls-protocol: Section 15.1
* Created issue 776 in mlswg/mls-protocol: NOOPs ?
* Created issue 777 in mlswg/mls-protocol: Section 17
* Created issue 778 in mlswg/mls-protocol: Section 17.6
* Created issue 779 in mlswg/mls-protocol: memberlist unavailble before joining
* Created issue 780 in mlswg/mls-protocol: Prospective member or member ?
* Created issue 781 in mlswg/mls-protocol: "server" is ambiguous here
Github Issue Creation Error: You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. - restart with --start=4
% ietf-comments review.md -g mlswg/mls-protocol -a --start=4
Document: draft-ietf-mls-protocol
Revision: 15
CC: @paulwouters
* Created issue 782 in mlswg/mls-protocol: Section 6.3 use of "member"
* Created issue 783 in mlswg/mls-protocol: ENUMs limited to 1 octet?
* Created issue 784 in mlswg/mls-protocol: Epoch rollover?
* Created issue 785 in mlswg/mls-protocol: Padding with zeros
* Created issue 786 in mlswg/mls-protocol: XOR guard
* Created issue 787 in mlswg/mls-protocol: KDF.Nh
* Created issue 788 in mlswg/mls-protocol: Time is not on our side?
* Created issue 789 in mlswg/mls-protocol: lifetime field
* Created issue 790 in mlswg/mls-protocol: Section 8.4
* Created issue 791 in mlswg/mls-protocol: Section 13/14 Race conditions ?
* Created issue 792 in mlswg/mls-protocol: Section 15.1
* Created issue 793 in mlswg/mls-protocol: NOOPs ?
* Created issue 794 in mlswg/mls-protocol: Section 17
* Created issue 795 in mlswg/mls-protocol: Section 17.6
* Created issue 796 in mlswg/mls-protocol: Can?
* Created issue 797 in mlswg/mls-protocol: May implement correctly :-)
* Created issue 798 in mlswg/mls-protocol: 7 or 8 members
* Created issue 799 in mlswg/mls-protocol: Setion 8.7 MAY
* Created issue 800 in mlswg/mls-protocol: Section 9.5 MLS Exporter
* Created issue 801 in mlswg/mls-protocol: Section 10.1 encryption size
Github Issue Creation Error: You have exceeded a secondary rate limit and have been temporarily blocked from content creation. Please retry your request again later. - restart with --start=10
With the review files I linked to larseggert/ietf-reviewtool#10 (comment), I get the following error when trying to validate them:
Traceback (most recent call last):
File "/usr/local/bin/ietf-comments", line 71, in <module>
comments = parse_comments(comment_file, cli)
File "/usr/local/lib/python3.9/site-packages/ietf_comments/parser.py", line 160, in parse_comments
renderer.render(doc)
File "/usr/local/lib/python3.9/site-packages/commonmark/render/renderer.py", line 19, in render
getattr(self, type_)(event['node'], event['entering'])
File "/usr/local/lib/python3.9/site-packages/ietf_comments/parser.py", line 35, in heading
getattr(self, f"handle_h{node.level}")(content)
AttributeError: 'CommentRenderer' object has no attribute 'handle_h4'
The tool currently doesn't work with charters.
Not an issue on the actual format, but related:
If we want folks to use this more widely then having an online server that validates the format (either as a file upload or a cut and paste) would likely be helpful rather than requiring everyone to install locally.
If there are h3 sections, the text after a h2 shouldn't create an issue.
The headline of the ietf-comments tool @ https://pypi.org/project/ietf-comments/ lists the install as "pip install ietf-comments" ... which failed. Can the headline be changed to "pip3 install ietf-comments".
Even after the install (which didn't have any errors as far as I can see), I can't just run ietf-comments since it isn't on my path (even though python3 is). Perhaps some further install/setup is required? This is on ubuntu.
e.g.
rfced-comments -g quicwg/base-draft 9204
Error: Not Found
(I missed the trailing 's').
It would help if the message could reflect that the repo was not found
dooku-[lwork/rats/architecture](2.6.6) mcr 5869 %ietf-comments -g ietf-rats-wg/architecture 197.txt
Warning: Unrecognised h2 section comment:.
Warning: Unrecognised h2 section notes.
Document: draft-ietf-rats-architecture
Revision: 21
CC: @larseggert
Github Issue Creation Error: Not Found - restart with --start=1
[1] 246718 exit 1 ietf-comments -g ietf-rats-wg/architecture 197.txt
where 197.txt comes from
https://mailarchive.ietf.org/arch/msg/rats/pLZ4oeYgStKiygg_KA5NMJN6HQg/
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.