Skip to content

docs: document the new ui5 tooling task #496

docs: document the new ui5 tooling task

docs: document the new ui5 tooling task #496

Workflow file for this run

name: opa5 tests
on:
pull_request:
branches:
- main
jobs:
test-opa5:
runs-on: ubuntu-latest
if: "github.event.pull_request.title != 'chore: release main'"
strategy:
fail-fast: false
matrix:
scenario: ["ordersv4fe"]
ui5version: [108, 96, 84, 71]
exclude:
- scenario: ordersv4fe
ui5version: 71
steps:
# - name: update chrome
# run: |
# wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
# sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'
# sudo apt-get update
# sudo apt-get --only-upgrade install google-chrome-stable
# # check chrome version
# google-chrome --version
- name: install gnome-keyring
run: sudo apt install gnome-keyring
- name: checkout Spreadsheet Upload Repo
uses: actions/checkout@v4
with:
ref: ${{ github.head_ref }}
- run: corepack enable pnpm
- name: use node 20
uses: actions/setup-node@v4
with:
node-version: 20
cache: "pnpm"
- name: get port
run: |
TESTAPPPORT=$(node ./dev/get-port.js ${{ matrix.scenario }} ${{ matrix.ui5version }})
echo "TESTAPPPORT=$TESTAPPPORT" >> $GITHUB_ENV
- name: pnpm install
run: |
npm pkg delete scripts.prepare
pnpm install --no-frozen-lockfile
- name: copy test apps
run: npm run copyTestApps
- name: install @sap/cds-dk
run: |
npm i -g @sap/cds-dk
- name: install ui5-test-runner
run: |
npm i -g ui5-test-runner
- name: pnpm install
run: |
npm pkg delete scripts.prepare
pnpm install --no-frozen-lockfile
- name: Run Build
run: npm run build
- name: Remove cds-plugin-ui5
run: |
cd examples/packages/server
node -e "const pkg = require('./package.json'); \
delete pkg.cds['cds-plugin-ui5']; \
require('fs').writeFileSync('package.json', JSON.stringify(pkg, null, 2));"
# run app
- name: start cap server
run: |
npm run start:server&
- name: start app ${{ matrix.scenario }} ui5 ${{ matrix.ui5version }}
run: |
pnpm --filter ${{ matrix.scenario }}${{ matrix.ui5version }} start:silent&
# run opa5 tests
- name: test opa5 ${{ matrix.scenario }} ui5 ${{ matrix.ui5version }}
id: opa5test # An ID for the step to refer to its outputs later
continue-on-error: true # The job will not stop if this step fails
run: |
while ! nc -z localhost 4004; do sleep 0.1; done
while ! nc -z localhost ${{ env.TESTAPPPORT }}; do sleep 0.1; done
ui5-test-runner --url http://localhost:${{ env.TESTAPPPORT }}/test/integration/opaTests.qunit.html --screenshot false
- name: upload artifact of report folder
uses: actions/upload-artifact@v3
with:
name: ui5testrunner-report-${{ matrix.scenario }}-${{ matrix.ui5version }}
path: ./report
# Fail the job if the 'test opa5' step failed
- name: Check test status
if: steps.opa5test.outcome != 'success'
run: exit 1