Skip to content

{"schema":"cmsg/1","type":"chore","scope":"sql-format","summary":"rep… #29

{"schema":"cmsg/1","type":"chore","scope":"sql-format","summary":"rep…

{"schema":"cmsg/1","type":"chore","scope":"sql-format","summary":"rep… #29

Workflow file for this run

name: E2E Harness (Context Misranking)
permissions:
contents: read
on:
push:
branches:
- main
paths-ignore:
- "**/*.md"
- ".gitignore"
- "docs/**"
pull_request:
branches:
- main
paths-ignore:
- "**/*.md"
- ".gitignore"
- "docs/**"
merge_group:
paths-ignore:
- "**/*.md"
- ".gitignore"
- "docs/**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
e2e:
name: Run E2E harness
runs-on: ubuntu-latest
timeout-minutes: 30
env:
ELF_PG_DSN: postgres://postgres:postgres@127.0.0.1:5432/postgres
ELF_QDRANT_HTTP_URL: http://127.0.0.1:6333
ELF_QDRANT_GRPC_URL: http://127.0.0.1:6334
ELF_QDRANT_URL: http://127.0.0.1:6334
ELF_HARNESS_RUN_ID: gha-${{ github.run_id }}
ELF_HARNESS_VECTOR_DIM: 256
RUST_BACKTRACE: full
services:
postgres:
image: pgvector/pgvector:pg18
env:
POSTGRES_PASSWORD: postgres
POSTGRES_USER: postgres
POSTGRES_DB: postgres
ports:
- 5432:5432
options: >-
--health-cmd "pg_isready -U postgres -d postgres"
--health-interval 10s
--health-timeout 5s
--health-retries 10
qdrant:
image: qdrant/qdrant:v1.16.3
ports:
- 6333:6333
- 6334:6334
steps:
- name: Fetch latest code
uses: actions/checkout@v6
- name: Set up Rust toolchain
uses: actions-rust-lang/setup-rust-toolchain@v1
with:
cache: true
rustflags: ""
- name: Install OS tools (psql, jq)
run: |
sudo apt-get update
sudo apt-get install -y --no-install-recommends postgresql-client jq
- name: Install taplo
uses: taiki-e/install-action@v2
with:
tool: taplo
- name: Install cargo-make
uses: taiki-e/install-action@v2
with:
tool: cargo-make
- name: Wait for Postgres
run: |
for i in {1..60}; do
pg_isready -h 127.0.0.1 -p 5432 -U postgres -d postgres >/dev/null && exit 0
sleep 1
done
echo "Postgres did not become ready in time."
exit 1
- name: Wait for Qdrant
run: |
for i in {1..60}; do
curl -sSf http://127.0.0.1:6333/collections >/dev/null && exit 0
sleep 1
done
echo "Qdrant did not become ready in time."
exit 1
- name: Run context misranking harness
run: |
mkdir -p tmp
cargo make e2e
- name: Upload harness outputs
if: always()
uses: actions/upload-artifact@v4
with:
name: e2e-context-misranking-${{ github.run_id }}
if-no-files-found: warn
retention-days: 14
path: |
tmp/elf.harness.out.base.json
tmp/elf.harness.out.context.json
- name: Upload harness logs (on failure)
if: failure()
uses: actions/upload-artifact@v4
with:
name: e2e-context-misranking-${{ github.run_id }}-logs
if-no-files-found: warn
retention-days: 7
path: |
tmp/elf.harness.worker.log
tmp/elf.harness.api.log
tmp/elf.harness.base.toml
tmp/elf.harness.context.toml
tmp/elf.harness.dataset.json