kyuubi/.github/workflows/web-ui.yml
liangbowen b10a8ef27d [KYUUBI #4948] [BUILD] Reuse versions of NodeJS and Pnpm from maven properties
### _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>
2023-06-12 09:02:09 +08:00

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