Merged
Conversation
- Daily schedule + workflow_dispatch trigger - Pre-check job runs npx npm-check-updates in docs/ to detect available updates - Agent job gated by if: needs.check_updates.outputs.has_updates == 'true' - Agent updates deps, reviews Astro/Starlight migration guides, verifies build, creates PR - protected-files: allowed to allow package.json/package-lock.json updates Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Update Astro dependencies in docs folder
Add Update Astro agentic workflow
Mar 17, 2026
pelikhan
approved these changes
Mar 17, 2026
Contributor
There was a problem hiding this comment.
Pull request overview
Adds a daily gh-aw agentic workflow that checks for dependency updates in docs/ (Astro/Starlight ecosystem), applies upgrades + migrations, verifies npm run build, and opens a PR when successful.
Changes:
- Added
Update Astroworkflow definition (.md) with a pre-check job to skip the agent run when no upgrades are available. - Added the compiled gh-aw workflow (
.lock.yml) that runs the Copilot agent, safe-outputs handling, and conclusion plumbing.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| .github/workflows/update-astro.md | Defines the agentic workflow, pre-check logic, and the agent instructions for updating/building/PR creation. |
| .github/workflows/update-astro.lock.yml | Generated compiled workflow that executes the agent run, safe-outputs processing, and reporting. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
You can also share your feedback on Copilot code review. Take the survey.
| create-pull-request: | ||
| expires: 2d | ||
| title-prefix: "[docs] " | ||
| labels: [documentation, dependencies] |
| with: | ||
| persist-credentials: false | ||
| - name: Setup Node.js | ||
| uses: actions/setup-node@v6 |
| id: check | ||
| working-directory: ./docs | ||
| run: | | ||
| npx --yes npm-check-updates --jsonUpgraded 2>/dev/null > /tmp/ncu-output.json || true |
| Navigate to the docs folder and run npm-check-updates to update all packages to their latest versions: | ||
|
|
||
| ```bash | ||
| cd docs && npx --yes npm-check-updates --update |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds a daily agentic workflow to keep Astro and its ecosystem packages current in
docs/, handling migration guides and build verification before opening a PR.Workflow structure
check_updates): runsnpx npm-check-updates --jsonUpgradedindocs/; setshas_updatesoutput — agent job is skipped entirely if nothing needs updating viaif: needs.check_updates.outputs.has_updates == 'true'package.json+package-lock.json, fetches migration guides for Astro/Starlight on major/minor bumps viaweb-fetch, applies any required code changes, verifiesnpm run buildpasses, then opens a PRprotected-files: allowed— permits committingpackage.json/package-lock.jsonwhich are otherwise blockednetwork.allowed: [defaults, node]— grants npm registry and docs site accessWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
https://api.github.com/graphql/usr/bin/gh /usr/bin/gh api graphql -f query=query($owner: String!, $name: String!) { repository(owner: $owner, name: $name) { hasDiscussionsEnabled } } -f owner=github -f name=gh-aw .cfg 64/pkg/tool/linu--show-toplevel git rev-�� --show-toplevel 64/pkg/tool/linuTest User /usr/bin/git --noprofile(http block)https://api.github.com/orgs/test-owner/actions/secrets/usr/bin/gh gh api /orgs/test-owner/actions/secrets --jq .secrets[].name get --local n-dir/bash credential.usern/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet kd/fDhwbm3SRiwEq-atomic(http block)https://api.github.com/repos/actions/ai-inference/git/ref/tags/v1/usr/bin/gh gh api /repos/actions/ai-inference/git/ref/tags/v1 --jq .object.sha /tmp/TestHashConsistency_WithImports3840564206/001/main.md bash /usr/bin/git ../pkg/workflow/git(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v3/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v3 --jq .object.sha t0 /tmp/go-build3974454460/b255/vet.cfg 0/x64/bin/node m0s code-simplifier.rev-parse(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v5/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha ithub/workflows .cfg 64/pkg/tool/linux_amd64/vet(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel x_amd64/vet /opt/hostedtoolcache/node/24.14.0/x64/bin/node */*.ts' '**/*.jsgit k/gh-aw/gh-aw/.grev-parse x_amd64/vet /opt/hostedtoolcache/node/24.14.0/x64/bin/node /tmp�� No expressions here x_amd64/vet /usr/bin/git celain --ignore-git k/gh-aw/gh-aw/.grev-parse 64/pkg/tool/linu--show-toplevel git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v5 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/compile /usr/bin/git 7817/001/stabiligit 4454460/b013/vetrev-parse .cfg git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git CuLTWUkAW 4454460/b120/vetrev-parse 64/pkg/tool/linu--show-toplevel git(http block)https://api.github.com/repos/actions/checkout/git/ref/tags/v6/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha k/gh-aw/gh-aw/scripts/lint_error_messages.go k/gh-aw/gh-aw/scripts/lint_error_messages_test.go /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile on' --ignore-patgit ithub/workflows/rev-parse ithub/workflows/--show-toplevel /opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/compile @/tm�� ithub/workflows/-bool ithub/workflows/-buildtags /usr/bin/git submodules | heagit ithub/workflows/rev-parse x_amd64/vet git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel ithub/workflows//tmp/go-build3974454460/b249/vet.cfg ache/node/24.14.0/x64/bin/node ithub/workflows/git ithub/workflows/rev-parse ithub/workflows/--show-toplevel ache/node/24.14.0/x64/bin/node -852�� --show-toplevel ithub/workflows/-buildtags /usr/bin/git submodules | heagit ithub/workflows/rev-parse x_amd64/vet git(http block)/usr/bin/gh gh api /repos/actions/checkout/git/ref/tags/v6 --jq .object.sha --show-toplevel 64/pkg/tool/linux_amd64/vet /usr/bin/git te '../../../**/git --ignore-submodurev-parse ache/go/1.25.0/x--show-toplevel git rev-�� --show-toplevel ache/go/1.25.0/x64/pkg/tool/linux_amd64/vet /usr/bin/git se 4454460/b039/vetrev-parse .cfg git(http block)https://api.github.com/repos/actions/github-script/git/ref/tags/v8/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha get --local ache/go/1.25.0/x64/bin/bash credential.helpe/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build3974454460/b392/importcfg -pack /tmp/go-build3974454460/b392/_testmain.go ode_�� --verify main ache/uv/0.10.11/x86_64/bash(http block)/usr/bin/gh gh api /repos/actions/github-script/git/ref/tags/v8 --jq .object.sha go1.25.0 -c=4 -nolocalimports -importcfg /tmp/go-build3974454460/b395/importcfg -pack /tmp/go-build3974454460/b395/_testmain.go fetc�� origin main p/bin/bash(http block)https://api.github.com/repos/actions/setup-go/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha xterm-color 4454460/b436/_testmain.go ache/node/24.14.0/x64/bin/node on' --ignore-patgit ithub/workflows/rev-parse ithub/workflows/--show-toplevel ache/node/24.14.0/x64/bin/node s-19�� .actor }}, Unsafe: ${{ secrets.TOKEN }} -importcfg /usr/bin/git -s -w -buildmode=exe git(http block)/usr/bin/gh gh api /repos/actions/setup-go/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel -tests /usr/bin/git git rev-�� --show-toplevel git /usr/bin/git --show-toplevel git /usr/bin/git git(http block)https://api.github.com/repos/actions/setup-node/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha xterm-color ithub/workflows//tmp/go-build3974454460/b236/vet.cfg ache/node/24.14.0/x64/bin/node on' --ignore-patgit ithub/workflows/rev-parse ithub/workflows/--show-toplevel ache/node/24.14.0/x64/bin/node s-56�� ere ithub/workflows/-buildtags /usr/bin/git submodules | heagit ithub/workflows/rev-parse x_amd64/vet git(http block)/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v4 --jq .object.sha --show-toplevel git /usr/bin/git --show-toplevel -tests /usr/bin/git git rev-�� --show-toplevel(http block)https://api.github.com/repos/actions/setup-node/git/ref/tags/v6/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha(http block)/usr/bin/gh gh api /repos/actions/setup-node/git/ref/tags/v6 --jq .object.sha g/timeutil/formaGOINSECURE g/timeutil/formaGOMOD 64/bin/go GOINSECURE GOMOD GOMODCACHE ache/go/1.25.0/xGO111MODULE env 0919631/b409/_pkGOINSECURE GO111MODULE 64/bin/go GOINSECURE GOMOD GOMODCACHE go(http block)https://api.github.com/repos/actions/upload-artifact/git/ref/tags/v4/usr/bin/gh gh api /repos/actions/upload-artifact/git/ref/tags/v4 --jq .object.sha 4454460/b404/_pkg_.a /tmp/go-build3974454460/b130/vet.cfg 4454460/b404=>(http block)https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.0.0/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.0.0 --jq .object.sha 4454460/b408/_pkg_.a -buildtags ache/go/1.25.0/x64/pkg/tool/linux_amd64/link -errorsas b/gh-aw/pkg/parsrev-parse -nilfunc ache/go/1.25.0/x64/pkg/tool/linux_amd64/link -ato�� 4454460/b409/parser.test -buildtags 4454460/b409/importcfg.link -errorsas -ifaceassert -nilfunc Fbi6PKNq9KBdT/15F745ljgCObM1QlOsUS/HDZzJU5D_cwF0wGv7Hnd/okf9o2VFbi6PKNq9KBdT(http block)https://api.github.com/repos/github/gh-aw-actions/git/ref/tags/v1.2.3/usr/bin/gh gh api /repos/github/gh-aw-actions/git/ref/tags/v1.2.3 --jq .object.sha 4454460/b407/_pkg_.a /tmp/go-build3974454460/b247/vet.cfg 4454460/b407=>(http block)https://api.github.com/repos/github/gh-aw/actions/runs/1/artifacts/usr/bin/gh gh run download 1 --dir test-logs/run-1(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12345/artifacts/usr/bin/gh gh run download 12345 --dir test-logs/run-12345(http block)https://api.github.com/repos/github/gh-aw/actions/runs/12346/artifacts/usr/bin/gh gh run download 12346 --dir test-logs/run-12346(http block)https://api.github.com/repos/github/gh-aw/actions/runs/2/artifacts/usr/bin/gh gh run download 2 --dir test-logs/run-2 = get && echo "****** 64/pkg/tool/linux_amd64/vet(http block)https://api.github.com/repos/github/gh-aw/actions/runs/3/artifacts/usr/bin/gh gh run download 3 --dir test-logs/run-3(http block)https://api.github.com/repos/github/gh-aw/actions/runs/4/artifacts/usr/bin/gh gh run download 4 --dir test-logs/run-4 om/github/gh-aw 64/pkg/tool/linux_amd64/vet(http block)https://api.github.com/repos/github/gh-aw/actions/runs/5/artifacts/usr/bin/gh gh run download 5 --dir test-logs/run-5 = get && echo "****** 64/pkg/tool/linux_amd64/link(http block)https://api.github.com/repos/github/gh-aw/actions/workflows/usr/bin/gh gh workflow list --json name,state,path get --local bin/bash user.name(http block)/usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 100 -pack /home/REDACTED/work/gh-aw/gh-aw/pkg/sliceutil/sliceutil.go /home/REDACTED/work/gh-aw/gh-aw/pkg/sliceutil/sliceutil_test.go -rs 626-e0db08df7383/golden.go(http block)/usr/bin/gh gh run list --json databaseId,number,url,status,conclusion,workflowName,createdAt,startedAt,updatedAt,event,headBranch,headSha,displayTitle --workflow nonexistent-workflow-12345 --limit 6 /home/REDACTED/worconfig /home/REDACTED/wor--get x_amd64/link -5 /home/REDACTED/work/gh-aw/gh-aw/.gremote.origin.url .cfg 64/pkg/tool/linux_amd64/vet nore /home/REDACTED/worrev-parse /home/REDACTED/wor--git-dir ly/WZkHlpjvgV8BFPU0j_Ob/yvR-6Vds--jq(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.0.0 --jq .object.sha s/update-astro.m--detach(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v1.2.3/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v1.2.3 --jq .object.sha on' --ignore-path ../../../.pret.prettierignore ithub/workflows/daily-cli-tools---log-level=error ode_modules/.bin/node(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v2.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha on' --ignore-path ../../../.pret.prettierignore ithub/workflows/daily-cli-tools---log-level=error es/.bin/node(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha on' --ignore-path ../../../.prettierignore ithub/workflows/code-simplifier.md ithub/workflows/constraint-solving-potd.md ithub/workflows//opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet ithub/workflows/-atomic ithub/workflows/-bool ithub/workflows/-buildtags ithu�� submodules | hea-errorsas ithub/workflows/-ifaceassert x_amd64/vet k/gh-aw/gh-aw/.ggit k/gh-aw/gh-aw/.g-C k/gh-aw/gh-aw/.g/tmp/gh-aw-test-runs/20260317-125900-13257/test-4255661736/.github/workflows x_amd64/vet(http block)/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v2.0.0 --jq .object.sha on' --ignore-path ../../../.prettierignore ithub/workflows/code-simplifier.md odules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/node ithub/workflows//opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet ithub/workflows/-unsafeptr=false ithub/workflows/-unreachable=false ithub/workflows//tmp/go-build3974454460/b069/vet.cfg ithu�� submodules | head -n 10 ithub/workflows/daily-copilot-token-report.md x_amd64/vet k/gh-aw/gh-aw/.ggit k/gh-aw/gh-aw/.grev-parse k/gh-aw/gh-aw/.g--show-toplevel x_amd64/vet(http block)https://api.github.com/repos/github/gh-aw/git/ref/tags/v3.0.0/usr/bin/gh gh api /repos/github/gh-aw/git/ref/tags/v3.0.0 --jq .object.sha on' --ignore-path ../../../.prettierignore ithub/workflows/daily-cli-tools-tester.md de/node/bin/sh(http block)https://api.github.com/repos/nonexistent/action/git/ref/tags/v999.999.999/usr/bin/gh gh api /repos/nonexistent/action/git/ref/tags/v999.999.999 --jq .object.sha ty-test.md l 64/pkg/tool/linu-nolocalimports nore(http block)https://api.github.com/repos/nonexistent/repo/actions/runs/12345/usr/bin/gh gh run view 12345 --repo nonexistent/repo --json status,conclusion ignore(http block)https://api.github.com/repos/owner/repo/actions/workflows/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo ode_modules/.bin-lang=go1.23 user.name(http block)/usr/bin/gh gh workflow list --json name,state,path --repo owner/repo de/node/bin/bash user.name -j DROP git remo�� on' --ignore-path ../../../.prettierignore origin odules/npm/node_modules/@npmcli/run-script/lib/node-gyp-bin/sh(http block)https://api.github.com/repos/owner/repo/contents/file.md/tmp/go-build3974454460/b383/cli.test /tmp/go-build3974454460/b383/cli.test -test.testlogfile=/tmp/go-build3974454460/b383/testlog.txt -test.paniconexit0 -test.v=true -test.parallel=4 -test.timeout=10m0s -test.run=^Test -test.short=true(http block)https://api.github.com/repos/test-owner/test-repo/actions/secrets/usr/bin/gh gh api /repos/test-owner/test-repo/actions/secrets --jq .secrets[].name get --local ash credential.usern/opt/hostedtoolcache/go/1.25.0/x64/pkg/tool/linux_amd64/vet(http block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
📍 Connect Copilot coding agent with Jira, Azure Boards or Linear to delegate work to Copilot in one click without leaving your project management tool.