Continuous Integration Tests #26614
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
name: "Continuous Integration Tests" | |
on: | |
schedule: | |
- cron: '0 */2 * * *' | |
push: | |
branches: | |
- force-integration-tests # Push this branch to force this job to run | |
jobs: | |
integration: | |
name: Integration Tests | |
runs-on: [ self-hosted, linux ] | |
steps: | |
- name: Cache | |
uses: actions/cache@v2 | |
with: | |
path: | | |
~/.cache/go-build | |
~/.cache/golangci-lint | |
~/go/pkg/mod | |
key: ${{ runner.os }}-go | |
restore-keys: | | |
${{ runner.os }}-go | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Init Hermit | |
run: | | |
./bin/hermit env --raw >> $GITHUB_ENV | |
./bin/hermit install | |
- name: Build | |
run: go build ./... | |
- name: SQLTests | |
run: go test -v -race -count=1 -timeout 30m -failfast -p 1 -tags confluent ./sqltest | |
if: ${{ always() }} | |
- name: Kafka tests using RedPanda and Confluent Kafka client | |
run: go test -race -count=1 -timeout 20m -failfast -p 1 -tags confluent,integration ./kafkatest -- -kafka-provider=redpanda | |
if: ${{ always() }} | |
- name: Kafka tests using Kafka and Confluent Kafka client | |
run: go test -race -count=1 -timeout 20m -failfast -p 1 -tags confluent,integration ./kafkatest -- -kafka-provider=kafka | |
if: ${{ always() }} | |
- name: Large cluster tests | |
run: go test -v -race -count=1 -timeout 45m -failfast -p 1 -tags confluent,largecluster ./sqltest | |
if: ${{ always() }} | |
slack-on-fail: | |
runs-on: [ self-hosted, linux ] | |
needs: [ integration ] | |
if: always() && (needs.integration.result == 'failure' || needs.integration.result == 'error') | |
steps: | |
- uses: 8398a7/action-slack@v3 | |
with: | |
status: ${{ needs.integration.result }} | |
fields: workflow | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_ACTIONS_WEBHOOK_URL }} |