Development record
internal/actionsexpr looseEqual compares a bool to a string by truthiness, where GitHub Actions coerces both to numbers (true == 'true' is false on GitHub), so an if: expression making that comparison would evaluate differently in the test evaluator than in the runner (actionsexpr.go:424-429; carried over unchanged from the old lint evaluator; no committed workflow makes that comparison today; review2-workflows R1).
issueresolvedminoriss-2609251616248870
internal/actionsexpr looseEqual compares a bool to a string by truthiness, where GitHub Actions coerces both to numbers (true == 'true' is false on GitHub), so an if: expression making that comparison would evaluate differently in the test evaluator than in the runner (actionsexpr.go:424-429; carried over unchanged from the old lint evaluator; no committed workflow makes that comparison today; review2-workflows R1).
Grounds
- pursued: the test evaluator answers every == the runner would answer the same way; a row of the documented table evaluating differently would show it wrong
Frontmatter
| id | iss-2609251616248870 |
|---|---|
| type | issue |
| lifecycle | resolved |
| severity | minor |
.abcd/work/issues/resolved/iss-2609251616248870-internal-actionsexpr-looseequal-compares.md
open on GitHub ↗ · commit history ↗