Zero-config autofixer
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 25/100
Hướng nghiên cứu
Bắt đầu bằng việc xem xét danh mục package và phần tích hợp với máy chủ build package, sau đó kiểm tra thiết lập workflow GitHub hiện có và cơ chế opt-in của info.rkt được mô tả ở đây. Xác định phạm vi xoay quanh việc phát hiện package, xác thực pull request, lập lịch, các giới hạn và cách xử lý đặc biệt đối với base; hoàn thành khi có một thiết kế được thống nhất cho workflow không cần cấu hình.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
The Autofixer is quite useful, but requires a lot of fiddly manual setup. Even with the custom action I've created, setting up weekly Autofixer pull requests requires creating a new GitHub workflow, figuring out how to properly install the project in that workflow, getting a private key for the Resyntax CI bot account, and using the jackfirth/create-resyntax-pull-request action. It's a lot of steps and it's easy to get something wrong.
Ideally, the Autofixer would operate on a zero configuration model by using the package catalog. Instead of each user setting up their own CI integration with the autofixer, a central server would periodically run Resyntax on all GitHub-based packages in the package catalog and create pull requests for each of them. Users could opt-in (or out, depending on the signup model) using the package's info.rkt file. Optionally users could specify limits on the number of fixes, frequency and size of pull requests, etc, but the default experience should only require opting in or out. The benefits of this approach include:
- Far simpler setup hopefully leading to much wider adoption, which in turn helps greatly with migrating the Racket ecosystem away from deprecated code.
- More motivation for third-party libraries to provide their own library-specific refactoring rules.
- Much easier debugging on my end, as I won't need to deal with permissions issues in dozens of different repositories.
Downsides:
- I'll have to either run my own infrastructure or integrate with the package build server.
- Users have a lot less control and are more likely to receive unwanted pull requests.
- Code not in published packages can't be refactored.
- Code in the
basepackage can't be refactored, probably. At the very least, special handling ofbaseis required.
- Ngôn ngữ chính
- Racket
- Star
- 70
- Fork
- 11
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của jackfirth/resyntax
-
Grimoire docs need examples Đang mởdocumentation
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
documentation
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 45/100
-
testing
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 75/100
-
testing
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 68/100
Tất cả issue của jackfirth/resyntax
Issue tương tự
-
core dependencies
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 80/100
-
bug github_actions
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
registrystack/registry-stack#1393 ·
-
module: core
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
bigbluebutton/bigbluebutton#25849 ·
-
bug engine
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
rocky-data/rocky#2181 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100