Skip to content

Merge pull request #601 from ProjectASAP/perf/592-indexed-series-evic… #141

Merge pull request #601 from ProjectASAP/perf/592-indexed-series-evic…

Merge pull request #601 from ProjectASAP/perf/592-indexed-series-evic… #141

Workflow file for this run

name: MVP CI
on:
pull_request:
types: [opened, reopened, synchronize, edited]
push:
branches: [main]
permissions:
contents: read
concurrency:
group: mvp-ci-${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
collector:
name: MVP collector
runs-on: ubuntu-latest
timeout-minutes: 45
steps:
- name: Checkout ASAPCollector
uses: actions/checkout@v4
with:
path: ASAPCollector
- name: Checkout asap_sketchlib dependency
uses: actions/checkout@v4
with:
repository: ProjectASAP/asap_sketchlib
path: asap_sketchlib
- name: Checkout sketchlib-go dependency
uses: actions/checkout@v4
with:
repository: ProjectASAP/sketchlib-go
# Integrated GOS APIs consumed by the Go runtime modules below.
ref: 148643fae428f6d3d5a10a02b99dc86c9e1a64c0
path: sketchlib-go
token: ${{ secrets.ASAP_CI_REPO_TOKEN }}
- name: Initialize Collector and Go SDK dependencies
working-directory: ASAPCollector
run: |
git submodule update --init opentelemetry-collector opentelemetry-collector-contrib opentelemetry-go
./restore_otel_collector_patches.sh
./restore_otel_collector_contrib_patches.sh
./restore_opentelemetry_go_patches.sh
- name: Install Go
uses: actions/setup-go@v5
with:
go-version: "1.24.x"
cache: false
- name: Build MVP Collector distribution
working-directory: ASAPCollector
run: ./build_asap_otel.sh --skip-patches
- name: Install Rust components
run: rustup component add rustfmt clippy
- name: Configure private Cargo dependencies
env:
ASAP_CI_REPO_TOKEN: ${{ secrets.ASAP_CI_REPO_TOKEN }}
run: git config --global url."https://x-access-token:${ASAP_CI_REPO_TOKEN}@github.com/".insteadOf "https://github.com/"
- name: Cache Rust build
uses: Swatinem/rust-cache@v2
with:
workspaces: ASAPCollector/asap-precompute-rs
- name: Check formatting
working-directory: ASAPCollector/asap-precompute-rs
run: cargo fmt -- --check
- name: Check MVP collector
working-directory: ASAPCollector/asap-precompute-rs
run: cargo check --all-features
- name: Lint MVP collector
working-directory: ASAPCollector/asap-precompute-rs
run: cargo clippy --all-features --all-targets
- name: Test MVP collector
working-directory: ASAPCollector/asap-precompute-rs
run: cargo test --all-features
- name: Test Go precompute contracts
working-directory: ASAPCollector/asap-precompute-go
run: go test ./...
- name: Test source SDK sampling contracts
working-directory: ASAPCollector/opentelemetry-go/sdk/metric
run: go test -mod=mod ./internal/aggregate -run 'TestRowSampledSketch_'
- name: Test Go Gorilla contracts
working-directory: ASAPCollector/asap-gorilla-go
run: go test ./...
- name: Test Collector plan and OpAMP bridge
working-directory: ASAPCollector/opentelemetry-collector-contrib-patch/processor/asapedgeprocessor
run: go test ./...
- name: Test MVP harness contracts
working-directory: ASAPCollector
run: python3 -m unittest discover -s deploy/mvp-multinode/scripts/tests -p 'test_*.py'
- name: Check MVP demo entrypoint
working-directory: ASAPCollector
run: bash -n deploy/mvp-multinode/scripts/run_demo.sh