unit tests coverage #17776
  
    
      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: Zowe Explorer CI | |
| on: | |
| push: | |
| paths: | |
| - packages/zowe-explorer/** | |
| - packages/zowe-explorer-api/** | |
| - .github/workflows/zowe-explorer-ci.yml | |
| pull_request: | |
| paths: | |
| - packages/zowe-explorer/** | |
| - packages/zowe-explorer-api/** | |
| - .github/workflows/zowe-explorer-ci.yml | |
| jobs: | |
| ze-build: | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 60 | |
| concurrency: | |
| group: ${{ matrix.os }}-node-${{ matrix.node-version }}-ze-ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| strategy: | |
| # Continue to run tests on the other systems if one fails | |
| fail-fast: false | |
| matrix: | |
| node-version: [18.x, 20.x, 22.x] | |
| # order operating systems from best to worst | |
| os: [windows-latest, ubuntu-22.04, macos-latest] | |
| if: (github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository) && !contains(github.event.head_commit.message, '[ci skip]') | |
| steps: | |
| - name: Check out code | |
| uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| # install pnpm | |
| - run: npm install -g pnpm | |
| - run: pnpm config set network-timeout 60000 && pnpm install | |
| - run: pnpm build | |
| id: build | |
| - run: pnpm test | |
| env: | |
| CI: true | |
| NODE_OPTIONS: --max_old_space_size=4096 | |
| - name: Unlock Keyring | |
| id: unlock-keyring | |
| if: matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| uses: t1m0thyj/unlock-keyring@v1 | |
| - name: Integration tests | |
| if: matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| run: xvfb-run pnpm test:integration --exclude "Activation.feature" | |
| working-directory: packages/zowe-explorer | |
| - name: Upload test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() && steps.build.outcome == 'success' && matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| with: | |
| name: zowe-explorer-results | |
| path: | | |
| packages/zowe-explorer/results/ | |
| packages/zowe-explorer/__tests__/__integration__/bdd/results/ | |
| - name: Upload API test results | |
| uses: actions/upload-artifact@v4 | |
| if: always() && steps.build.outcome == 'success' && matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| with: | |
| name: zowe-explorer-api-results | |
| path: packages/zowe-explorer-api/results/ | |
| - name: Upload Results to Codecov | |
| uses: codecov/codecov-action@v4 | |
| with: | |
| env_vars: OS,NODE | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| - name: Package VSIX | |
| if: matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| run: pnpm package | |
| working-directory: packages/zowe-explorer | |
| - name: Archive VSIX artifact | |
| if: matrix.os == 'ubuntu-22.04' && matrix.node-version == '20.x' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: zowe-explorer-vsix | |
| path: dist/*.vsix |