ml-kem: initial public preview release. #1168
This file contains 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] | |
pull_request: | |
branches: [main] | |
permissions: | |
contents: read | |
jobs: | |
pages: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: 2.x | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: v20.x | |
- name: Install dependencies | |
run: | | |
npm install -g typescript | |
npm install -g typedoc | |
npm install -g esbuild | |
- name: Run dnt | |
run: deno task dnt | |
- 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-x25519-kyber768 | |
cp -rf ../hybridkem-x25519-kyber768/test/runtimes/browsers/pages/* test/runtimes/browsers/pages/hybridkem-x25519-kyber768 | |
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 | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/core/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x25519/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-x448/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/chacha20poly1305/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/hybridkem-x25519-kyber768/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/hybridkem-x-wing/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/ml-kem/src/hpke-common.js | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/dhkem-secp256k1/src/hpke-common.js | |
- 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-x25519-kyber768/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/hybridkem-x25519-kyber768 | |
working-directory: ./packages/hybridkem-x25519-kyber768 | |
run: | | |
npx typedoc --name "@hpke/hybridkem-x25519-kyber768 $(git describe --tags --abbrev=0)" --out ../hpke-js/test/runtimes/browsers/pages/hybridkem-x25519-kyber768/docs mod.ts | |
deno task minify > ../hpke-js/test/runtimes/browsers/pages/hybridkem-x25519-kyber768/src/hpke-hybridkem-x25519-kyber768.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: | |
needs: pages | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-node@v4 | |
- uses: microsoft/playwright-github-action@v1 | |
- working-directory: ./packages/core/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/dhkem-x25519/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/dhkem-x448/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/chacha20poly1305/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/hybridkem-x25519-kyber768/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/hybridkem-x-wing/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/ml-kem/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/dhkem-secp256k1/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test | |
- working-directory: ./packages/hpke-js/test/runtimes/browsers | |
run: npm install && npx playwright install && npx playwright test |