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

Keep quoted string contents intact in CI condition expressions

Đã đóng Phù hợp với người mới
#998 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@erenbati đang làm issue này rồi.

Từ ngày 25/10/2026.

  • #1050 của @erenbati — đã merge

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
78/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
python
Lĩnh vực
ci-cd, testing-qa, tooling

Hướng nghiên cứu

Bắt đầu tại tools/ci/common.py:39 và chạy bản tái hiện evaluate() được cung cấp cho a!b. Theo dõi cách xử lý các literal được đặt trong dấu nháy và toán tử thực sự, sau đó thêm các bài kiểm thử hồi quy tích cực và tiêu cực, tập trung vào các cách viết toán tử, hàm và ngữ cảnh được liệt kê. Hoàn thành nghĩa là các chuỗi giống nhau được đặt trong dấu nháy vẫn so sánh bằng, trong khi toán tử boolean, tra cứu ngữ cảnh và đánh giá ngắn mạch vẫn hoạt động.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

bug ci good first issue

Problem

The plan evaluator rewrites operators and function spellings before parsing quoted strings. Equality against the identical values a!b, a&&b, a||b, and always() returns false. Context-looking text inside a string needs the same protection.

Starting point: tools/ci/common.py:39.

Validation

Audited canonical Wave 540728c2eb6cc12f5c69c3fb3fdb96e07ba059a4 (0.0.1-alpha-dev), whose tree matches the local checkout. Validation: Executed Python evaluate() reproductions. Executed compiler probes use the matching checkout-built compiler and std on Linux amd64 (Rust 1.89.0 / LLVM 21.1.8). Source/header or mocked checks are not native execution on another OS.

from tools.ci.common import evaluate
print(evaluate("inputs.value == 'a!b'", {"inputs.value": "a!b"}))
# False; the comparison should be True.

Scope

Make expression token handling respect quoted literals while preserving the existing small checked expression language; do not broaden it into unrestricted evaluation.

Completion criteria

  • Identical quoted strings containing operators/function/context spellings compare equal.
  • Actual boolean operators, context lookup and short-circuiting retain their behavior.
  • Add focused positive/negative evaluator regressions.

This is a bounded, unassigned task with the starting point and focused checks above. Keep unrelated refactoring out of the change.

Ngôn ngữ chính
Rust
Star
56
Fork
21
Merge trung bình
7 giờ 19 phút
Pull request đã merge (30 ngày)
61

Chuẩn bị môi trường

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 wavefnd/Wave

Tất cả issue của wavefnd/Wave

Issue tương tự

Thêm issue về Rust

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.