mirror of https://github.com/nocodb/nocodb
starbirdtech383
1 year ago
5 changed files with 174 additions and 12 deletions
@ -0,0 +1,80 @@
|
||||
name: pre-build-for-playwright |
||||
|
||||
on: |
||||
workflow_call: |
||||
inputs: |
||||
FORCE_RUN_PRERQUISITE_STEPS: |
||||
description: 'FORCE_RUN_PRERQUISITE_STEPS' |
||||
required: false |
||||
type: string |
||||
default: 'false' |
||||
|
||||
jobs: |
||||
playwright: |
||||
runs-on: [self-hosted, aws] |
||||
timeout-minutes: 100 |
||||
steps: |
||||
- name: Checkout |
||||
uses: actions/checkout@v3 |
||||
- name: pre-requisite checks |
||||
shell: bash |
||||
run: | |
||||
node_version=$(node --version || echo "error") |
||||
pnpm_version=$(pnpm -v || echo "error") |
||||
echo "node version: $node_version" |
||||
echo "pnpm version: $pnpm_version" |
||||
if [[ $node_version != v18* ]] || [[ $pnp_version != 8* ]]; then |
||||
echo "version mismatch: expected node v18 and pnpm v8" |
||||
RUN_PRERQUISITE_STEPS="true" |
||||
elif [[ ${FORCE_RUN_PRERQUISITE_STEPS} == "true" ]]; |
||||
# || [[ ! -f ${PRE_REQ_CHECK_FILE_PATH} ]]; |
||||
then |
||||
echo "FORCE_RUN_PRERQUISITE_STEPS is true" |
||||
RUN_PRERQUISITE_STEPS="true" |
||||
else |
||||
RUN_PRERQUISITE_STEPS="false" |
||||
fi |
||||
echo "RUN_PRERQUISITE_STEPS=${RUN_PRERQUISITE_STEPS}" >> $GITHUB_ENV |
||||
- name: Setup Node |
||||
if: env.RUN_PRERQUISITE_STEPS == 'true' |
||||
uses: actions/setup-node@v3 |
||||
with: |
||||
node-version: 18.14.0 |
||||
- name: Setup pnpm |
||||
if: env.RUN_PRERQUISITE_STEPS == 'true' |
||||
uses: pnpm/action-setup@v2 |
||||
with: |
||||
version: 8 |
||||
- name: Get pnpm store directory |
||||
shell: bash |
||||
run: | |
||||
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV |
||||
- uses: actions/cache@v3 |
||||
if: env.RUN_PRERQUISITE_STEPS == 'true' |
||||
name: Setup pnpm cache |
||||
with: |
||||
path: ${{ env.STORE_PATH }} |
||||
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} |
||||
restore-keys: | |
||||
${{ runner.os }}-pnpm-store- |
||||
- name: install dependencies |
||||
run: pnpm bootstrap |
||||
- name: run frontend |
||||
working-directory: ./packages/nc-gui |
||||
run: | |
||||
pnpm run build |
||||
timeout-minutes: 20 |
||||
- name: Copy Artifacts to Local Artifacts Dir |
||||
if: always() |
||||
working-directory: ./ |
||||
run: | |
||||
# expects the variables to be available in runner context. |
||||
path="gh-artifacts/runs/${GITHUB_RUN_ID}/ui-build/" |
||||
target_dir="/mnt/${path}" |
||||
mkdir -p ${target_dir} |
||||
|
||||
# start : add any artifacts to be copied here |
||||
cp -r ./packages/nc-gui/.output ${target_dir}/ || echo "playwright reports directory does not exists" >> ${target_dir}/playwright-report/index.html |
||||
|
||||
SUMMARY='[UI BUILD](http://65.21.27.147/'${path}')' |
||||
echo "$SUMMARY" >> $GITHUB_STEP_SUMMARY |
Loading…
Reference in new issue