mirror of
https://github.com/vrtmrz/obsidian-livesync.git
synced 2026-07-08 22:03:19 +00:00
85 lines
2.6 KiB
YAML
85 lines
2.6 KiB
YAML
# Run the Compose-packaged CLI P2P smoke benchmark.
|
|
#
|
|
# This workflow is intentionally non-required at first. It exercises the local
|
|
# Compose package for CouchDB + Nostr relay + CLI runner, and uploads the
|
|
# benchmark JSON results for inspection.
|
|
name: cli-p2p-compose-smoke
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- '.github/workflows/cli-p2p-compose-smoke.yml'
|
|
- 'package.json'
|
|
- 'package-lock.json'
|
|
- 'src/apps/cli/**'
|
|
- 'test/bench-network/**'
|
|
workflow_dispatch:
|
|
inputs:
|
|
cases:
|
|
description: 'Comma-separated benchmark cases'
|
|
required: false
|
|
default: 'couchdb-baseline,p2p-direct-local'
|
|
md_files:
|
|
description: 'Markdown file count'
|
|
required: false
|
|
default: '2'
|
|
bin_files:
|
|
description: 'Binary file count'
|
|
required: false
|
|
default: '1'
|
|
couchdb_rtt_ms:
|
|
description: 'Requested CouchDB RTT in milliseconds'
|
|
required: false
|
|
default: '20'
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
smoke:
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 45
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
with:
|
|
submodules: recursive
|
|
|
|
- name: Show Docker versions
|
|
run: |
|
|
docker --version
|
|
docker compose version
|
|
|
|
- name: Run Compose P2P smoke benchmark
|
|
env:
|
|
BENCH_CASES: ${{ inputs.cases || 'couchdb-baseline,p2p-direct-local' }}
|
|
BENCH_MD_FILE_COUNT: ${{ inputs.md_files || '2' }}
|
|
BENCH_MD_MIN_SIZE_BYTES: '128'
|
|
BENCH_MD_MAX_SIZE_BYTES: '256'
|
|
BENCH_BIN_FILE_COUNT: ${{ inputs.bin_files || '1' }}
|
|
BENCH_BIN_SIZE_BYTES: '512'
|
|
BENCH_COUCHDB_RTT_MS: ${{ inputs.couchdb_rtt_ms || '20' }}
|
|
BENCH_SYNC_TIMEOUT: '180'
|
|
BENCH_PEERS_TIMEOUT: '20'
|
|
LIVESYNC_P2P_RELAY_READY_TIMEOUT_MS: '60000'
|
|
BENCH_LIVESYNC_TEST_TEE: '0'
|
|
run: docker compose -f test/bench-network/compose.yml run --rm bench-runner
|
|
|
|
- name: Show Compose diagnostics
|
|
if: failure()
|
|
run: |
|
|
docker compose -f test/bench-network/compose.yml ps
|
|
docker compose -f test/bench-network/compose.yml logs --no-color couchdb nostr-relay
|
|
|
|
- name: Upload benchmark results
|
|
if: always()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: cli-p2p-compose-smoke-results
|
|
path: test/bench-network/bench-results/**
|
|
if-no-files-found: warn
|
|
|
|
- name: Stop Compose services
|
|
if: always()
|
|
run: docker compose -f test/bench-network/compose.yml down -v --remove-orphans
|