Support Kafka 4.0 #531
Workflow file for this run
This file contains hidden or 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: brod | |
on: | |
push: | |
branches: | |
- "*" | |
pull_request: | |
branches: | |
- master | |
env: | |
OTP_VERSION: "27" | |
REBAR_VERSION: "3.24.0" | |
jobs: | |
lint: | |
runs-on: ubuntu-22.04 | |
name: Lint | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: OTP | |
uses: erlef/setup-beam@v1 | |
with: | |
version-type: strict | |
otp-version: ${{ env.OTP_VERSION }} | |
rebar3-version: ${{ env.REBAR_VERSION }} | |
- name: Cache Build | |
id: cache-lint-hex | |
uses: actions/cache@v3 | |
with: | |
path: _build | |
key: ${{ runner.os }}-${{ env.OTP_VERSION }}-rebar-${{ hashFiles('**/rebar.lock') }} | |
restore-keys: ${{ runner.os }}-rebar- | |
- name: Cache Dialyzer PLTs | |
uses: actions/cache@v3 | |
with: | |
path: ~/.cache/rebar3/rebar3_*_plt | |
key: ${{ runner.os }}-dialyzer-${{ hashFiles('**/rebar.lock') }} | |
restore-keys: ${{ runner.os }}-dialyzer- | |
- name: Lint, Dialyzer & Xref | |
run: rebar3 do compile,lint,dialyzer,xref | |
build: | |
runs-on: ubuntu-22.04 | |
name: OTP ${{matrix.vsn[0]}} / Kafka ${{matrix.vsn[1]}} | |
strategy: | |
fail-fast: false | |
matrix: | |
vsn: [["26.2", "0.9"], ["27.2", "0.10"], ["26.2", "0.11"], ["27.2", "1.1"], ["26.2", "2.8"], ["27.2", "3.9"], ["27.2", "4.0"]] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: Cache Build | |
uses: actions/cache@v3 | |
with: | |
path: _build | |
key: ${{ runner.os }}-${{ matrix.vsn[0] }}-rebar-${{ hashFiles('**/rebar.lock') }} | |
restore-keys: ${{ runner.os }}-${{ matrix.vsn[0] }}-rebar- | |
- name: Install Erlang | |
uses: erlef/setup-beam@v1 | |
with: | |
version-type: strict | |
otp-version: ${{matrix.vsn[0]}} | |
rebar3-version: ${{ env.REBAR_VERSION }} | |
- name: Compile | |
run: rebar3 do compile | |
- name: Run tests | |
run: | | |
export KAFKA_VERSION=${{ matrix.vsn[1] }} | |
. scripts/.env | |
export ZOOKEEPER_IP | |
echo "Running Kafka ${KAFKA_VERSION}, Zookeeper: ${ZOOKEEPER_IP}" | |
make test-env | |
make t | |
- name: Store test logs | |
uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: ct-logs-otp-${{matrix.vsn[0]}}-kafka-${{matrix.vsn[1]}} | |
path: _build/test/logs | |
- name: Create Cover Reports | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: rebar3 do cover | |
docs: | |
needs: build | |
runs-on: ubuntu-22.04 | |
name: Publish Documentation | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v2 | |
- name: OTP | |
uses: erlef/setup-beam@v1 | |
with: | |
version-type: strict | |
otp-version: ${{ env.OTP_VERSION }} | |
rebar3-version: ${{ env.REBAR_VERSION }} | |
- name: Build Documentation | |
run: rebar3 do hex build | |
- name: Publish documentation | |
uses: actions/upload-artifact@v4 | |
with: | |
name: edoc | |
path: doc |