9
types: [synchronize, opened, reopened, ready_for_review]
11
# cancel previous workflow jobs for PRs
13
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
14
cancel-in-progress: true
20
- name: "Checkout ${{ github.ref }} ( ${{ github.sha }} )"
21
uses: actions/checkout@v4
23
persist-credentials: false
25
- name: Check npm lock file version
26
run: ./scripts/ci_check_npm_lock_version.sh ./superset-frontend/package-lock.json
27
- name: Check for file changes
29
uses: ./.github/actions/change-detector/
31
token: ${{ secrets.GITHUB_TOKEN }}
33
if: steps.check.outputs.frontend
34
uses: actions/setup-node@v4
37
- name: Install dependencies
38
if: steps.check.outputs.frontend
39
uses: ./.github/actions/cached-dependencies
43
if: steps.check.outputs.frontend
44
working-directory: ./superset-frontend
46
npm run eslint -- . --quiet
48
if: steps.check.outputs.frontend
49
working-directory: ./superset-frontend
53
if: steps.check.outputs.frontend
54
working-directory: ./superset-frontend
56
npm run prettier-check
57
- name: Build plugins packages
58
if: steps.check.outputs.frontend
59
working-directory: ./superset-frontend
60
run: npm run plugins:build
61
- name: Build plugins Storybook
62
if: steps.check.outputs.frontend
63
working-directory: ./superset-frontend
64
run: npm run plugins:build-storybook
65
- name: superset-ui/core coverage
66
if: steps.check.outputs.frontend
67
working-directory: ./superset-frontend
71
if: steps.check.outputs.frontend
72
working-directory: ./superset-frontend
74
npm run test -- --coverage --silent
75
# todo: remove this step when fix generator as a project in root jest.config.js
76
- name: generator-superset unit tests
77
if: steps.check.outputs.frontend
78
working-directory: ./superset-frontend/packages/generator-superset
80
- name: Upload code coverage
81
uses: codecov/codecov-action@v4
84
token: ${{ secrets.CODECOV_TOKEN }}