diff --git a/.github/workflows/weekly-update.yml b/.github/workflows/weekly-update.yml index eb4a65e21..9f9dc4f8c 100644 --- a/.github/workflows/weekly-update.yml +++ b/.github/workflows/weekly-update.yml @@ -86,12 +86,14 @@ jobs: GH_TOKEN: ${{ github.token }} run: | BRANCH_NAME="weekly-update-$(date +%Y%m%d)" - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" git remote set-url origin "https://x-access-token:${GH_TOKEN}@github.com/${{ github.repository }}.git" git checkout -b "$BRANCH_NAME" echo "branch=$BRANCH_NAME" >> $GITHUB_OUTPUT + - uses: SocketDev/socket-registry/.github/actions/setup-git-signing@6096b06b1790f411714c89c40f72aade2eeaab7c # main + with: + gpg-private-key: ${{ secrets.BOT_GPG_PRIVATE_KEY }} + - name: Run updating skill with Claude Code id: claude timeout-minutes: 30 @@ -108,7 +110,28 @@ jobs: set +e pnpm exec claude --print --dangerously-skip-permissions \ --model sonnet \ - "/updating - Run the updating skill to update all dependencies. Create atomic commits for each update. You are running in CI mode - skip builds and tests. Do not push or create a PR." \ + "$(cat <<'PROMPT' + /updating + + + You are an automated CI agent in a weekly dependency update workflow. + Git is configured with GPG signing. A branch has been created for you. + + + + Update all dependencies to their latest versions. + Create one atomic commit per dependency update with a conventional commit message. + Leave all changes local — the workflow handles pushing and PR creation. + Skip running builds, tests, and type checks — CI runs those separately. + + + + Each updated dependency has its own commit. + The lockfile is consistent with package.json changes. + No uncommitted changes remain in the working tree. + + PROMPT + )" \ 2>&1 | tee claude-output.log CLAUDE_EXIT=${PIPESTATUS[0]} set -e @@ -182,6 +205,9 @@ jobs: path: claude-output.log retention-days: 7 + - uses: SocketDev/socket-registry/.github/actions/cleanup-git-signing@6096b06b1790f411714c89c40f72aade2eeaab7c # main + if: always() + notify: name: Notify results needs: [check-updates, apply-updates]