### _Why are the changes needed?_ - fetch versions for NodeJS and Pnpm from Maven properties - enabled npm dependency caching for global packages and web-ui module, as the step above takes extra time in builds. ### _How was this patch tested?_ - [ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible - [ ] Add screenshots for manual tests if appropriate - [x] [Run test](https://kyuubi.readthedocs.io/en/master/develop_tools/testing.html#running-tests) locally before make a pull request Closes #4948 from bowenliang123/pnpm-version. Closes #4948 80b0f6934 [liangbowen] Reuse versions of NodeJS and Pnpm from maven properties Authored-by: liangbowen <liangbowen@gf.com.cn> Signed-off-by: liangbowen <liangbowen@gf.com.cn>
56 lines
1.6 KiB
YAML
56 lines
1.6 KiB
YAML
name: Web UI
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
- branch-*
|
|
pull_request:
|
|
branches:
|
|
- master
|
|
- branch-*
|
|
|
|
concurrency:
|
|
group: web-ui-${{ github.head_ref || github.run_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
web-ui:
|
|
name: Kyuubi Web UI check
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- name: checkout
|
|
uses: actions/checkout@v3
|
|
- name: Setup JDK 8
|
|
uses: actions/setup-java@v3
|
|
with:
|
|
distribution: temurin
|
|
java-version: 8
|
|
- name: Setup Maven
|
|
uses: ./.github/actions/setup-maven
|
|
- name: Get NodeJS and PNPM version
|
|
run: |
|
|
NODEJS_VERSION=$(build/mvn help:evaluate -Dexpression=node.version -q -DforceStdout)
|
|
PNPM_VERSION=$(build/mvn help:evaluate -Dexpression=pnpm.version -q -DforceStdout)
|
|
echo "NODEJS_VERSION=${NODEJS_VERSION}" >> "$GITHUB_ENV"
|
|
echo "PNPM_VERSION=${PNPM_VERSION}" >> "$GITHUB_ENV"
|
|
- name: Setup Nodejs and NPM
|
|
uses: actions/setup-node@v3
|
|
with:
|
|
node-version: ${{env.NODEJS_VERSION}}
|
|
cache: npm
|
|
cache-dependency-path: ./kyuubi-server/web-ui/package.json
|
|
- name: Cache NPM dependencies
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: ./kyuubi-server/web-ui/node_modules
|
|
key: webui-dependencies-${{ hashFiles('kyuubi-server/web-ui/pnpm-lock.yaml') }}
|
|
restore-keys: webui-dependencies-
|
|
- name: npm run coverage & build
|
|
run: |
|
|
cd ./kyuubi-server/web-ui
|
|
npm install pnpm@${PNPM_VERSION} -g
|
|
pnpm install
|
|
pnpm run coverage
|
|
pnpm run build
|