fetch_ml/scripts
Jeremie Fraeys 6e0e7d9d2e
Some checks failed
Checkout test / test (push) Successful in 5s
CI/CD Pipeline / Test (push) Failing after 1s
CI/CD Pipeline / Dev Compose Smoke Test (push) Has been skipped
CI/CD Pipeline / Build (push) Has been skipped
CI/CD Pipeline / Test Scripts (push) Has been skipped
CI/CD Pipeline / Test Native Libraries (push) Has been skipped
CI/CD Pipeline / GPU Golden Test Matrix (push) Has been skipped
Documentation / build-and-publish (push) Failing after 38s
CI/CD Pipeline / Docker Build (push) Has been skipped
Build CLI with Embedded SQLite / build (arm64, aarch64-linux) (push) Has been cancelled
Build CLI with Embedded SQLite / build (x86_64, x86_64-linux) (push) Has been cancelled
Build CLI with Embedded SQLite / build-macos (arm64) (push) Has been cancelled
Build CLI with Embedded SQLite / build-macos (x86_64) (push) Has been cancelled
Security Scan / Security Analysis (push) Has been cancelled
Security Scan / Native Library Security (push) Has been cancelled
Verification & Maintenance / V.1 - Schema Drift Detection (push) Has been cancelled
Verification & Maintenance / V.4 - Custom Go Vet Analyzers (push) Has been cancelled
Verification & Maintenance / V.7 - Audit Chain Integrity (push) Has been cancelled
Verification & Maintenance / V.6 - Extended Security Scanning (push) Has been cancelled
Verification & Maintenance / V.10 - OpenSSF Scorecard (push) Has been cancelled
Verification & Maintenance / Verification Summary (push) Has been cancelled
fix(smoke-test): copy promtail config file instead of directory
Copy just promtail-config.yml to temp root instead of entire monitoring/
directory. This fixes the mount error where promtail couldn't find its
config at the expected path.
2026-02-24 11:57:35 -05:00
..
benchmarks ci: update test and benchmark scripts 2026-02-23 18:04:01 -05:00
ci ci: update test and benchmark scripts 2026-02-23 18:04:01 -05:00
dev fix(smoke-test): copy promtail config file instead of directory 2026-02-24 11:57:35 -05:00
lib chore(build): update build system, scripts, and additional tests 2026-02-12 12:05:55 -05:00
maintenance chore(build): update build system, scripts, and additional tests 2026-02-12 12:05:55 -05:00
release chore(scripts): Update CI, dev, release, and testing scripts 2026-02-23 14:13:55 -05:00
testing fix(docker): Use named volume for Redis to fix permission errors 2026-02-23 14:20:23 -05:00
README.md chore: move detect_native.go and setup_monitoring.py to dev/ 2026-02-18 17:57:57 -05:00

Scripts Directory

Organized utility scripts for FetchML development, testing, and release management.

Development Scripts (dev/)

smoke-test.sh

Purpose: End-to-end smoke testing for dev/prod environments
Usage: ./scripts/dev/smoke-test.sh [dev|prod] [--native]

Tests full stack health by starting docker-compose services and verifying:

  • API health endpoints
  • Prometheus metrics ingestion (dev mode)
  • Native library integration (with --native flag)

Examples:

./scripts/dev/smoke-test.sh dev          # Standard smoke test
./scripts/dev/smoke-test.sh prod --native # Prod with native libs

manage-artifacts.sh

Purpose: Local benchmark artifact management
Usage: ./scripts/dev/manage-artifacts.sh [list|clean|compare|export]

Manages benchmark run artifacts in .local-artifacts/.

detect-native.go

Purpose: Native library detection utility
Usage: go run ./scripts/dev/detect-native.go

Detects native C++ libraries and CGO configuration. Shows which native libs are available.

setup-monitoring.py

Purpose: Development monitoring setup
Usage: python3 ./scripts/dev/setup-monitoring.py

Creates Grafana provisioning structure for local development.


CI Scripts (ci/)

checks.sh

Purpose: Maintainability enforcement
Usage: ./scripts/ci/checks.sh or make ci-checks

test.sh

Purpose: CI test runner
Usage: ./scripts/ci/test.sh

verify-paths.sh

Purpose: Path convention verification
Usage: ./scripts/ci/verify-paths.sh


Release Scripts (release/)

cleanup.sh

Purpose: Unified cleanup utility
Usage: ./scripts/release/cleanup.sh [all|docker|podman|logs|secrets|state|testdata]

prepare.sh

Purpose: Release preparation
Usage: ./scripts/release/prepare.sh

sanitize.sh

Purpose: Config sanitization
Usage: ./scripts/release/sanitize.sh

verify.sh

Purpose: Pre-release verification
Usage: ./scripts/release/verify.sh or make release-check


Testing Scripts (testing/)

gen-ssh-test-keys.sh

Purpose: Generate SSH keys for TUI testing
Usage: ./scripts/testing/gen-ssh-test-keys.sh

tui-ssh-test.sh

Purpose: Manual TUI SSH testing
Usage: ./scripts/testing/tui-ssh-test.sh

test-prod.sh

Purpose: Production validation
Usage: ./scripts/testing/test-prod.sh


Benchmark Scripts (benchmarks/)

run-benchmarks-local.sh

Purpose: Local benchmark execution
Usage: ./scripts/benchmarks/run-benchmarks-local.sh


Maintenance Scripts (maintenance/)

cleanup.sh

Purpose: Archive cleanup
Usage: ./scripts/maintenance/cleanup.sh [all|dry-run]

cleanup-benchmarks.sh

Purpose: Benchmark lifecycle management
Usage: ./scripts/maintenance/cleanup-benchmarks.sh [benchmarks|all|aggressive|status]


Shared Library (lib/)

common.sh

Purpose: Common shell functions
Usage: source "$(dirname "$0")/lib/common.sh"


Legacy Consolidation

Old Script New Location
ci-checks.sh ci/checks.sh
ci-test.sh ci/test.sh
smoke-test.sh dev/smoke-test.sh
smoke-test-native.sh merged into dev/smoke-test.sh --native
manage-artifacts.sh dev/manage-artifacts.sh
verify-paths.sh ci/verify-paths.sh
release/verify-release.sh release/verify.sh
release/prepare-release.sh release/prepare.sh
release/sanitize-configs.sh release/sanitize.sh
release/cleanup-*.sh (6 files) release/cleanup.sh