Skip to content

Upgrade eval workflow: pin latest action SHAs, global tool installs, COPILOT_GITHUB_TOKEN - #5

Merged
heaths merged 8 commits into
mainfrom
copilot/add-skill-evaluations-using-vally
Jun 25, 2026
Merged

Upgrade eval workflow: pin latest action SHAs, global tool installs, COPILOT_GITHUB_TOKEN#5
heaths merged 8 commits into
mainfrom
copilot/add-skill-evaluations-using-vally

Conversation

CopilotAI commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

Modernizes .github/workflows/eval.yml to use the latest GitHub Actions, install vally and the Copilot CLI as global tools, and switch to COPILOT_GITHUB_TOKEN for evals.

Changes

  • Upgraded actions to latest versions, SHA-pinned per security policy:
    • actions/checkout → v7.0.0
    • actions/setup-node → v6.4.0
    • actions/upload-artifact → v7.0.1
  • Added "Install tools" step — installs @microsoft/vally-cli@0.6.0 and @github/copilot@1.0.65 globally so downstream steps invoke them directly
  • Replaced npx -y @microsoft/vally-cli@0.6.0 ... with vally ... in Lint and Run evals steps
  • Switched env var in Run evals from GITHUB_TOKENCOPILOT_GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}

Comment threadevals/linting/eval.yaml Outdated
@heaths
heaths marked this pull request as ready for review June 25, 2026 07:45

CopilotAI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds Vally-based evaluation specs and fixtures for selected plugin skills and wires them into CI via a dedicated pull-request workflow, so skill behavior can be continuously validated as part of the plugin marketplace repo.

Changes:

  • Added .vally.yaml defining a pr suite that runs linting + security eval specs.
  • Added Vally eval specs + fixtures for check-spelling, lint-markdown, and pin-github-actions.
  • Added a dedicated pull_request GitHub Actions workflow to run Vally lint/evals and upload vally-results.
Show a summary per file
FileDescription
evals/security/fixtures/pin-github-actions/workflow.ymlAdds a workflow fixture used to validate action pinning behavior.
evals/security/eval.yamlDefines the security plugin eval stimulus and graders for pin-github-actions.
evals/linting/fixtures/lint-markdown/input.mdAdds a markdown fixture with intentionally inconsistent bullet styles.
evals/linting/fixtures/check-spelling/input.mdAdds a spelling fixture containing a known typo and a project-specific word.
evals/linting/eval.yamlDefines linting plugin eval stimuli and graders for check-spelling and lint-markdown.
.vally.yamlIntroduces the Vally project config and pr suite wiring to the eval specs.
.github/workflows/vally-pr-evals.ymlAdds a PR workflow that runs Vally lint + evals and uploads results.

Review details

Tip

Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

  • Files reviewed: 7/7 changed files
  • Comments generated: 4
  • Review effort level: Low

Comment threadevals/linting/eval.yaml Outdated
Comment threadevals/linting/eval.yaml Outdated
Comment threadevals/security/eval.yaml Outdated
Comment threadevals/security/eval.yaml Outdated

@heathsheaths left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@copilot tye eval prompts should be vague. Check that the skills are invoked and the assertions pass, but don't include implementation details of the skills in the prompts. That's not realistic.

Comment threadevals/linting/eval.yaml Outdated

CopilotAI commented Jun 25, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot tye eval prompts should be vague. Check that the skills are invoked and the assertions pass, but don't include implementation details of the skills in the prompts. That's not realistic.

Updated in 3a2b9d9. The prompts are now vague and task-oriented, while expect_skills and the graders still verify the intended skill behavior.

CopilotAI requested a review from heathsJune 25, 2026 08:04
@heaths

Copy link
Copy Markdown
Owner

@copilot resolve the active comments using the suggestions given.

CopilotAI commented Jun 25, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot resolve the active comments using the suggestions given.

Updated in a5127a4.

@heaths

Copy link
Copy Markdown
Owner

@copilot resolve the check error "Error: Unable to resolve action actions/setup-node@49933ea5288caeca8642e84d8d5f7a3f7c7bd7e8, unable to find version 49933ea5288caeca8642e84d8d5f7a3f7c7bd7e8" and fix the workflow. Pin the GitHub action using pin-GitHub-actions skill in this repo. Already rename the workflow to be just "eval" for both the file name (eval.yml) and the name in the file.

CopilotAI commented Jun 25, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot resolve the check error "Error: Unable to resolve action actions/setup-node@49933ea5288caeca8642e84d8d5f7a3f7c7bd7e8, unable to find version 49933ea5288caeca8642e84d8d5f7a3f7c7bd7e8" and ...

Updated in 4a6d841.

CopilotAI requested a review from heathsJune 25, 2026 08:27
@heaths

heaths commented Jun 25, 2026

Copy link
Copy Markdown
Owner

@copilot running evals fails with " Error: Authorization error, you may need to run /login (Request ID: DC33:24F025:3306A38:3777493:6A3CE6B2)". Fix the eval workflow. According to https://microsoft.github.io/vally/get-started/add-to-ci/, the GitHub token needs to be passed eg:

name: Skill Evalon:
pull_request:
paths:
- "**/SKILL.md"
- "**/eval.yaml"jobs:
eval:
runs-on: ubuntu-lateststeps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4with:
node-version: "22"
- run: npm install -g @microsoft/vally-cli
- name: Run evalsrun: | vally eval \ --eval-spec eval.yaml \ --skill-dir . \ --output-dir ./resultsenv:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload trajectoriesif: always()uses: actions/upload-artifact@v4with:
name: eval-resultspath: ./results/

CopilotAI commented Jun 25, 2026

Copy link
Copy Markdown
ContributorAuthor

@copilot running evals fails with " Error: Authorization error, you may need to run /login (Request ID: DC33:24F025:3306A38:3777493:6A3CE6B2)". Fix the eval workflow. According to https://microsoft.g...

Updated in e9cfcc2.

CopilotAI requested a review from heathsJune 25, 2026 08:35
@heaths

Copy link
Copy Markdown
Owner

@copilot running evals is still failing with "Error: Authorization error, you may need to run /login (Request ID: 2818:77508:338EB17:38288BC:6A3CE88E)". Fix the workflow. If you cannot determine why, do not use trial and error to fix it. Terminate with an error and I'll ask colleagues who might know why.

@heaths

Copy link
Copy Markdown
Owner

@chlowell I'm getting an auth error trying to run evals. Any idea why?

Error: Authorization error, you may need to run /login (Request ID: 2818:77508:338EB17:38288BC:6A3CE88E)

I followed the docs and can't find anything about token requirements.

/cc @LarryOsterman

CopilotAI changed the title Add per-plugin Vally skill evals and dedicated PR eval workflowUpgrade eval workflow: pin latest action SHAs, global tool installs, COPILOT_GITHUB_TOKENJun 25, 2026
Comment thread.github/workflows/eval.yml Outdated
CopilotAI requested a review from heathsJune 25, 2026 19:04
@heaths
heaths merged commit bc8ad80 into mainJun 25, 2026
1 check passed
@heaths
heaths deleted the copilot/add-skill-evaluations-using-vally branch June 25, 2026 20:05
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@heaths