build(deps-dev): bump hono from 4.11.4 to 4.11.7 (#516) #1674
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Run tests | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| - push | |
| - workflow_call | |
| permissions: | |
| contents: read | |
| jobs: | |
| run-tests: | |
| name: Web-Component and Studio-web spec tests, utilities verification, etc. | |
| runs-on: ubuntu-latest | |
| # Stop the occasional rogue instance before the 6h GitHub limit | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| - name: Install everything | |
| run: npm ci | |
| - name: Automated license checking | |
| env: | |
| PROD_LICENSES: "MIT;BSD;0BSD;BSD-2-Clause;BSD-3-Clause;ISC;Apache-2.0" | |
| DEV_LICENSES: "Python-2.0;CC0-1.0;CC-BY-3.0;CC-BY-4.0;Apache 2.0;Unlicense;BlueOak-1.0.0;LGPL-3.0-only" | |
| OK_BUT_NOT_AUTODETECTED: "@nxext/[email protected];[email protected]" | |
| run: | | |
| npx license-checker --summary --production --onlyAllow "$PROD_LICENSES" --excludePackages "$OK_BUT_NOT_AUTODETECTED" | |
| npx license-checker --summary --onlyAllow "$DEV_LICENSES;$PROD_LICENSES" --excludePackages "$OK_BUT_NOT_AUTODETECTED" | |
| - name: Run Cypress tests for web-component | |
| uses: cypress-io/github-action@2ad32e649e4db26c07674ebae31a297601dbcbaf # v6.10.8 | |
| with: | |
| install: false | |
| start: | | |
| npx nx serve web-component | |
| npx nx serve-test-data web-component | |
| wait-on: sleep 15 # there is no reliable URL to wait for... | |
| command: npx nx test:once web-component | |
| - name: Ng spec tests for studio-web | |
| run: | | |
| npx nx build web-component | |
| npx nx test:once studio-web | |
| - name: Check that i18n and l10n are up to date | |
| run: | | |
| npx nx extract-i18n studio-web | |
| if diff -w <(git show HEAD:packages/studio-web/src/i18n/messages.json | sort) <(sort < packages/studio-web/src/i18n/messages.json); then echo OK: The i18n database is up to date.; else echo ERROR: The i18n database is out of date.; npx nx check-l10n studio-web || echo ERROR: The l10n databases are also out of date.; false; fi | |
| if npx nx check-l10n studio-web; then echo OK: The l10n databases are up to date.; else echo ERROR: An l10n database is out of date.; false; fi | |
| - name: make sure the WP plugin zip file is in sync | |
| run: | | |
| cd packages/web-component/wordpress-plugin | |
| unzip -d extract read-along-web-app-loader.zip | |
| if ! diff --exclude=js -qr read-along-web-app-loader extract/read-along-web-app-loader; then \ | |
| echo The zipped WordPress plugin packages/web-component/wordpress-plugin/read-along-web-app-loader.zip is out of date.; \ | |
| false; \ | |
| fi | |
| - name: make sure bundling works | |
| shell: bash | |
| run: | | |
| npx nx bundle web-component | |
| git status | |
| git diff --word-diff=porcelain --word-diff-regex=... --color | perl -ple 's/^(\x1b[^ -+]{0,6})? (.{81,})$/$1 . " " . substr($2, 0, 40) . " [... " . (length($2)-80) . " bytes ...] " . substr($2, -40)/ex' | |
| studio-e2e-tests: | |
| name: Studio Web test-suites | |
| timeout-minutes: 60 | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v6 | |
| with: | |
| persist-credentials: false | |
| - uses: actions/setup-node@v6 | |
| with: | |
| node-version: lts/* | |
| - name: Install and run the back-end API | |
| run: | | |
| git clone https://github.com/ReadAlongs/Studio | |
| cd Studio | |
| pip install -e .[api] | |
| ./run-web-api.sh & | |
| - name: Install everything | |
| run: npm ci | |
| - name: Run studio-web in the background | |
| run: | | |
| npx nx build web-component | |
| npx nx run-many --targets=serve,serve-fr,serve-es --projects=web-component,studio-web --parallel 6 & | |
| - name: Wait for the servers to be up | |
| run: | | |
| # wait for the studio web to be up | |
| sleep 50 | |
| curl --retry 20 --retry-delay 10 --retry-all-errors http://localhost:4200 > /dev/null | |
| # Make sure the back-end API is up too | |
| curl --retry 20 --retry-delay 1 --retry-all-errors http://localhost:8000/api/v1/langs | |
| - name: Run Playwright tests for studio-web | |
| run: | | |
| npx playwright install --with-deps chromium | |
| npx nx e2e studio-web | |
| - name: Upload HTML report | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: playwright-report--attempt-${{ github.run_attempt }} | |
| path: packages/studio-web/playwright-report | |
| retention-days: 5 |