Conversation
How to review these changes 👓Thank you for your contribution. To review these changes, choose one of the following options: A Hubber will need to deploy your changes internally to review. Table of review linksNote: Please update the URL for your staging server or codespace. The table shows the files in the
Key: fpt: Free, Pro, Team; ghec: GitHub Enterprise Cloud; ghes: GitHub Enterprise Server 🤖 This comment is automatically generated. |
There was a problem hiding this comment.
🟡 Changes recommended
The documentation should also cover the accepted lowercase 0o octal syntax.
Get a fresh assessment by requesting another Copilot review.
Pull request overview
Updates GitHub Actions expression documentation to clarify supported number literal syntax.
Changes:
- Replaces the inaccurate JSON-based description.
- Documents decimal, floating-point, exponent, and hexadecimal literals.
File summaries
| File | Summary |
|---|---|
content/actions/reference/workflows-and-actions/expressions.md |
Clarifies number literal syntax. Remaining nit (3 votes): include lowercase 0o octal literals. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite (auto)
Note
Copilot is running an experiment and ran this review at Lite.
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
|
👋 @kjanat I'm going to triage this for the team to review, but since we don't have SME perspective on the issue yet, I'm not sure when we'll get this reviewed. Thanks for your patience! |
Why:
Related to #43008.
The number-literal row says "Any number format supported by JSON", but the same page demonstrates hexadecimal (
0xff), which JSON does not accept. Workflow authors and expression-tool implementers need an accurate description of the accepted syntax.What's being changed:
Describe decimal integer and floating-point literals, exponent notation and hexadecimal literals explicitly, consistent with the examples already on the page.
Measurements and reproduction
On 14 September 2026, I reran the 44-expression corpus against GitHub Actions: 30 expressions were accepted and evaluated, and 14 were rejected by the expression parser with HTTP 422. The exact workflows, dispatch requests and responses, and successful-run logs are preserved.
The reference snapshot is tagged
github-actions-expressions-of-concern. It contains:For example, the measured
0x1Fand0o17expressions both evaluate successfully, producing31and15. Their uppercase-prefix counterparts,0X1Fand0O17, are rejected. The complete table below lets reviewers inspect the accepted and rejected spellings together.Service-side values were captured in
run-name; runner-side values were captured through step environment variables. Both record the text returned bytoJSON(). The capture used hosted Ubuntu runners with runner version 2.337.0. For-0, the service recorded0and the runner recorded-0; the other 29 accepted results agree.All 44 expressions measured on 14 September 2026
Each evidence link points to the saved result under the reference tag.
toJSON()toJSON()+111-00-0-1-1-1-Infinity-Infinity-Infinity.50.50.5.5e1550000.1 + 0.2000001231231230B1010O170X1F0b1010o1715150o80x01110x01232912910x0e12252250x1F31310xG1 + 11.111.0e+1.0e+991E+991E+991.51.51.51E+51000001000001_0001e1e+1e+0110101e+5 == 100000truetrue1e+51000001000001e-0111e-51E-051E-051e0110101e01231E+1231E+1231e3091e51000001000001e5e521474836482147483648214748364890071992547409939.00719925474099E+159.00719925474099E+15InfinityInfinityInfinityNaNNaNNaNValidation
Check off the following: