feat(studio): load external artifact provider modules #345
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: | |
| - main | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: ci-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: ${{ matrix.os }} / Node ${{ matrix.node }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| node: 22.20.0 | |
| - os: macos-latest | |
| node: 22.20.0 | |
| - os: windows-latest | |
| node: 22.20.0 | |
| - os: ubuntu-latest | |
| node: 24.x | |
| runs-on: ${{ matrix.os }} | |
| steps: | |
| - uses: actions/checkout@v6 | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: ${{ matrix.node }} | |
| cache: npm | |
| - run: npm ci | |
| - name: Run native DSH Skill discovery smoke | |
| run: npm run test:dsh-native | |
| - name: Run native DSH configured-assets smoke | |
| run: npm run test:dsh-configured-assets-native | |
| - name: Run Vitest | |
| run: npm run test:ci | |
| - name: Verify Harness DSL generated sources | |
| run: npm run harness:generated | |
| - name: Build Harness DSL package | |
| run: npm run harness:build | |
| - name: Test Harness DSL package | |
| run: npm run harness:test | |
| - name: Build Harness UI package | |
| run: npm run harness-ui:build | |
| - name: Test Harness UI package | |
| run: npm run harness-ui:test | |
| - name: Build Harness Studio package | |
| run: npm run harness-studio:build | |
| - name: Test Harness Studio package | |
| run: npm run harness-studio:test | |
| - name: Install Chromium for Harness Studio browser test | |
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.node == '22.20.0' }} | |
| run: npx playwright install --with-deps chromium | |
| - name: Test Harness Studio browser interaction | |
| if: ${{ matrix.os == 'ubuntu-latest' && matrix.node == '22.20.0' }} | |
| run: npm run harness-studio:test:browser | |
| - name: Upload JUnit test results | |
| if: ${{ always() }} | |
| uses: actions/upload-artifact@v7 | |
| with: | |
| name: test-results-${{ matrix.os }}-node-${{ matrix.node }} | |
| path: test-results/vitest.junit.xml | |
| if-no-files-found: error | |
| - run: npm run pack:verify |