name: Test on: push: branches: - main pull_request: branches: - main env: CI: true jobs: pretest: name: Pre-Test runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Clone Repository uses: actions/checkout@v2 - name: Set Node.js Version uses: actions/setup-node@v1 with: node-version: 16 - name: Determine Cache Directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Configure Job Cache uses: actions/cache@v1 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install Dependencies run: npm ci - name: Run Tests run: npm run pretest browser: name: Browser runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Clone Repository uses: actions/checkout@v2 - name: Set Node.js Version uses: actions/setup-node@v1 with: node-version: 16 - name: Determine Cache Directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Configure Job Cache uses: actions/cache@v1 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install Dependencies run: npm ci - name: Run Tests run: npm run test-browser node: name: Node runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Clone Repository uses: actions/checkout@v2 - name: Set Node.js Version uses: actions/setup-node@v1 with: node-version: 16 - name: Determine Cache Directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Configure Job Cache uses: actions/cache@v1 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install Dependencies run: npm ci - name: Run Tests run: npm run test-node build: name: Build runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Clone Repository uses: actions/checkout@v2 - name: Set Node.js Version uses: actions/setup-node@v1 with: node-version: 16 - name: Determine Cache Directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Configure Job Cache uses: actions/cache@v1 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install Dependencies run: npm ci - name: Build the Package run: npm run build-package - name: Generate the Legacy Build run: npm run build-legacy rendering: name: Rendering runs-on: ubuntu-latest strategy: fail-fast: false steps: - name: Clone Repository uses: actions/checkout@v2 - name: Set Node.js Version uses: actions/setup-node@v1 with: node-version: 16 - name: Determine Cache Directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - name: Configure Job Cache uses: actions/cache@v1 with: path: ${{ steps.npm-cache.outputs.dir }} key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} restore-keys: | ${{ runner.os }}-node- - name: Install Dependencies run: npm ci - name: Run Tests run: npm run test-rendering - name: Store Rendering Test Artifacts if: ${{ always() }} uses: actions/upload-artifact@v2 with: name: rendering-tests path: test/rendering/cases/**/actual.png