base: add npx playwright install --wigh-deps before browser testing. … #1583
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: Browser CI | |
on: | |
push: | |
branches: [main] | |
paths-ignore: | |
- "**/*.md" | |
- "**/*.mdc" | |
pull_request: | |
branches: [main] | |
paths-ignore: | |
- "**/*.md" | |
- "**/*.mdc" | |
permissions: | |
contents: read | |
jobs: | |
pages: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v2 | |
with: | |
deno-version: 2.x | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: Install dependencies | |
run: | | |
npm install -g typescript | |
npm install -g typedoc | |
npm install -g esbuild | |
- name: Run npm-build | |
run: deno task npm-build | |
- name: Run npm install | |
working-directory: ./npm | |
run: npm install | |
- name: Create pages directory | |
working-directory: ./packages/hpke-js | |
run: | | |
mkdir test/runtimes/browsers/pages/core | |
cp -rf ../core/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/core | |
mkdir test/runtimes/browsers/pages/chacha20poly1305 | |
cp -rf ../chacha20poly1305/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/chacha20poly1305 | |
mkdir test/runtimes/browsers/pages/dhkem-x25519 | |
cp -rf ../dhkem-x25519/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/dhkem-x25519 | |
mkdir test/runtimes/browsers/pages/dhkem-x448 | |
cp -rf ../dhkem-x448/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/dhkem-x448 | |
mkdir test/runtimes/browsers/pages/hybridkem-x-wing | |
cp -rf ../hybridkem-x-wing/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/hybridkem-x-wing | |
mkdir test/runtimes/browsers/pages/ml-kem | |
cp -rf ../ml-kem/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/ml-kem | |
mkdir test/runtimes/browsers/pages/dhkem-secp256k1 | |
cp -rf ../dhkem-secp256k1/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/dhkem-secp256k1 | |
- name: Build docs for @hpke/common | |
working-directory: ./packages/common | |
run: | | |
npx typedoc --name "@hpke/common" --out ../hpke-js/test/runtimes/browsers/pages/common/docs mod.ts | |
- name: Build docs for @hpke/core | |
working-directory: ./packages/core | |
run: | | |
npx typedoc --name "@hpke/core $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/core/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/core/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x25519/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x448/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/chacha20poly1305/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/hybridkem-x-wing/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/ml-kem/src/hpke-core.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-secp256k1/src/hpke-core.js | |
- name: Build docs for @hpke/chacha20poly1305 | |
working-directory: ./packages/chacha20poly1305 | |
run: | | |
npx typedoc --name "@hpke/chacha20poly1305 $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/chacha20poly1305/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/chacha20poly1305/src/hpke-chacha20poly1305.js | |
- name: Build docs for @hpke/dhkem-x25519 | |
working-directory: ./packages/dhkem-x25519 | |
run: | | |
npx typedoc --name "@hpke/dhkem-x25519 $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/dhkem-x25519/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x25519/src/hpke-dhkem-x25519.js | |
- name: Build docs for @hpke/dhkem-x448 | |
working-directory: ./packages/dhkem-x448 | |
run: | | |
npx typedoc --name "@hpke/dhkem-x448 $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/dhkem-x448/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x448/src/hpke-dhkem-x448.js | |
- name: Build docs for @hpke/dhkem-secp256k1 | |
working-directory: ./packages/dhkem-secp256k1 | |
run: | | |
npx typedoc --name "@hpke/dhkem-secp256k1 $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/dhkem-secp256k1/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-secp256k1/src/hpke-dhkem-secp256k1.js | |
- name: Build docs for @hpke/hybridkem-x-wing | |
working-directory: ./packages/hybridkem-x-wing | |
run: | | |
npx typedoc --name "@hpke/hybridkem-x-wing" --out ../hpke-js/test/runtimes/browsers/pages/hybridkem-x-wing/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/hybridkem-x-wing/src/hpke-hybridkem-x-wing.js | |
- name: Build docs for @hpke/ml-kem | |
working-directory: ./packages/ml-kem | |
run: | | |
npx typedoc --name "@hpke/ml-kem" --out ../hpke-js/test/runtimes/browsers/pages/ml-kem/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/ml-kem/src/hpke-ml-kem.js | |
- name: Build docs for @hpke/hpke-js | |
working-directory: ./packages/hpke-js | |
run: | | |
npx typedoc --name "@hpke/hpke-js $(git describe --tags --abbrev=0)" --out test/runtimes/browsers/pages/docs mod.ts | |
deno task minify > test/runtimes/browsers/pages/src/hpke.js | |
- uses: peaceiris/actions-gh-pages@v3 | |
with: | |
deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} | |
publish_dir: ./packages/hpke-js/test/runtimes/browsers/pages | |
playwright-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v2 | |
with: | |
deno-version: 2.x | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 22 | |
- name: Prepare test | |
run: | | |
npm install -g esbuild | |
deno task npm | |
- name: Install Playwright browsers | |
run: npx playwright install --with-deps | |
- name: Run test | |
run: deno task test:browsers |