From bf71d6474605d3e94cbc3cb773c5220c0ae5e3a0 Mon Sep 17 00:00:00 2001 From: Neil <4138956+nwparker@users.noreply.github.com> Date: Thu, 15 Oct 2026 12:29:59 -0700 Subject: [PATCH] [CI] Group skill update checks by operating system (#29021) --- .github/workflows/skill-update-roundtrip.yml | 60 +++++++++++++++++--- 1 file changed, 51 insertions(+), 9 deletions(-) diff --git a/.github/workflows/skill-update-roundtrip.yml b/.github/workflows/skill-update-roundtrip.yml index 490b45483b5..7115ea38e28 100644 --- a/.github/workflows/skill-update-roundtrip.yml +++ b/.github/workflows/skill-update-roundtrip.yml @@ -32,32 +32,74 @@ jobs: fail-fast: false matrix: os: [macos-latest, ubuntu-latest, windows-latest] - shape: [symlink, copy] - autocrlf: ['false', 'true'] # Why: `pinned` runs the skills CLI version Orca ships (SKILLS_CLI_VERSION). skills-cli: [pinned] include: - os: ubuntu-latest - shape: symlink - autocrlf: 'false' skills-cli: latest continue-on-error: ${{ matrix.skills-cli == 'latest' }} runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v6 + id: checkout with: persist-credentials: false - uses: actions/setup-node@v6 + id: node with: node-version-file: package.json - - name: Verify the pinned add replaces stale copies + - name: Verify pinned symlink placement with autocrlf false + if: ${{ !cancelled() && matrix.skills-cli == 'pinned' && steps.checkout.outcome == 'success' && steps.node.outcome == 'success' }} env: GITHUB_TOKEN: ${{ github.token }} SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }} - # A commit, the same kind of ref Orca pins official skills to. SKILL_UPDATE_REF: ${{ github.event.pull_request.head.sha || github.sha }} run: >- node config/scripts/verify-skill-update-roundtrip.mjs - ${{ matrix.skills-cli == 'latest' && '--cli=latest' || '' }} - --autocrlf=${{ matrix.autocrlf }} - --shape=${{ matrix.shape }} + --autocrlf=false + --shape=symlink + + - name: Verify pinned symlink placement with autocrlf true + if: ${{ !cancelled() && matrix.skills-cli == 'pinned' && steps.checkout.outcome == 'success' && steps.node.outcome == 'success' }} + env: + GITHUB_TOKEN: ${{ github.token }} + SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }} + SKILL_UPDATE_REF: ${{ github.event.pull_request.head.sha || github.sha }} + run: >- + node config/scripts/verify-skill-update-roundtrip.mjs + --autocrlf=true + --shape=symlink + + - name: Verify pinned copy placement with autocrlf false + if: ${{ !cancelled() && matrix.skills-cli == 'pinned' && steps.checkout.outcome == 'success' && steps.node.outcome == 'success' }} + env: + GITHUB_TOKEN: ${{ github.token }} + SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }} + SKILL_UPDATE_REF: ${{ github.event.pull_request.head.sha || github.sha }} + run: >- + node config/scripts/verify-skill-update-roundtrip.mjs + --autocrlf=false + --shape=copy + + - name: Verify pinned copy placement with autocrlf true + if: ${{ !cancelled() && matrix.skills-cli == 'pinned' && steps.checkout.outcome == 'success' && steps.node.outcome == 'success' }} + env: + GITHUB_TOKEN: ${{ github.token }} + SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }} + SKILL_UPDATE_REF: ${{ github.event.pull_request.head.sha || github.sha }} + run: >- + node config/scripts/verify-skill-update-roundtrip.mjs + --autocrlf=true + --shape=copy + + - name: Preview latest CLI with symlink placement and autocrlf false + if: matrix.skills-cli == 'latest' + env: + GITHUB_TOKEN: ${{ github.token }} + SKILL_UPDATE_SOURCE: ${{ github.event.pull_request.head.repo.full_name || github.repository }} + SKILL_UPDATE_REF: ${{ github.event.pull_request.head.sha || github.sha }} + run: >- + node config/scripts/verify-skill-update-roundtrip.mjs + --cli=latest + --autocrlf=false + --shape=symlink