| 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 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: 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 |