# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json name: Test Build on: push: paths: - ".github/workflows/*" - "**/*.js" - "**/*.ts" - "**/*.vue" - "public/**/*" - "package-lock.json" - "package.json" pull_request: branches: [ master ] types: [ opened, synchronize, reopened ] paths: - "**/*.js" - "**/*.ts" - "**/*.vue" - "public/**/*" - "package-lock.json" - "package.json" jobs: test-coverage: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - run: npm ci # note: forks can not access to GITHUB_TOKEN for coverage update. # instead, we just ran the test in this case. - name: Test only if: github.event_name != 'push' run: npm test - name: Test + Publish Coverage uses: ArtiomTr/jest-coverage-report-action@v2.0-rc.6 if: github.event_name == 'push' with: github-token: ${{ secrets.GITHUB_TOKEN }} annotations: none build: runs-on: ubuntu-latest strategy: matrix: build: [ legacy, modern ] include: - build: legacy BUILD_ARGS: "" BUILD_EXTENSION: true - build: modern BUILD_ARGS: "-- --modern" BUILD_EXTENSION: false steps: - uses: actions/checkout@v2 - name: Use Node.js 16.x uses: actions/setup-node@v2 with: node-version: "16" - name: Install Dependencies run: npm ci - name: Build run: npm run build ${{ matrix.BUILD_ARGS }} - name: Publish artifact uses: actions/upload-artifact@v2 with: name: ${{ matrix.build }} path: ./dist - name: Build Extension if: ${{ matrix.BUILD_EXTENSION }} run: npm run make-extension - name: Publish artifact - Extension if: ${{ matrix.BUILD_EXTENSION }} uses: actions/upload-artifact@v2 with: name: extension path: ./dist