|
@@ -0,0 +1,62 @@
|
|
|
+name: CI
|
|
|
+
|
|
|
+on: push
|
|
|
+
|
|
|
+jobs:
|
|
|
+ test:
|
|
|
+ name: Go ${{ matrix.go-version }} on Ubuntu
|
|
|
+ runs-on: ubuntu-latest
|
|
|
+ strategy:
|
|
|
+ fail-fast: false
|
|
|
+ matrix:
|
|
|
+ go-version: [1.12.x, 1.13.x]
|
|
|
+ platform: [ubuntu-latest]
|
|
|
+
|
|
|
+ env:
|
|
|
+ KAFKA_PEERS: localhost:9091,localhost:9092,localhost:9093,localhost:9094,localhost:9095
|
|
|
+ TOXIPROXY_ADDR: http://localhost:8474
|
|
|
+ KAFKA_INSTALL_ROOT: /home/runner/kafka
|
|
|
+ KAFKA_HOSTNAME: localhost
|
|
|
+ DEBUG: true
|
|
|
+ KAFKA_VERSION: 2.3.0
|
|
|
+ KAFKA_SCALA_VERSION: 2.12
|
|
|
+
|
|
|
+ steps:
|
|
|
+ - uses: actions/checkout@v1
|
|
|
+
|
|
|
+ - name: Setup Go
|
|
|
+ uses: actions/setup-go@v1
|
|
|
+ with:
|
|
|
+ go-version: ${{ matrix.go-version }}
|
|
|
+
|
|
|
+ - uses: actions/cache@v1
|
|
|
+ with:
|
|
|
+ path: ~/go/pkg/mod
|
|
|
+ key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
|
|
|
+ restore-keys: |
|
|
|
+ ${{ runner.os }}-go-
|
|
|
+
|
|
|
+ # See https://github.com/actions/setup-go/issues/14
|
|
|
+ - name: Setup env
|
|
|
+ run: |
|
|
|
+ echo "::set-env name=GOPATH::$(go env GOPATH)"
|
|
|
+ echo "::add-path::$(go env GOPATH)/bin"
|
|
|
+ shell: bash
|
|
|
+
|
|
|
+ - name: Install dependencies
|
|
|
+ run: |
|
|
|
+ curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(go env GOPATH)/bin v1.23.1
|
|
|
+ export REPOSITORY_ROOT=${GITHUB_WORKSPACE}
|
|
|
+ vagrant/install_cluster.sh
|
|
|
+ vagrant/boot_cluster.sh
|
|
|
+ vagrant/create_topics.sh
|
|
|
+ vagrant/run_java_producer.sh
|
|
|
+
|
|
|
+ - name: Run test suite
|
|
|
+ run: make test
|
|
|
+
|
|
|
+ - name: Run linter
|
|
|
+ run: make lint
|
|
|
+
|
|
|
+ - name: Teardown
|
|
|
+ run: vagrant/halt_cluster.sh
|