You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Replace JSON string I/O with file-based approach in find, file, fix actions (#179)
## Summary
Extends the file-based approach from #177 to the `find`, `file`, and
`fix` sub-actions, eliminating all large JSON string interpolation in
the composite workflow.
## Problem
The `file` action was failing with `Argument list too long` when the
findings list was too long.
```
##[error]An error occurred trying to start process 'node' ... Argument list too long
```
See failing run [Staff only]:
https://github.com/github/accessibility-scorecard/actions/runs/23802863081/job/69367961031
## Changes
### Sub-actions (find, file, fix)
Each action now:
1. **Writes output to a temp file** (`$RUNNER_TEMP/*.json`) in addition
to setting the string output
2. **Exposes a `*_file` output** with the file path (e.g.,
`findings_file`, `filings_file`, `fixings_file`)
3. **Requires `*_file` inputs** (e.g., `findings_file` instead of
`findings`)
### Composite action (`action.yml`)
- **Normalize cache step**: Reads directly from the cache file on disk
instead of interpolating `${{ steps.restore.outputs.value }}` through
the shell
- **File step**: Passes `findings_file` and `cached_filings_file`
instead of raw JSON strings
- **Get issues step**: Reads from `filings_file` instead of
interpolating the output string
- **Fix step**: Passes `issues_file` instead of raw JSON string
- **Set results step**: Reads from file outputs via environment
variables instead of pre-written temp files
- **Removed** the now-unnecessary "Write filings and fixings to temp
files" step
Copy file name to clipboardExpand all lines: .github/actions/file/action.yml
+6-6Lines changed: 6 additions & 6 deletions
Original file line number
Diff line number
Diff line change
@@ -2,17 +2,17 @@ name: "File"
2
2
description: "Files GitHub issues to track potential accessibility gaps."
3
3
4
4
inputs:
5
-
findings:
6
-
description: "List of potential accessibility gaps, as stringified JSON"
5
+
findings_file:
6
+
description: "Path to a JSON file containing the list of potential accessibility gaps"
7
7
required: true
8
8
repository:
9
9
description: "Repository (with owner) to file issues in"
10
10
required: true
11
11
token:
12
12
description: "Token with fine-grained permission 'issues: write'"
13
13
required: true
14
-
cached_filings:
15
-
description: "Cached filings from previous runs, as stringified JSON. Without this, duplicate issues may be filed."
14
+
cached_filings_file:
15
+
description: "Path to a JSON file containing cached filings from previous runs. Without this, duplicate issues may be filed."
16
16
required: false
17
17
screenshot_repository:
18
18
description: "Repository (with owner) where screenshots are stored on the gh-cache branch. Defaults to the 'repository' input if not set. Required if issues are open in a different repo to construct proper screenshot URLs."
@@ -23,8 +23,8 @@ inputs:
23
23
default: "false"
24
24
25
25
outputs:
26
-
filings:
27
-
description: "List of issues filed (and their associated finding(s)), as stringified JSON"
26
+
filings_file:
27
+
description: "Path to a JSON file containing the list of issues filed (and their associated finding(s))"
0 commit comments