test labeler v5 #275
This file contains 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
# This workflow runs the integration tests. If the workflow is triggered in the merge queue, all integration tests | |
# are run. If the workflow is triggered in a PR commit, then the files changed in the PR are evaluated to determine | |
# if any integration tests will run. | |
name: Integration Test Suite | |
on: | |
workflow_dispatch: | |
pull_request: | |
merge_group: | |
types: [checks_requested] | |
concurrency: | |
# `github.event.number` exists for pull requests, otherwise fall back to SHA for merge queue | |
group: ${{ github.workflow }}-${{ github.event.number || github.event.merge_group.base_sha }} | |
cancel-in-progress: true | |
env: | |
AWS_ACCESS_KEY_ID: "dummy" | |
AWS_SECRET_ACCESS_KEY: "dummy" | |
CONTAINER_TOOL: "docker" | |
DD_ENV: "ci" | |
DD_API_KEY: ${{ secrets.DD_API_KEY }} | |
TEST_DATADOG_API_KEY: ${{ secrets.CI_TEST_DATADOG_API_KEY }} | |
TEST_APPSIGNAL_PUSH_API_KEY: ${{ secrets.TEST_APPSIGNAL_PUSH_API_KEY }} | |
AXIOM_TOKEN: ${{ secrets.AXIOM_TOKEN }} | |
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 | |
with: | |
base_ref: ${{ github.event.pull_request.base.ref }} | |
head_ref: ${{ github.event.pull_request.head.ref }} | |
secrets: inherit | |
integration-tests: | |
name: Integration Tests | |
runs-on: [linux, ubuntu-20.04-4core] | |
needs: changes | |
# if: false | |
# if: | | |
# github.event_name == 'merge_group' || ( | |
# needs.changes.outputs.int-all == 'true' | |
# || needs.changes.outputs.amqp == 'true' | |
# || needs.changes.outputs.appsignal == 'true' | |
# || needs.changes.outputs.aws == 'true' | |
# || needs.changes.outputs.axiom == 'true' | |
# || needs.changes.outputs.azure == 'true' | |
# || needs.changes.outputs.clickhouse == 'true' | |
# || needs.changes.outputs.databend == 'true' | |
# || needs.changes.outputs.datadog == 'true' | |
# || needs.changes.outputs.dnstap == 'true' | |
# || needs.changes.outputs.docker-logs == 'true' | |
# || needs.changes.outputs.elasticsearch == 'true' | |
# || needs.changes.outputs.eventstoredb == 'true' | |
# || needs.changes.outputs.fluent == 'true' | |
# || needs.changes.outputs.gcp == 'true' | |
# || needs.changes.outputs.humio == 'true' | |
# || needs.changes.outputs.http-client == 'true' | |
# || needs.changes.outputs.influxdb == 'true' | |
# || needs.changes.outputs.kafka == 'true' | |
# || needs.changes.outputs.logstash == 'true' | |
# || needs.changes.outputs.loki == 'true' | |
# || needs.changes.outputs.mongodb == 'true' | |
# || needs.changes.outputs.nats == 'true' | |
# || needs.changes.outputs.nginx == 'true' | |
# || needs.changes.outputs.opentelemetry == 'true' | |
# || needs.changes.outputs.postgres == 'true' | |
# || needs.changes.outputs.prometheus == 'true' | |
# || needs.changes.outputs.pulsar == 'true' | |
# || needs.changes.outputs.redis == 'true' | |
# || needs.changes.outputs.splunk == 'true' | |
# || needs.changes.outputs.webhdfs == 'true' | |
# ) | |
timeout-minutes: 75 | |
steps: | |
- uses: actions/checkout@v3 | |
- run: sudo npm -g install @datadog/datadog-ci | |
- run: docker image prune -af ; docker container prune -f | |
# - run: | | |
# if [[ ${{ github.event.pull_request.author_association }} == "MEMBER" || ${{ github.event.pull_request.author_association }} == "OWNER" ] ; then | |
# echo "PR_AUTHOR_IS_MEMBMER=true" >> "$GITHUB_ENV" | |
# fi | |
- name: determine if secrets are defined | |
env: | |
GH_PAT_ORG: ${{ secrets.GH_PAT_ORG }} | |
run: | | |
if [[ "$GH_PAT_ORG" != "" ]] ; then | |
echo "PR_AUTHOR_IS_TEAM_MEMBER=true" >> "$GITHUB_ENV" | |
else | |
echo "PR_AUTHOR_IS_TEAM_MEMBER=false" >> "$GITHUB_ENV" | |
fi | |
- run: echo "hihi" | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.amqp == 'true' }} | |
# name: amqp | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh amqp | |
- if: github.event_name != 'pull_request' || env.PR_AUTHOR_IS_TEAM_MEMBER == 'true' | |
# (github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.appsignal == 'true') && | |
name: appsignal | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: echo "mock" | |
#command: bash scripts/ci-integration-test.sh appsignal | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.aws == 'true' }} | |
name: aws | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh aws | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.axiom == 'true' }} | |
# name: axiom | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh axiom | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.azure == 'true' }} | |
name: azure | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh azure | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.clickhouse == 'true' }} | |
name: clickhouse | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh clickhouse | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.databend == 'true' }} | |
# name: databend | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh databend | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.datadog == 'true' }} | |
# name: datadog-agent | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh datadog-agent | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.datadog == 'true' }} | |
# name: datadog-logs | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh datadog-logs | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.datadog == 'true' }} | |
# name: datadog-metrics | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh datadog-metrics | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.datadog == 'true' }} | |
# name: datadog-traces | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh datadog-traces | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.dnstap == 'true' }} | |
name: dnstap | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh dnstap | |
- run: docker image prune -af --filter=label!=vector-test-runner=true ; docker container prune -f | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.docker-logs == 'true' }} | |
name: docker-logs | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh docker-logs | |
# - if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.elasticsearch == 'true' }} | |
# name: elasticsearch | |
# uses: nick-fields/retry@v2 | |
# with: | |
# timeout_minutes: 30 | |
# max_attempts: 3 | |
# command: bash scripts/ci-integration-test.sh elasticsearch | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.eventstoredb == 'true' }} | |
name: eventstoredb | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh eventstoredb | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.fluent == 'true' }} | |
name: fluent | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh fluent | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.gcp == 'true' }} | |
name: gcp | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh gcp | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.humio == 'true' }} | |
name: humio | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh humio | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.http-client == 'true' }} | |
name: http-client | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh http-client | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.influxdb == 'true' }} | |
name: influxdb | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh influxdb | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.kafka == 'true' }} | |
name: kafka | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh kafka | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.logstash == 'true' }} | |
name: logstash | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh logstash | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.loki == 'true' }} | |
name: loki | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh loki | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.mongodb == 'true' }} | |
name: mongodb | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh mongodb | |
- run: docker image prune -af --filter=label!=vector-test-runner=true ; docker container prune -f | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.nats == 'true' }} | |
name: nats | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh nats | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.nginx == 'true' }} | |
name: nginx | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh nginx | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.opentelemetry == 'true' }} | |
name: opentelemetry | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh opentelemetry | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.postgres == 'true' }} | |
name: postgres | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh postgres | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.prometheus == 'true' }} | |
name: prometheus | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh prometheus | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.pulsar == 'true' }} | |
name: pulsar | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh pulsar | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.redis == 'true' }} | |
name: redis | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh redis | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' }} | |
name: shutdown | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh shutdown | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.splunk == 'true' }} | |
name: splunk | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh splunk | |
- if: ${{ github.event_name == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.webhdfs == 'true' }} | |
name: webhdfs | |
uses: nick-fields/retry@v2 | |
with: | |
timeout_minutes: 30 | |
max_attempts: 3 | |
command: bash scripts/ci-integration-test.sh webhdfs | |
integration-test-suite: | |
name: Integration Test Suite | |
runs-on: ubuntu-latest | |
if: always() | |
needs: [changes, integration-tests] | |
env: | |
FAILED: ${{ contains(needs.*.result, 'failure') }} | |
steps: | |
- run: | | |
echo "failed=${{ env.FAILED }}" | |
if [[ "$FAILED" == "true" ]] ; then | |
exit 1 | |
else | |
exit 0 | |
fi |