testing upload #261
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 | ||
detect-user: | ||
name: Detect user team membership | ||
runs-on: ubuntu-latest | ||
outputs: | ||
IS_TEAM_MEMBER: ${{ jobs.author.outputs.isTeamMember }} | ||
Check failure on line 49 in .github/workflows/integration.yml GitHub Actions / Integration Test SuiteInvalid workflow file
|
||
steps: | ||
- name: Get PR author | ||
if: github.event_name == 'pull_request' | ||
id: author | ||
uses: tspascoal/get-user-teams-membership@v2 | ||
with: | ||
username: ${{ github.actor }} | ||
team: 'Vector' | ||
GITHUB_TOKEN: ${{ secrets.GH_PAT_ORG }} | ||
integration-tests: | ||
name: Integration Tests | ||
runs-on: [linux, ubuntu-20.04-4core] | ||
needs: [changes, detect-user] | ||
# 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: 120 | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- run: sudo npm -g install @datadog/datadog-ci | ||
- run: docker image prune -af ; docker container prune -f | ||
- 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 == 'merge_group' || needs.changes.outputs.all-int == 'true' || needs.changes.outputs.appsignal == 'true') && | ||
(github.event_name != 'pull_request' || needs.detect-user.outputs.IS_TEAM_MEMBER == '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: integration-tests | ||
env: | ||
FAILED: ${{ contains(needs.*.result, 'failure') }} | ||
steps: | ||
- run: | | ||
echo "failed=${{ env.FAILED }}" | ||
if [[ "$FAILED" == "true" ]] ; then | ||
exit 1 | ||
else | ||
exit 0 | ||
fi |