Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
29 commits
Select commit Hold shift + click to select a range
c46c301
fix: s3 port type mismatch, add string_or_number_to_string deserializer
Mar 16, 2026
ee7016d
Merge branch 'main' into dev
Mar 16, 2026
bb45c19
Merge branch 'main' into dev
RambokDev Mar 18, 2026
38a3274
Merge branch 'main' into dev
RambokDev Mar 21, 2026
2c5c805
Merge branch 'main' into dev
RambokDev Mar 21, 2026
475b937
fix: adding some tests
RambokDev Mar 22, 2026
a613805
fix: adding some tests
RambokDev Mar 22, 2026
808e42a
fix: working on pipeline
RambokDev Mar 22, 2026
3528f77
fix: working on pipeline
RambokDev Mar 22, 2026
3137c50
fix: working on pipeline
RambokDev Mar 22, 2026
a3cd16e
fix: working on pipeline
RambokDev Mar 22, 2026
d8bfbe7
fix: working on pipeline
RambokDev Mar 22, 2026
c3ec58c
fix: working on pipeline
RambokDev Mar 22, 2026
8a1de25
fix: working on pipeline
RambokDev Mar 22, 2026
5519e1e
fix: working on pipeline
RambokDev Mar 22, 2026
a9afc38
fix: working on pipeline
RambokDev Mar 22, 2026
0f1ef18
fix: working on pipeline
RambokDev Mar 22, 2026
6f1b33b
fix: working on pipeline
RambokDev Mar 22, 2026
dddb290
fix: working on pipeline
RambokDev Mar 22, 2026
1f1c4f8
fix: working on pipeline
RambokDev Mar 22, 2026
c61dd67
fix: working on pipeline
RambokDev Mar 22, 2026
06dd5e1
fix: working on pipeline
RambokDev Mar 22, 2026
db084b7
fix: working on pipeline
RambokDev Mar 22, 2026
65b84a4
fix: working on pipeline
RambokDev Mar 22, 2026
2e89d36
fix: working on pipeline
RambokDev Mar 22, 2026
ea0705a
fix: working on pipeline
RambokDev Mar 22, 2026
4aba2f2
fix: working on pipeline
RambokDev Mar 22, 2026
335c5b7
fix: working on pipeline
RambokDev Mar 22, 2026
6331d72
fix: working on pipeline
RambokDev Mar 27, 2026
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
174 changes: 144 additions & 30 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,86 @@
#name: Codecov Rust
#
#on:
# push:
# branches: ["main"]
# pull_request:
# branches: ["main"]
#
#env:
# CARGO_TERM_COLOR: always
#
#jobs:
# coverage:
# runs-on: ubuntu-latest
# steps:
# - uses: actions/checkout@v4
#
# - name: Install Rust toolchain
# uses: dtolnay/rust-toolchain@stable
# with:
# components: llvm-tools-preview
#
# - name: Build test image (with grcov included)
# run: docker compose -f docker-compose.test.yml build agent-test
#
# - name: Run tests in container
# env:
# CARGO_TARGET_DIR: /app/target
# CARGO_INCREMENTAL: 0
# RUSTFLAGS: "-C instrument-coverage -C link-dead-code"
# LLVM_PROFILE_FILE: "/app/coverage/cargo-test-%p-%m.profraw"
# run: |
# docker compose -f docker-compose.test.yml run \
# -e CARGO_TARGET_DIR \
# -e CARGO_INCREMENTAL \
# -e RUSTFLAGS \
# -e LLVM_PROFILE_FILE \
# agent-test bash -c "cargo clean && cargo test --verbose && sync"
#
# - name: Verify profraw files exist
# run: |
# docker compose -f docker-compose.test.yml run agent-test \
# find /app/coverage -type f -name "*.profraw" | wc -l || true
#
# - name: Generate coverage report inside container
# run: |
# docker compose -f docker-compose.test.yml run agent-test bash -c "
# rustup component add llvm-tools &&
# grcov /app/coverage \
# --binary-path /app/target/debug \
# -s /app \
# --llvm \
# -t lcov \
# --branch \
# --ignore-not-existing \
# --ignore '/app/target/*' \
# --ignore '/*' \
# -o /app/lcov.info
# "
#
# - name: Copy lcov.info from container to host
# run: |
# docker compose -f docker-compose.test.yml cp agent-test:/app/lcov.info ./lcov.info
#
# - name: Remove container
# run: |
# docker rm agent-test-run
#
# - name: Show basic coverage report info (debug)
# run: |
# echo "lcov.info size:" $(wc -c ./lcov.info | awk '{print $1}')
# head -n 30 ./lcov.info || true
#
# - name: Upload coverage to Codecov
# uses: codecov/codecov-action@v5
# with:
# files: ./lcov.info
# flags: unittests
# name: rust-unit-coverage
# verbose: true
# fail_ci_if_error: true
# env:
# CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
name: Codecov Rust

