Skip to content

feat(vscode-extension): route DA workflows to WIQD #51

feat(vscode-extension): route DA workflows to WIQD

feat(vscode-extension): route DA workflows to WIQD #51

name: Evaluate Microsoft 365 Agents Toolkit Skill
on:
workflow_dispatch:
pull_request_target:
paths:
- "packages/vscode-extension/skills/microsoft-365-agents-toolkit/**"
- "evals/microsoft-365-agents-toolkit/**"
- ".github/workflows/eval-microsoft-365-agents-toolkit.yml"
permissions:
contents: read
jobs:
evaluate:
if: ${{ !endsWith(github.actor, '[bot]') }}
runs-on: ubuntu-latest
timeout-minutes: 120
environment: skill-evaluation
steps:
- name: Checkout trusted evaluation harness
uses: actions/checkout@v4
with:
fetch-depth: 0
persist-credentials: false
ref: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.base.sha || github.ref }}
- name: Checkout PR skill
if: ${{ github.event_name == 'pull_request_target' }}
uses: actions/checkout@v4
with:
fetch-depth: 1
persist-credentials: false
path: pr-source
ref: ${{ github.event.pull_request.head.sha }}
repository: ${{ github.event_name == 'pull_request_target' && github.event.pull_request.head.repo.full_name || github.repository }}
sparse-checkout: packages/vscode-extension/skills/microsoft-365-agents-toolkit
- name: Overlay PR skill onto trusted harness
if: ${{ github.event_name == 'pull_request_target' }}
run: |
if find pr-source/packages/vscode-extension/skills/microsoft-365-agents-toolkit -type l -print -quit | grep -q .; then
echo "Symbolic links are not allowed in the evaluated skill."
exit 1
fi
rm -rf packages/vscode-extension/skills/microsoft-365-agents-toolkit
cp -R pr-source/packages/vscode-extension/skills/microsoft-365-agents-toolkit packages/vscode-extension/skills/
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "24"
- name: Install GitHub Copilot CLI
run: |
npm install -g @github/copilot
copilot --version
- name: Install Waza
run: curl -fsSL https://raw.githubusercontent.com/microsoft/waza/main/install.sh | bash
- name: Run evaluation
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.COPILOT_GITHUB_TOKEN }}
M365_ACCOUNT_NAME: ${{ vars.TEST_ACCOUNT_NAME }}
M365_ACCOUNT_PASSWORD: ${{ secrets.TEST_ACCOUNT_PASSWORD }}
M365_TENANT_ID: ${{ vars.TEST_TENANT_CLEAN_TENANT_ID }}
AZURE_ACCOUNT_NAME: ${{ vars.TEST_ACCOUNT_NAME }}
AZURE_ACCOUNT_OBJECT_ID: ${{ vars.TEST_ACCOUNT_OBJECT_ID }}
AZURE_ACCOUNT_PASSWORD: ${{ secrets.TEST_ACCOUNT_PASSWORD }}
AZURE_TENANT_ID: ${{ vars.TEST_TENANT_CLEAN_TENANT_ID }}
AZURE_SUBSCRIPTION_ID: ${{ vars.AZURE_SUBSCRIPTION_ID }}
run: waza run -o evals/results/latest.json
- name: Record evaluation completion
if: always()
run: echo "Evaluation run $GITHUB_RUN_ID completed." > evals/results/evaluation-complete.txt
- name: Upload raw evaluation results
if: always()
uses: actions/upload-artifact@v4
with:
name: skill-eval-raw
path: |
./evals/results/latest.json
./evals/results/evaluation-complete.txt
retention-days: 30