Skip to content

fix(server): reject future-dated source_updated_at on /s2s/*/upsert (… #71

fix(server): reject future-dated source_updated_at on /s2s/*/upsert (…

fix(server): reject future-dated source_updated_at on /s2s/*/upsert (… #71

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
fmt:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- run: cargo fmt --all -- --check
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
components: clippy
- uses: Swatinem/rust-cache@v2
- run: cargo clippy --workspace --all-targets -- -D warnings
test:
runs-on: ubuntu-latest
services:
postgres:
image: pgvector/pgvector:pg16
env:
POSTGRES_PASSWORD: postgres
POSTGRES_DB: eros_engine_test
ports: ['5432:5432']
options: >-
--health-cmd pg_isready
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
DATABASE_URL: postgres://postgres:postgres@localhost:5432/eros_engine_test
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install sqlx-cli
run: cargo install sqlx-cli --no-default-features --features postgres
- name: Run migrations
run: sqlx migrate run --source crates/eros-engine-store/migrations
- run: cargo test --workspace --all-features
openapi-snapshot:
name: openapi-snapshot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Regenerate OpenAPI spec
run: |
cargo run -p eros-engine-server --quiet -- print-openapi \
> /tmp/openapi.fresh.json
- name: Diff against committed snapshot
run: |
if ! diff -u crates/eros-engine-server/openapi.json /tmp/openapi.fresh.json; then
echo "::error::OpenAPI snapshot drift detected — a handler or schema changed without updating crates/eros-engine-server/openapi.json"
echo "::error::Regenerate locally: cargo run -p eros-engine-server -- print-openapi > crates/eros-engine-server/openapi.json"
exit 1
fi
cla:
runs-on: ubuntu-latest
if: github.event_name == 'pull_request'
steps:
- uses: contributor-assistant/github-action@v2.4.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN: ${{ secrets.CLA_BOT_TOKEN }}
with:
path-to-signatures: 'cla-signatures.json'
path-to-document: 'https://github.com/etherfunlab/eros-engine/blob/main/CLA.md'
branch: 'main'
allowlist: dependabot[bot],enriquephl