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
-[Manual Version Addition](#manual-addition-of-specific-versions)
13
12
-[Removing a Version](#removing-a-version-manually)
14
13
@@ -101,66 +100,6 @@ In most cases, new versions are automatically added through Dependabot:
101
100
102
101
Projects are encouraged to help review updates to actions they use. Please have a look at the diff and mention in your approval what you have checked and why you think the action is safe.
103
102
104
-
#### Verifying Compiled JavaScript
105
-
106
-
Many GitHub Actions ship pre-compiled JavaScript in their `dist/` directory. To verify that the published compiled JS matches a clean rebuild from source, use the verification script:
107
-
108
-
```bash
109
-
uv run utils/verify-action-build.py org/repo@commit_hash
110
-
```
111
-
112
-
For example:
113
-
114
-
```bash
115
-
uv run utils/verify-action-build.py dorny/test-reporter@dc3a92680fcc15842eef52e8c4606ea7ce6bd3f3
116
-
```
117
-
118
-
The script will:
119
-
1. Clone the action at the specified commit inside an isolated Docker container
120
-
2. Save the original `dist/` files as published in the repository
121
-
3. Rebuild the action from source (`npm ci && npm run build`)
122
-
4. Reformat both versions of the JavaScript for readable comparison
123
-
5. Show a colored diff of any differences
124
-
125
-
A clean result confirms that the compiled JS was built from the declared source. Any differences will be flagged for manual inspection.
126
-
127
-
#### Batch-Reviewing Dependabot PRs
128
-
129
-
To review all open dependabot PRs at once, run:
130
-
131
-
```bash
132
-
uv run utils/verify-action-build.py --check-dependabot-prs
133
-
```
134
-
135
-
This will:
136
-
1. List all open PRs from dependabot
137
-
2. For each PR, extract the action reference from the diff
138
-
3. Run the full build verification (rebuild in Docker, compare compiled JS)
139
-
4. Show source changes between the previously approved version and the new one
140
-
5. If verification passes, ask whether to approve and merge the PR
141
-
6. On merge, add a review comment documenting what was verified
142
-
143
-
> [!NOTE]
144
-
> **Prerequisites:** `docker`, `uv`, and `gh` (GitHub CLI, authenticated via `gh auth login`).
145
-
> The build runs in a `node:20-slim` container so no local Node.js installation is needed.
146
-
147
-
#### Dependabot Cooldown Period
148
-
149
-
This repository uses a [Dependabot cooldown period](https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file#cooldown) of 7 days. After a Dependabot PR is merged or closed, Dependabot will wait 7 days before opening the next PR for the same ecosystem. This helps keep the volume of update PRs manageable and gives reviewers time to catch up.
150
-
151
-
> [!TIP]
152
-
> We recommend that ASF projects configure a similar cooldown in their own `dependabot.yml` to avoid being overwhelmed by update PRs and to catch up with approved actions here:
153
-
> ```yaml
154
-
> updates:
155
-
> - package-ecosystem: "github-actions"
156
-
> directory: "/"
157
-
> schedule:
158
-
> interval: "weekly"
159
-
> cooldown:
160
-
> default-days: 7
161
-
> ```
162
-
> Adjust the `default-days` value to match your project's review capacity.
163
-
164
103
### Manual Addition of Specific Versions
165
104
166
105
If you need to add a specific version of an already approved action (especially an older one):
0 commit comments