-
Notifications
You must be signed in to change notification settings - Fork 0
74 lines (70 loc) · 2.63 KB
/
Copy pathtest-vectors.yml
File metadata and controls
74 lines (70 loc) · 2.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
name: klickd Cross-Impl Test Vectors
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
python:
name: Python — v2.5 + v3.0 + v4.0-preview (cross-impl vectors + adversarial)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install cryptography argon2-cffi
- name: Run all suites (v2.5 + v3.0 + adversarial + v4.0-preview)
run: python3 verify_vectors.py
- name: Run klickd Python package tests (incl. v4 preview round-trip + v4 GA strict validation)
working-directory: packages/pypi/klickd
run: |
pip install -e ".[validate]"
pip install pytest
python -m pytest tests/ -q
- name: Run dev-preview quickstart tests (examples/dev-preview)
run: |
pip install -e .
python -m pytest tests/test_dev_preview.py -q
javascript:
name: JavaScript — v2.5 + v3.0 + v4.0-preview via hash-wasm Argon2id
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies (hash-wasm + canonicalize)
run: npm install
- name: Run all suites (v2.5 + v3.0 + v4.0-preview via hash-wasm)
run: node verify_vectors.mjs
core-package:
name: "@klickd/core — package integrity check"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install @klickd/core dependencies
working-directory: packages/@klickd/core
run: npm install
- name: Verify package.json integrity
working-directory: packages/@klickd/core
run: |
node -e "
const pkg = require('./package.json');
const required = ['hash-wasm', 'canonicalize'];
const missing = required.filter(d => !pkg.dependencies[d]);
if (missing.length) { console.error('Missing deps:', missing); process.exit(1); }
console.log('All required dependencies present:', Object.keys(pkg.dependencies));
console.log('Package version:', pkg.version);
console.log('Wire format: klickd_version 3.0 (see SPEC_v30.md §23.0)');
"
- name: Verify source files present
working-directory: packages/@klickd/core
run: |
for f in src/decode.ts src/encode.ts src/types.ts src/errors.ts; do
[ -f "$f" ] && echo "OK: $f" || { echo "MISSING: $f"; exit 1; }
done