Skip to content

Build the release-5.6 branch with Rust 1.71.1 to match the downstream #187

Build the release-5.6 branch with Rust 1.71.1 to match the downstream

Build the release-5.6 branch with Rust 1.71.1 to match the downstream #187

name: Integration Test Suite
on:
workflow_dispatch:
push:
branches:
- master
paths:
- ".github/workflows/integration-test.yml"
- ".cargo/**"
- "benches/**"
- "lib/**"
- "proto/**"
- "scripts/**"
- "skaffold/**"
- "src/**"
- "tests/**"
- "build.rs"
- "Cargo.lock"
- "Cargo.toml"
- "Makefile"
- "rust-toolchain"
pull_request:
env:
AUTOINSTALL: true
AWS_ACCESS_KEY_ID: "dummy"
AWS_SECRET_ACCESS_KEY: "dummy"
CONTAINER_TOOL: "docker"
DD_ENV: "ci"
DD_API_KEY: ${{ secrets.DD_API_KEY }}
RUST_BACKTRACE: full
RUST_TEST_THREADS: 1
TEST_LOG: vector=debug
VERBOSE: true
CI: true
PROFILE: debug
jobs:
cancel-previous:
name: Cancel redundant jobs
runs-on: ubuntu-20.04
timeout-minutes: 3
if: github.ref != 'refs/heads/master'
steps:
- uses: styfle/[email protected]
with:
access_token: ${{ secrets.GITHUB_TOKEN }}
all_but_latest: true # can cancel workflows scheduled later
test-integration:
name: Integration - Linux, ${{ matrix.test }}
runs-on: ubuntu-20.04
if: |
!github.event.pull_request
|| contains(github.event.pull_request.labels.*.name, 'ci-condition: integration tests enable')
strategy:
fail-fast: false
matrix:
include:
- test: 'aws'
- test: 'azure'
- test: 'clickhouse'
- test: 'datadog-agent'
- test: 'datadog-logs'
- test: 'datadog-metrics'
- test: 'datadog-traces'
- test: 'dnstap'
- test: 'docker-logs'
- test: 'elasticsearch'
- test: 'eventstoredb'
- test: 'fluent'
- test: 'gcp'
- test: 'humio'
- test: 'influxdb'
- test: 'kafka'
- test: 'logstash'
- test: 'loki'
- test: 'mongo'
- test: 'nginx'
- test: 'postgres'
- test: 'prometheus'
- test: 'pulsar'
- test: 'redis'
- test: 'splunk'
env:
SPLUNK_VERSION: 7.3.9
- test: 'splunk'
- test: 'shutdown'
steps:
- uses: actions/checkout@v3
- run: make ci-sweep
- run: sudo npm -g install @datadog/datadog-ci
- run: make test-integration-${{ matrix.test }}
env:
TEST_DATADOG_API_KEY: ${{ secrets.CI_TEST_DATADOG_API_KEY }}
SPLUNK_VERSION: ${{ matrix.env.SPLUNK_VERSION }}
- name: Upload test results
run: scripts/upload-test-results.sh
if: always()
- run: make test-integration-${{ matrix.test }}-cleanup
if: ${{ always() }}
test-integration-check:
name: test-integration-check
runs-on: ubuntu-latest
needs:
- test-integration
steps:
- name: validate
run: echo "OK"
master-failure:
name: master-failure
if: failure() && github.ref == 'refs/heads/master'
needs:
- cancel-previous
- test-integration-check
runs-on: ubuntu-20.04
steps:
- name: Discord notification
env:
DISCORD_WEBHOOK: ${{ secrets.DISCORD_WEBHOOK }}
uses: Ilshidur/[email protected]
with:
args: "Master integration tests failed: <https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}>"