Move reaction step after generate_aw_info for faster user feedback#21783
Move reaction step after generate_aw_info for faster user feedback#21783
Conversation
The heart reaction step (and activation app token minting if needed) is now inserted immediately after the Setup Scripts step in the activation job. This ensures users see the reaction feedback as fast as possible, rather than waiting for resolve-host-repo, artifact prefix, aw_info, secret validation, checkout, and other steps to complete first. Also adds a test to validate the new step ordering. Recompiles all 175 lock files to reflect the new order. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
| setupGlobals(core, github, context, exec, io); | ||
| const { main } = require('${{ runner.temp }}/gh-aw/actions/add_reaction.cjs'); | ||
| await main(); | ||
| - name: Generate agentic run info |
There was a problem hiding this comment.
@copilot run this step first. We need this info in case add reaction fails.
There was a problem hiding this comment.
Done in f30c3d5. generate_aw_info now runs before the reaction step so its data is always captured even if the reaction fails. New order: Setup Scripts → generate_aw_info → react.
…on failure The generate_aw_info step now runs before the reaction step so that aw_info data is always captured even if the reaction step fails. The order becomes: Setup Scripts → generate_aw_info → react → secret validation → checkout ... Recompile all 175 lock files to reflect the new step ordering. Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com>
|
Just as a heads up, I was blocked by some firewall rules while working on your feedback. Expand below for details. Warning 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:
If you need me to access, download, or install something from one of these locations, you can either:
|
There was a problem hiding this comment.
Pull request overview
This PR reorders the activation job steps so generate_aw_info runs as early as possible and the “react” step runs shortly after, reducing time-to-first-feedback for users.
Changes:
- Reordered activation job steps to run
resolve-host-repo/artifact-prefix/generate_aw_infobefore app token minting and the reaction step, and moved secret validation +.githubcheckout later. - Added a unit test to assert the relative ordering of
Setup Scripts→generate_aw_info→react. - Regenerated workflow
.lock.ymlfiles to reflect the new step ordering and updated a stale test comment.
Reviewed changes
Copilot reviewed 29 out of 29 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| pkg/workflow/compiler_activation_job.go | Reorders activation job steps so generate_aw_info and reactions happen earlier. |
| pkg/workflow/compiler_activation_jobs_test.go | Adds test asserting early ordering of setup/aw_info/react steps. |
| pkg/workflow/aw_info_before_validate_secret_test.go | Removes/updates stale comment about step ordering. |
| .github/workflows/workflow-generator.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/unbloat-docs.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/tidy.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-temporary-id.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-project.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-multi-pr.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-gemini.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-copilot.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-copilot-arm.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-codex.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/smoke-claude.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/security-review.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/scout.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/q.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/pr-nitpick-reviewer.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/poem-bot.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/plan.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/pdf-summary.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/mergefest.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/grumpy-reviewer.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/craft.lock.yml | Regenerated lockfile reflecting earlier reaction step placement (and moved .github checkout accordingly). |
| .github/workflows/cloclo.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/changeset.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
| .github/workflows/brave.lock.yml | Regenerated lockfile reflecting earlier reaction step placement (and moved .github checkout accordingly). |
| .github/workflows/archie.lock.yml | Regenerated lockfile reflecting earlier reaction step placement (and moved .github checkout accordingly). |
| .github/workflows/ace-editor.lock.yml | Regenerated lockfile reflecting earlier reaction step placement. |
💡 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.
| // Add reaction step right after generate_aw_info so it is shown to the user as fast as | ||
| // possible. generate_aw_info runs first so its data is captured even if the reaction fails. | ||
| // This runs in the activation job so it can use any configured github-token or github-app. | ||
| if hasReaction { | ||
| reactionCondition := BuildReactionCondition() |
| // TestValidateSecretBeforeAwInfo verifies that the generate_aw_info step in the activation job | ||
| // appears before the validate-secret step. generate_aw_info is now the first step after setup, | ||
| // so it must precede validate-secret. | ||
| // appears before the validate-secret step. | ||
| func TestValidateSecretBeforeAwInfo(t *testing.T) { |
The reaction step (e.g. 👀 ❤️) was placed late in the activation job — after resolve-host-repo, artifact prefix, aw_info, secret validation, and checkout steps — adding unnecessary latency before the user sees any feedback.
Changes
compiler_activation_job.go: Movesgenerate_aw_info(and its prerequisitesresolve-host-repo/artifact-prefix) before the app token minting and reaction step.generate_aw_inforuns first so its data is always captured even if the reaction step fails, then the reaction step fires as early as possible for user feedback.Before:
After:
compiler_activation_jobs_test.go: AddsTestBuildActivationJob_ReactionAfterSetupScriptsto assert the step order:Setup Scripts→generate_aw_info→react.aw_info_before_validate_secret_test.go: Removes stale comment claiminggenerate_aw_infois the first step after setup..lock.ymlfiles recompiled to reflect the new ordering.Original prompt
📱 Kick off Copilot coding agent tasks wherever you are with GitHub Mobile, available on iOS and Android.