Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .github/actions/deploy-components/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,8 @@ runs:
if: ${{ inputs.install-taskfile-depedency != 'false' }}
uses: go-task/setup-task@v2
with:
version: 3.x
version: 3.42.0
repo-token: ${{ github.token }}

- name: Create kind cluster
shell: bash
Expand Down
3 changes: 2 additions & 1 deletion .github/actions/setup-env/action.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,8 @@ runs:
- name: Install Taskfile
uses: go-task/setup-task@v2
with:
version: 3.x
version: 3.42.0
repo-token: ${{ github.token }}

- name: Setup Python
if: ${{ inputs.python == 'true' }}
Expand Down
2 changes: 1 addition & 1 deletion .github/scripts/build-pages-section.sh
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ case "$SUITE" in
;;

slim-agent-consensus)
# compare:matrix:report produces index.html (intro, architecture, matrix tables, metric defs).
# compare:sweep:matrix:merge produces reports/index.html via tools/report (matrix-stats.tsv input).
# Publish the reports directory verbatim under slim-agent-consensus/.
if [[ -f "$STAGING_DIR/index.html" ]]; then
mkdir -p "$SITE_DIR/slim-agent-consensus"
Expand Down
55 changes: 39 additions & 16 deletions .github/workflows/test-slim-agent-consensus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,30 @@ on:
- ".github/workflows/test-slim-agent-consensus.yaml"
- "integrations/agntcy-slim/agent-consensus-test/**"
workflow_dispatch:
inputs:
repeats:
description: "Independent runs per matrix cell"
required: false
default: "25"
type: string

jobs:
matrix-slice:
matrix-cell:
runs-on: ubuntu-latest
timeout-minutes: 360
timeout-minutes: 1440
strategy:
fail-fast: false
matrix:
latency_ms: [0, 25, 50, 100]
agents: [3, 5, 10, 20, 30]
payload_bytes: [0, 1024, 4096, 10240]

permissions:
contents: read

env:
REPEATS: ${{ github.event_name == 'workflow_dispatch' && inputs.repeats || '1' }}

steps:
- name: Checkout code
uses: actions/checkout@v4
Expand All @@ -37,27 +48,39 @@ jobs:
with:
go: true

- name: Run matrix slice (latency=${{ matrix.latency_ms }} ms)
- name: Install slimctl
shell: bash
run: |
task -d integrations/agntcy-slim/agent-consensus-test deps:slimctl-download COMPARE_SLIMCTL="$PWD/integrations/agntcy-slim/agent-consensus-test/bin/slimctl"

- name: Build binaries
shell: bash
working-directory: integrations/agntcy-slim/agent-consensus-test
run: task build

- name: Run matrix cell (latency=${{ matrix.latency_ms }} agents=${{ matrix.agents }} payload=${{ matrix.payload_bytes }} repeats=${{ env.REPEATS }})
shell: bash
working-directory: integrations/agntcy-slim/agent-consensus-test
run: |
set -o pipefail
task compare:sweep:matrix:slice \
task compare:sweep:matrix:cell \
MATRIX_LATENCY_MS=${{ matrix.latency_ms }} \
MATRIX_TSV=reports/matrix-lat${{ matrix.latency_ms }}.tsv
MATRIX_AGENTS=${{ matrix.agents }} \
MATRIX_PAYLOAD_BYTES=${{ matrix.payload_bytes }} \
CONSENSUS_REPEATS=${{ env.REPEATS }}

- name: Upload latency slice TSV
- name: Upload matrix cell TSV
if: always()
uses: actions/upload-artifact@v4
with:
name: slim-agent-consensus-matrix-lat${{ matrix.latency_ms }}
path: integrations/agntcy-slim/agent-consensus-test/reports/matrix-lat${{ matrix.latency_ms }}.tsv
name: slim-agent-consensus-matrix-lat${{ matrix.latency_ms }}-${{ matrix.agents }}ag-${{ matrix.payload_bytes }}b
path: integrations/agntcy-slim/agent-consensus-test/reports/raw/matrix-lat${{ matrix.latency_ms }}-${{ matrix.agents }}ag*.tsv
retention-days: 30
if-no-files-found: warn

matrix-report:
needs: [matrix-slice]
if: always() && !cancelled() && needs.matrix-slice.result != 'skipped'
needs: [matrix-cell]
if: always() && !cancelled() && needs.matrix-cell.result != 'skipped'
runs-on: ubuntu-latest
timeout-minutes: 15

Expand All @@ -73,14 +96,14 @@ jobs:
with:
go: true

- name: Download matrix slice artifacts
- name: Download matrix cell artifacts
uses: actions/download-artifact@v4
with:
pattern: slim-agent-consensus-matrix-lat*
path: integrations/agntcy-slim/agent-consensus-test/reports
path: integrations/agntcy-slim/agent-consensus-test/reports/raw
merge-multiple: true

- name: Merge slices and build matrix dashboard
- name: Merge slices, aggregate stats, and build matrix dashboard
shell: bash
working-directory: integrations/agntcy-slim/agent-consensus-test
run: task compare:sweep:matrix:merge
Expand All @@ -97,11 +120,11 @@ jobs:
echo "- Ref: ${GITHUB_REF}"
echo "- SHA: ${GITHUB_SHA}"
echo
if [ -f "$REPORT_DIR/matrix.tsv" ]; then
echo "## matrix.tsv (first 20 lines)"
if [ -f "$REPORT_DIR/matrix-stats.tsv" ]; then
echo "## matrix-stats.tsv (first 20 lines)"
echo
echo '```'
head -n 20 "$REPORT_DIR/matrix.tsv"
head -n 20 "$REPORT_DIR/matrix-stats.tsv"
echo '```'
fi
} >> "$GITHUB_STEP_SUMMARY"
Expand Down
Loading
Loading