name: Frontend on: push: branches-ignore: - "dependabot/**/docs/**" - "dependabot/**/cypress-base/**" pull_request: types: [synchronize, opened, reopened, ready_for_review] jobs: frontend-build: if: github.event.pull_request.draft == false runs-on: ubuntu-20.04 steps: - name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )" uses: actions/checkout@v2 with: persist-credentials: false submodules: recursive - name: Check npm lock file version run: ./scripts/ci_check_npm_lock_version.sh ./superset-frontend/package-lock.json - name: Check if frontend changes are present id: check env: GITHUB_REPO: ${{ github.repository }} PR_NUMBER: ${{ github.event.pull_request.number }} continue-on-error: true run: ./scripts/ci_check_no_file_changes.sh frontend - name: Setup Node.js if: steps.check.outcome == 'failure' uses: actions/setup-node@v2 with: node-version: '16' - name: Install dependencies if: steps.check.outcome == 'failure' uses: ./.github/actions/cached-dependencies with: run: npm-install - name: lint if: steps.check.outcome == 'failure' working-directory: ./superset-frontend run: | npm run lint npm run prettier-check - name: unit tests if: steps.check.outcome == 'failure' working-directory: ./superset-frontend run: | npm run test -- --coverage - name: Upload code coverage if: steps.check.outcome == 'failure' working-directory: ./superset-frontend run: ../.github/workflows/codecov.sh -c -F javascript