feat: Event-time based aggregation support #48704
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test Suite | |
on: | |
pull_request: | |
merge_group: | |
types: [checks_requested] | |
concurrency: | |
# `github.ref` is unique for MQ runs and PRs | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
CONTAINER_TOOL: "docker" | |
DD_ENV: "ci" | |
DD_API_KEY: ${{ secrets.DD_API_KEY }} | |
RUST_BACKTRACE: full | |
TEST_LOG: vector=debug | |
VERBOSE: true | |
CI: true | |
PROFILE: debug | |
# observing issues fetching boringssl via HTTPS in the OSX build, seeing if this helps | |
# can be removed when we switch back to the upstream openssl-sys crate | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
jobs: | |
changes: | |
uses: ./.github/workflows/changes.yml | |
secrets: inherit | |
check-fmt: | |
name: Check code format | |
runs-on: ubuntu-24.04 | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: make check-fmt | |
check-clippy: | |
name: Check clippy | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: sudo bash ./scripts/environment/install-protoc.sh | |
- run: sudo apt-get update && sudo apt-get install -y libsasl2-dev | |
- run: make check-clippy | |
test: | |
name: Unit and Component Validation tests - x86_64-unknown-linux-gnu | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: sudo -E bash scripts/environment/bootstrap-ubuntu-24.04.sh | |
- run: bash ./scripts/environment/prepare.sh --modules=cargo-nextest,datadog-ci | |
- name: Unit Test | |
run: make test | |
env: | |
CARGO_BUILD_JOBS: 5 | |
# Validates components for adherence to the Component Specification | |
- name: Check Component Spec | |
run: make test-component-validation | |
- name: Upload test results | |
run: scripts/upload-test-results.sh | |
if: always() | |
check-version: | |
name: Check version | |
runs-on: ubuntu-24.04 | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
with: | |
fetch-depth: 0 | |
- run: make check-version | |
check-scripts: | |
name: Check scripts | |
runs-on: ubuntu-24.04 | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: make check-scripts | |
check-events: | |
name: Check events | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: make check-events | |
check-licenses: | |
name: Check that the 3rd-party license file is up to date | |
runs-on: ubuntu-24.04 | |
if: needs.changes.outputs.dependencies == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: bash ./scripts/environment/prepare.sh --modules=dd-rust-license-tool | |
- run: make check-licenses | |
check-docs: | |
name: Check Cue docs | |
runs-on: ubuntu-24.04 | |
if: needs.changes.outputs.cue == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: sudo -E bash scripts/environment/bootstrap-ubuntu-24.04.sh | |
- run: make check-docs | |
check-markdown: | |
name: Check Markdown | |
runs-on: ubuntu-24.04 | |
if: needs.changes.outputs.markdown == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: bash ./scripts/environment/prepare.sh --modules=markdownlint | |
- run: make check-markdown | |
check-component-docs: | |
name: Check Component Docs | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' || needs.changes.outputs.component_docs == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- run: sudo bash ./scripts/environment/install-protoc.sh | |
- run: sudo apt-get update && sudo apt-get install -y libsasl2-dev | |
- run: sudo -E bash scripts/environment/bootstrap-ubuntu-24.04.sh | |
- run: make check-component-docs | |
check-rust-docs: | |
name: Check Rust Docs | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: cd rust-doc && make docs | |
test-vrl: | |
name: VRL - Linux | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' || needs.changes.outputs.cue == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: sudo bash ./scripts/environment/install-protoc.sh | |
- run: bash ./scripts/environment/prepare.sh --modules=wasm-pack | |
- run: make test-vrl | |
build-vrl-playground: | |
name: Build VRL Playground | |
runs-on: ubuntu-24.04-8core | |
if: needs.changes.outputs.source == 'true' || needs.changes.outputs.dependencies == 'true' | |
needs: changes | |
steps: | |
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | |
- name: Enable Rust matcher | |
run: echo "::add-matcher::.github/matchers/rust.json" | |
- run: bash ./scripts/environment/prepare.sh --modules=wasm-pack | |
- run: | | |
cd lib/vector-vrl/web-playground/ | |
rustup target add wasm32-unknown-unknown | |
wasm-pack build --target web --out-dir public/pkg | |
all-checks: | |
name: Test Suite | |
runs-on: ubuntu-24.04 | |
if: always() | |
needs: | |
- changes | |
- check-fmt | |
- check-clippy | |
- test | |
- check-version | |
- check-scripts | |
- check-events | |
- check-licenses | |
- check-docs | |
- check-markdown | |
- check-component-docs | |
- check-rust-docs | |
- test-vrl | |
- build-vrl-playground | |
steps: | |
- name: Check all jobs status | |
run: | | |
if [[ "${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}" == "true" ]]; then | |
echo "One or more jobs failed or were cancelled" | |
exit 1 | |
else | |
echo "All jobs completed successfully" | |
fi |