Skip to content

Add explicit permissions to GitHub Actions workflows #1767

Add explicit permissions to GitHub Actions workflows

Add explicit permissions to GitHub Actions workflows #1767

Triggered via pull request April 10, 2026 10:43
Status Success
Total duration 21s
Artifacts

release-drafter.yml

on: pull_request
update_release_draft
10s
update_release_draft
require_label
4s
require_label
Fit to window
Zoom out
Zoom in

Annotations

2 errors and 5 warnings
update_release_draft
HttpError: Validation Failed: {"resource":"Release","code":"invalid","field":"target_commitish"} at /home/runner/work/_actions/release-drafter/release-drafter/v6/dist/index.js:7146:21 at process.processTicksAndRejections (node:internal/process/task_queues:95:5) at async Job.doExecute (/home/runner/work/_actions/release-drafter/release-drafter/v6/dist/index.js:56365:18) { name: 'AggregateError', event: { id: '24239123272', name: 'pull_request', payload: { action: 'edited', changes: { body: { from: 'This PR adds explicit `permissions: contents: read` to multiple GitHub Actions workflows to restrict the default scope of the `GITHUB_TOKEN` and address security alerts.\n' + '\n' + '## Summary by Sourcery\n' + '\n' + 'CI:\n' + '- Add explicit contents: read permissions to Copilot setup, Pages deployment, release, and test workflows to limit GITHUB_TOKEN scope.' } }, number: 691, organization: { avatar_url: 'https://avatars.githubusercontent.com/u/62686678?v=4', description: '', events_url: 'https://api.github.com/orgs/gdsfactory/events', hooks_url: 'https://api.github.com/orgs/gdsfactory/hooks', id: 62686678, issues_url: 'https://api.github.com/orgs/gdsfactory/issues', login: 'gdsfactory', members_url: 'https://api.github.com/orgs/gdsfactory/members{/member}', node_id: 'MDEyOk9yZ2FuaXphdGlvbjYyNjg2Njc4', public_members_url: 'https://api.github.com/orgs/gdsfactory/public_members{/member}', repos_url: 'https://api.github.com/orgs/gdsfactory/repos', url: 'https://api.github.com/orgs/gdsfactory' }, pull_request: { _links: { comments: { href: 'https://api.github.com/repos/gdsfactory/gplugins/issues/691/comments' }, commits: { href: 'https://api.github.com/repos/gdsfactory/gplugins/pulls/691/commits' }, html: { href: 'https://github.com/gdsfactory/gplugins/pull/691' }, issue: { href: 'https://api.github.com/repos/gdsfactory/gplugins/issues/691' }, review_comment: { href: 'https://api.github.com/repos/gdsfactory/gplugins/pulls/comments{/number}' }, review_comments: { href: 'https://api.github.com/repos/gdsfactory/gplugins/pulls/691/comments' }, self: { href: 'https://api.github.com/repos/gdsfactory/gplugins/pulls/691' }, statuses: { href: 'https://api.github.com/repos/gdsfactory/gplugins/statuses/47409da4fb160ea7b9671fbcc2d6fd17d3dd9092' } }, active_lock_reason: null, additions: 14, assignee: { avatar_url: 'https://avatars.githubusercontent.com/u/7860886?v=4', events_url: 'https://api.github.com/users/nikosavola/events{/privacy}', followers_url: 'https://api.github.com/users/nikosavola/followers', following_url: 'https://api.github.com/users/nikosavola/following{/other_user}', gists_url: 'https://api.github.com/users/nikosavola/gists{/gist_id}', gravatar_id: '', html_url: 'https://github.com/nikosavola', id: 7860886, login: 'nikosavola', node_id: 'MDQ6VXNlcjc4NjA4ODY=', organizations_url: 'https://api.github.com/users/nikosavola/orgs', received_events_url: 'https://api.github.com/users/nikosavola/received_events', repos_url: 'https://api.github.com/users/nikosavola/repos', site_admin: false, starred_url: 'https://api.github.com/users/nikosavola/starred{/owner}{/repo}', subscriptions_url: 'https://api.github.com/users/nikosavola/subscriptions', type: 'User', url: 'https://api.github.com/users/nikosavola', user_view_type: 'public' }, assignees: [ { avatar_url: 'https://avatars.githubu
update_release_draft
Validation Failed: {"resource":"Release","code":"invalid","field":"target_commitish"} { name: 'HttpError', id: '24239123272', status: 422, response: { url: 'https://api.github.com/repos/gdsfactory/gplugins/releases/281562756', status: 422, headers: { 'access-control-allow-origin': '*', 'access-control-expose-headers': 'ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset', 'content-length': '210', 'content-security-policy': "default-src 'none'", 'content-type': 'application/json; charset=utf-8', date: 'Fri, 10 Apr 2026 10:43:58 GMT', 'referrer-policy': 'origin-when-cross-origin, strict-origin-when-cross-origin', server: 'github.com', 'strict-transport-security': 'max-age=31536000; includeSubdomains; preload', vary: 'Accept-Encoding, Accept, X-Requested-With', 'x-accepted-github-permissions': 'contents=write', 'x-content-type-options': 'nosniff', 'x-frame-options': 'deny', 'x-github-api-version-selected': '2022-11-28', 'x-github-media-type': 'github.v3; format=json', 'x-github-request-id': '6C12:28DB91:6584D0B:66948C4:69D8D46E', 'x-ratelimit-limit': '5000', 'x-ratelimit-remaining': '4925', 'x-ratelimit-reset': '1775820922', 'x-ratelimit-resource': 'core', 'x-ratelimit-used': '75', 'x-xss-protection': '0' }, data: { message: 'Validation Failed', errors: [ { resource: 'Release', code: 'invalid', field: 'target_commitish' } ], documentation_url: 'https://docs.github.com/rest/releases/releases#update-a-release', status: '422' } }, request: { method: 'PATCH', url: 'https://api.github.com/repos/gdsfactory/gplugins/releases/281562756', headers: { accept: 'application/vnd.github.v3+json', 'user-agent': 'probot/12.4.0 octokit-core.js/3.6.0 Node.js/20.20.1 (linux; x64)', 'x-github-delivery': '24239123272', authorization: 'token [REDACTED]', 'content-type': 'application/json; charset=utf-8' }, body: '{"body":"# What\'s Changed\\n\\n## Maintenance\\n\\n- Allow 2D simulations with meep in X- and Y- normal planes [#672](https://github.com/gdsfactory/gplugins/pull/672)\\n\\n## Documentation\\n\\n- Update tidy3d API calls for web and ``ModalComponentModeler`` [#676](https://github.com/gdsfactory/gplugins/pull/676)\\n- remove meshing [#670](https://github.com/gdsfactory/gplugins/pull/670)\\n\\n## Other changes\\n\\n- Fix: cascaded mzi notebook + tidy3d pluggin bug fixes [#685](https://github.com/gdsfactory/gplugins/pull/685)\\n- Relax constraint on NumPy version [#686](https://github.com/gdsfactory/gplugins/pull/686)\\n- feat(meshwell): check if mesh order is defined in LayerLevel.info [#681](https://github.com/gdsfactory/gplugins/pull/681)\\n- Use TemporaryDirectory while hashing gds files to avoid multi-process race conditions [#682](https://github.com/gdsfactory/gplugins/pull/682)\\n- Add mode settings to hashed parameters [#683](https://github.com/gdsfactory/gplugins/pull/683)\\n- fixes delta lengths and netlist patching for notebook ``workflow_3_cascaded_mzi.ipynb`` [#678](https://github.com/gdsfactory/gplugins/pull/678)\\n- Make (`gmeep`) s-parameter caching more stable [#679](https://github.com/gdsfactory/gplugins/pull/679)\\n- Activates PDK for notebook ``notebooks/workflow_3_cascaded_mzi.ipynb`` [#675](https://github.com/gdsfactory/gplugins/pull/675)\\n- cleanup `get_meep_geometry_from_component()` [#671](https://github.com/gdsfactory/gplugins/pull/671)\\n\\n**Full Changelog**: https://github.com/gdsfactory/gplugins/compare/v2.0.1...v2.0.2\\n","draft":true,"prerelease":false,"make_latest":"true","name":"v2.0.2","tag_name":"v2.0.2","target_commitish":"refs/pull/691/merge"}', request: {} }, event: { id: '
update_release_draft
Node.js 20 actions are deprecated. The following actions are running on Node.js 20 and may not work as expected: release-drafter/release-drafter@v6. Actions will be forced to run with Node.js 24 by default starting June 2nd, 2026. Node.js 20 will be removed from the runner on September 16th, 2026. Please check if updated versions of these actions are available that support Node.js 24. To opt into Node.js 24 now, set the FORCE_JAVASCRIPT_ACTIONS_TO_NODE24=true environment variable on the runner or in your workflow file. Once Node.js 24 becomes the default, you can temporarily opt out by setting ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
update_release_draft
"pull_request_target.edited" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)
update_release_draft
"pull_request_target.synchronize" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)
update_release_draft
"pull_request_target.reopened" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)
update_release_draft
"pull_request_target.opened" is not a known webhook name (https://developer.github.com/v3/activity/events/types/)