Skip to content

feat: Event-time based aggregation support #48704

feat: Event-time based aggregation support

feat: Event-time based aggregation support #48704

Workflow file for this run

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