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 spec: name: Spec 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-spec 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: Run Tests run: npm run build-package 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: rendering/cases/**/actual.png