Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Zero-config autofixer

Đang mở
#399 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

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
Loại issue
Tính năng
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
github, github-actions
Lĩnh vực
devops, tooling

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ả

ci-integration enhancement

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 base package can't be refactored, probably. At the very least, special handling of base is 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

Mở hướng dẫn đóng góp

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. 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.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của jackfirth/resyntax

Tất cả issue của jackfirth/resyntax

Issue tương tự

Thêm issue về DevOps

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.