forked from vectordotdev/vector
-
Notifications
You must be signed in to change notification settings - Fork 1
117 lines (111 loc) · 3.03 KB
/
integration-test.yml
File metadata and controls
117 lines (111 loc) · 3.03 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
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"
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/cancel-workflow-action@0.9.1
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: 'docker-logs'
- test: 'elasticsearch'
- test: 'eventstoredb_metrics'
- test: 'fluent'
- test: 'gcp'
- test: 'humio'
- test: 'influxdb'
- test: 'kafka'
- test: 'logstash'
- test: 'loki'
- test: 'mongodb_metrics'
- test: 'nginx'
- test: 'postgresql_metrics'
- test: 'prometheus'
- test: 'pulsar'
- test: 'redis'
- test: 'splunk'
- test: 'dnstap'
steps:
- uses: actions/checkout@v2.3.5
- run: make ci-sweep
- uses: actions/cache@v2.1.4
with:
path: |
~/.cargo/registry
~/.cargo/git
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- run: sudo -E bash scripts/environment/bootstrap-ubuntu-20.04.sh
- run: bash scripts/environment/prepare.sh
- run: echo "::add-matcher::.github/matchers/rust.json"
- run: make slim-builds
- run: make test-integration-${{ matrix.test }}
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/action-discord@0.3.2
with:
args: "Master integration tests failed: <https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}>"