-
Notifications
You must be signed in to change notification settings - Fork 96
fix(ci): set protocol version env in docker build step #4983
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Branch | cesara/ci_fix_protocol_version |
Testbed | Linux |
Click to view all benchmark results
Benchmark | File Size | Benchmark Result kilobytes (KB) (Result Δ%) | Upper Boundary kilobytes (KB) (Limit %) |
---|---|---|---|
zero-package.tgz | 📈 view plot 🚷 view threshold | 1,366.23 KB(0.00%)Baseline: 1,366.23 KB | 1,393.55 KB (98.04%) |
zero.js | 📈 view plot 🚷 view threshold | 225.45 KB(0.00%)Baseline: 225.45 KB | 229.96 KB (98.04%) |
zero.js.br | 📈 view plot 🚷 view threshold | 62.98 KB(0.00%)Baseline: 62.98 KB | 64.23 KB (98.04%) |
|
Branch | cesara/ci_fix_protocol_version |
Testbed | self-hosted |
🚨 3 Alerts
Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Lower Boundary (Limit %) |
---|---|---|---|---|
src/client/custom.bench.ts > big schema | Throughput operations / second (ops/s) x 1e3 | 📈 plot 🚷 threshold 🚨 alert (🔔) | 743.20 ops/s x 1e3(-12.84%)Baseline: 852.71 ops/s x 1e3 | 769.35 ops/s x 1e3 (103.52%) |
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers) | Throughput operations / second (ops/s) x 1e3 | 📈 plot 🚷 threshold 🚨 alert (🔔) | 2.61 ops/s x 1e3(-7.56%)Baseline: 2.83 ops/s x 1e3 | 2.66 ops/s x 1e3 (101.80%) |
src/client/zero.bench.ts > pk compare > pk = N | Throughput operations / second (ops/s) x 1e3 | 📈 plot 🚷 threshold 🚨 alert (🔔) | 42.04 ops/s x 1e3(-4.47%)Baseline: 44.01 ops/s x 1e3 | 42.09 ops/s x 1e3 (100.12%) |
Click to view all benchmark results
Benchmark | Throughput | Benchmark Result operations / second (ops/s) x 1e3 (Result Δ%) | Lower Boundary operations / second (ops/s) x 1e3 (Limit %) |
---|---|---|---|
src/client/custom.bench.ts > big schema | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 743.20 ops/s x 1e3(-12.84%)Baseline: 852.71 ops/s x 1e3 | 769.35 ops/s x 1e3 (103.52%) |
src/client/zero.bench.ts > basics > All 1000 rows x 10 columns (numbers) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 2.61 ops/s x 1e3(-7.56%)Baseline: 2.83 ops/s x 1e3 | 2.66 ops/s x 1e3 (101.80%) |
src/client/zero.bench.ts > pk compare > pk = N | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 42.04 ops/s x 1e3(-4.47%)Baseline: 44.01 ops/s x 1e3 | 42.09 ops/s x 1e3 (100.12%) |
src/client/zero.bench.ts > with filter > Lower rows 500 x 10 columns (numbers) | 📈 view plot 🚷 view threshold | 4.20 ops/s x 1e3(-0.46%)Baseline: 4.22 ops/s x 1e3 | 4.07 ops/s x 1e3 (97.02%) |
|
Branch | cesara/ci_fix_protocol_version |
Testbed | self-hosted |
🚨 2 Alerts
Benchmark | Measure Units | View | Benchmark Result (Result Δ%) | Lower Boundary (Limit %) |
---|---|---|---|---|
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > large array (100 items) | Throughput operations / second (ops/s) x 1e6 | 📈 plot 🚷 threshold 🚨 alert (🔔) | 1.67 ops/s x 1e6(-2.67%)Baseline: 1.72 ops/s x 1e6 | 1.67 ops/s x 1e6 (100.01%) |
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > string (100 chars) | Throughput operations / second (ops/s) x 1e6 | 📈 plot 🚷 threshold 🚨 alert (🔔) | 1.08 ops/s x 1e6(-5.46%)Baseline: 1.14 ops/s x 1e6 | 1.09 ops/s x 1e6 (101.27%) |
Click to view all benchmark results
Benchmark | Throughput | Benchmark Result operations / second (ops/s) x 1e3 (Result Δ%) | Lower Boundary operations / second (ops/s) x 1e3 (Limit %) |
---|---|---|---|
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > large array (100 items) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 1,670.37 ops/s x 1e3(-2.67%)Baseline: 1,716.15 ops/s x 1e3 | 1,670.49 ops/s x 1e3 (100.01%) |
src/size-of-value.bench.ts > getSizeOfValue performance > arrays > small array (10 items) | 📈 view plot 🚷 view threshold | 5,657.66 ops/s x 1e3(+1.86%)Baseline: 5,554.47 ops/s x 1e3 | 5,420.39 ops/s x 1e3 (95.81%) |
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > large dataset (100x512B) | 📈 view plot 🚷 view threshold | 85.13 ops/s x 1e3(+7.07%)Baseline: 79.51 ops/s x 1e3 | 64.40 ops/s x 1e3 (75.65%) |
src/size-of-value.bench.ts > getSizeOfValue performance > datasets > small dataset (10x256B) | 📈 view plot 🚷 view threshold | 763.78 ops/s x 1e3(+8.42%)Baseline: 704.49 ops/s x 1e3 | 580.81 ops/s x 1e3 (76.04%) |
src/size-of-value.bench.ts > getSizeOfValue performance > objects > nested object | 📈 view plot 🚷 view threshold | 3,412.95 ops/s x 1e3(+4.29%)Baseline: 3,272.61 ops/s x 1e3 | 2,970.38 ops/s x 1e3 (87.03%) |
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (1KB) | 📈 view plot 🚷 view threshold | 4,140.99 ops/s x 1e3(+6.07%)Baseline: 3,904.14 ops/s x 1e3 | 3,442.63 ops/s x 1e3 (83.14%) |
src/size-of-value.bench.ts > getSizeOfValue performance > objects > structured object (256B) | 📈 view plot 🚷 view threshold | 4,110.32 ops/s x 1e3(+7.40%)Baseline: 3,826.93 ops/s x 1e3 | 3,266.96 ops/s x 1e3 (79.48%) |
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > boolean | 📈 view plot 🚷 view threshold | 7,423.08 ops/s x 1e3(-2.97%)Baseline: 7,650.55 ops/s x 1e3 | 7,351.90 ops/s x 1e3 (99.04%) |
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > integer | 📈 view plot 🚷 view threshold | 7,266.66 ops/s x 1e3(-5.20%)Baseline: 7,664.94 ops/s x 1e3 | 7,264.32 ops/s x 1e3 (99.97%) |
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > null | 📈 view plot 🚷 view threshold | 7,790.15 ops/s x 1e3(+0.20%)Baseline: 7,774.52 ops/s x 1e3 | 7,602.50 ops/s x 1e3 (97.59%) |
src/size-of-value.bench.ts > getSizeOfValue performance > primitives > string (100 chars) | 📈 view plot 🚷 view threshold 🚨 view alert (🔔) | 1,076.84 ops/s x 1e3(-5.46%)Baseline: 1,139.01 ops/s x 1e3 | 1,090.55 ops/s x 1e3 (101.27%) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the quick fix, @cesara.
I think the best long-term solution would be to encapsulate this logic (and the docker build calls) in a script that both create-canary.js and these GitHub actions use. Is that doable?
Thanks. What is this magic. sed to extract js in a yaml file! |
Haha ... I've suggested using the protocol version logic in But thank you for the quick action @cesara ! |
You an also run js in github actions. And then package it as a composite action for reuse: name: Zero Protocol Versions
description: Export protocol versions from TS source
outputs:
sync_version:
description: MIN_SERVER_SUPPORTED_SYNC_PROTOCOL
value: ${{ steps.proto.outputs.sync_version }}
protocol_version:
description: PROTOCOL_VERSION
value: ${{ steps.proto.outputs.protocol_version }}
runs:
using: "composite"
steps:
- uses: actions/setup-node@v4
with:
node-version: '24.x' # ensure TS support without warnings
- id: proto
shell: bash
run: |
node --input-type=module <<'JS'
import {appendFileSync} from 'node:fs';
import {
MIN_SERVER_SUPPORTED_SYNC_PROTOCOL,
PROTOCOL_VERSION
} from './packages/zero-protocol/src/protocol-version.ts';
const out = process.env.GITHUB_OUTPUT;
appendFileSync(out, `sync_version=${MIN_SERVER_SUPPORTED_SYNC_PROTOCOL}\n`);
appendFileSync(out, `protocol_version=${PROTOCOL_VERSION}\n`);
JS Example usage: - id: demo
uses: ./.github/actions/zero-protocol-versions
- run: |
echo "SYNC=${{ steps.demo.outputs.sync_version }}"
echo "PROTO=${{ steps.demo.outputs.protocol_version }}" |
No description provided.