on:
Expand All @@ -8,51 +91,82 @@ on:

env:
CARGO_TERM_COLOR: always
CARGO_TARGET_DIR: /app/target
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-C instrument-coverage -C link-dead-code"
LLVM_PROFILE_FILE: "/app/coverage/cargo-test-%p-%m.profraw"

jobs:
build:
coverage:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- uses: actions/checkout@v4

- uses: actions-rs/toolchain@v1
- name: Install Rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
override: true
components: llvm-tools-preview

- name: Install grcov
run: cargo install grcov
- name: Build test image (with grcov included)
run: docker compose -f docker-compose.test.yml build agent-test

- name: Install test requirements
run: bash scripts/tests/requirements.sh
- name: Start agent-test container
run: docker compose -f docker-compose.test.yml up -d agent-test

- name: Build
run: cargo build --verbose
- name: Run tests inside container
run: |
docker compose -f docker-compose.test.yml exec \
-e CARGO_TARGET_DIR \
-e CARGO_INCREMENTAL \
-e RUSTFLAGS \
-e LLVM_PROFILE_FILE \
agent-test bash -c "
cargo clean &&
cargo test --verbose &&
sync
"

- name: Run tests
env:
CARGO_INCREMENTAL: 0
RUSTFLAGS: "-C instrument-coverage"
LLVM_PROFILE_FILE: "cargo-test-%p-%m.profraw"
run: cargo test --verbose
- name: Verify profraw files exist
run: |
docker compose -f docker-compose.test.yml exec \
-e LLVM_PROFILE_FILE \
agent-test find /app/coverage -type f -name "*.profraw" | wc -l || true

- name: Generate coverage
- name: Generate coverage report inside container
run: |
grcov . \
--binary-path ./target/debug/ \
-s . \
-t lcov \
--branch \
--ignore-not-existing \
-o lcov.info

- name: Upload to Codecov
docker compose -f docker-compose.test.yml exec \
agent-test bash -c "
rustup component add llvm-tools &&
grcov /app/coverage \
--binary-path /app/target/debug \
-s /app \
--llvm \
-t lcov \
--branch \
--ignore-not-existing \
--ignore '/app/target/*' \
--ignore '/*' \
-o /app/lcov.info
"

- name: Copy lcov.info from container to host
run: docker compose -f docker-compose.test.yml cp agent-test:/app/lcov.info ./lcov.info

- name: Show basic coverage report info (debug)
run: |
echo "lcov.info size:" $(wc -c ./lcov.info | awk '{print $1}')
head -n 30 ./lcov.info || true

- name: Upload coverage to Codecov
uses: codecov/codecov-action@v5
with:
files: lcov.info
files: ./lcov.info
flags: unittests
name: rust-unit-coverage
verbose: true
fail_ci_if_error: true
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

- name: Stop and remove container
run: docker compose -f docker-compose.test.yml down
4 changes: 2 additions & 2 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -49,15 +49,15 @@ tokio-stream = "0.1.18"
aes = "0.9.0-rc.4"
typenum = "1.19.0"
testcontainers = "0.27.1"
testcontainers-modules = { version = "0.15.0", features = ["postgres", "redis", "valkey"] }
testcontainers-modules = { version = "0.15.0", features = ["postgres", "redis", "valkey", "mysql", "mariadb", "mongo"] }
postgres = "0.19.12"
url = "2.5.8"

[dev-dependencies]
tokio = { version = "1", features = ["full"] }
mockall = "0.13"
testcontainers = "0.27.1"
testcontainers-modules = { version = "0.15.0", features = ["postgres", "redis"] }
testcontainers-modules = { version = "0.15.0", features = ["postgres", "redis", "mysql", "mariadb", "mongo"] }
wiremock = "0.6"

[profile.release]
Expand Down
Loading
Loading