Merge pull request #289 from mathworks/dklilley/release/1.3.6 #244
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: test | |
| on: | |
| push: | |
| branches: [ main ] | |
| workflow_dispatch: | |
| jobs: | |
| build-linux: | |
| name: build-linux | |
| runs-on: ubuntu-latest | |
| steps: | |
| - &checkout | |
| name: Checkout | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - &setup-node | |
| name: Setup Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: 18.x | |
| - &install-dependencies | |
| name: Install dependencies | |
| run: npm run project-install-clean | |
| - &package | |
| name: Package vsix | |
| run: npm run package | |
| - *install-dependencies | |
| - &setup-test | |
| name: Setup tests | |
| run: npm run test-setup | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: build-linux | |
| path: | | |
| *.vsix | |
| out | |
| build-windows: | |
| name: build-windows | |
| runs-on: windows-latest | |
| steps: | |
| - *checkout | |
| - *setup-node | |
| - *install-dependencies | |
| - *package | |
| - *install-dependencies | |
| - *setup-test | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: build-windows | |
| path: | | |
| *.vsix | |
| out | |
| build-macos: | |
| name: build-macos | |
| runs-on: macos-13 | |
| steps: | |
| - *checkout | |
| - *setup-node | |
| - *install-dependencies | |
| - *package | |
| - *install-dependencies | |
| - *setup-test | |
| - name: Upload build artifacts | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: build-macos | |
| path: | | |
| *.vsix | |
| out | |
| # SMOKE TESTS | |
| test-smoke-linux: | |
| name: Smoke Test ${{ matrix.version }}-linux | |
| needs: build-linux | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - &download-linux-build-artifacts | |
| name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-linux | |
| - &setup-MATLAB | |
| name: Set up MATLAB | |
| uses: matlab-actions/setup-matlab@v2 | |
| with: | |
| release: ${{ matrix.version }} | |
| - *setup-node | |
| - *install-dependencies | |
| - name: Start Xvfb | |
| run: /usr/bin/Xvfb :17 -screen 0 1024x768x24 > /dev/null 2>&1 & echo "Started xvfb" | |
| shell: bash | |
| - &run-smoke-tests | |
| name: Run Smoke tests | |
| run: npm run test-smoke | |
| env: | |
| MLM_WEB_LICENSE: true | |
| MLM_WEB_ID: ${{ secrets.MLM_WEB_ID }} | |
| MLM_WEB_USER_CRED: ${{ secrets.MLM_WEB_USER_CRED }} | |
| DISPLAY: ":17.0" | |
| test-smoke-windows: | |
| name: Smoke Test ${{ matrix.version }}-windows | |
| needs: build-windows | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - &download-windows-build-artifacts | |
| name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-windows | |
| - *setup-MATLAB | |
| - *setup-node | |
| - *install-dependencies | |
| - *run-smoke-tests | |
| test-smoke-macos: | |
| name: Smoke Test ${{ matrix.version }}-macos | |
| needs: build-macos | |
| runs-on: macos-13 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - &download-macos-build-artifacts | |
| name: Download build artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: build-macos | |
| - *setup-MATLAB | |
| - *setup-node | |
| - *install-dependencies | |
| - *run-smoke-tests | |
| # UI TESTS | |
| test-ui-linux: | |
| if: False | |
| name: UI Test ${{ matrix.version }}-linux | |
| needs: build-linux | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - *download-linux-build-artifacts | |
| - *setup-MATLAB | |
| - *setup-node | |
| - *install-dependencies | |
| - &run-ui-tests | |
| name: Run UI tests | |
| run: npm run test-ui | |
| env: | |
| MLM_WEB_LICENSE: true | |
| MLM_WEB_ID: ${{ secrets.MLM_WEB_ID }} | |
| MLM_WEB_USER_CRED: ${{ secrets.MLM_WEB_USER_CRED }} | |
| - name: Upload Screenshots | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: screenshots-linux-${{ matrix.version }} | |
| path: ${{ github.workspace }}/s/screenshots | |
| if-no-files-found: ignore | |
| test-ui-windows: | |
| name: UI Test ${{ matrix.version }}-windows | |
| needs: build-windows | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - *download-windows-build-artifacts | |
| - *setup-MATLAB | |
| - *setup-node | |
| - *install-dependencies | |
| - *run-ui-tests | |
| - name: Upload Screenshots | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: screenshots-windows-${{ matrix.version }} | |
| path: ${{ github.workspace }}/s/screenshots | |
| if-no-files-found: ignore | |
| test-ui-macos: | |
| name: UI Test ${{ matrix.version }}-macos | |
| needs: build-macos | |
| runs-on: macos-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [R2021b, R2022a, R2022b, latest] | |
| steps: | |
| - *checkout | |
| - *download-macos-build-artifacts | |
| - *setup-MATLAB | |
| - *setup-node | |
| - *install-dependencies | |
| - *run-ui-tests | |
| - name: Upload Screenshots | |
| uses: actions/upload-artifact@v4 | |
| if: always() | |
| with: | |
| name: screenshots-macos-${{ matrix.version }} | |
| path: ${{ github.workspace }}/s/screenshots | |
| if-no-files-found: ignore |