8000 Merge branch 'master' into renovate/confluentinc-cp-kafka-7.x · karafka/karafka@53824e0 · GitHub
[go: up one dir, main page]

Skip to content

Update confluentinc/cp-kafka Docker tag to v7.9.0 #9577

Update confluentinc/cp-kafka Docker tag to v7.9.0

Update confluentinc/cp-kafka Docker tag to v7.9.0 #9577

Workflow file for this run

name: ci
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
push:
schedule:
- cron: '0 1 * * *'
env:
BUNDLE_RETRY: 6
BUNDLE_JOBS: 4
jobs:
diffend:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.4
bundler-cache: true
- name: Install Diffend plugin
run: bundle plugin install diffend
- name: Bundle Secure
run: bundle secure
karafka-checksum:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Karafka license checksum verification
env:
KARAFKA_PRO_USERNAME: ${{ secrets.KARAFKA_PRO_USERNAME }}
KARAFKA_PRO_PASSWORD: ${{ secrets.KARAFKA_PRO_PASSWORD }}
KARAFKA_PRO_VERSION: ${{ secrets.KARAFKA_PRO_VERSION }}
KARAFKA_PRO_LICENSE_CHECKSUM: ${{ secrets.KARAFKA_PRO_LICENSE_CHECKSUM }}
run: bin/verify_license_integrity
coditsu:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Run Coditsu
run: \curl -sSL https://api.coditsu.io/run/ci | bash
# We do not split RSpec specs to OSS and Pro like integrations because they do not overload
# Kafka heavily, compute total coverage for specs and are fast enough
specs:
timeout-minutes: 10
runs-on: ubuntu-latest
needs: diffend
strategy:
fail-fast: false
matrix:
ruby:
- '3.4'
- '3.3'
- '3.2'
- '3.1'
include:
- ruby: '3.4'
coverage: 'true'
steps:
- uses: actions/checkout@v4
- name: Install package dependencies
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
- name: Start Kafka with docker compose
run: |
docker compose up -d || (sleep 5 && docker compose up -d)
# Newer versions of ActiveSupport and Rails do not work with Ruby 3.1 anymore.
# While we use newer by default we do want to resolve older and test, thus we remove
# Gemfile.lock and let it resolve to the most compatible version possible
- name: Remove Gemfile.lock if Ruby 3.1
if: matrix.ruby == '3.1'
run: rm -f Gemfile.lock
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby}}
bundler-cache: true
bundler: 'latest'
- name: Wait for Kafka
run: |
bundle exec bin/wait_for_kafka
- name: Run all specs
env:
GITHUB_COVERAGE: ${{matrix.coverage}}
run: bin/rspecs
- name: Check Kafka logs for unexpected warnings
run: bin/verify_kafka_warnings
integrations_oss:
timeout-minutes: 20
runs-on: ubuntu-latest
needs: diffend
strategy:
fail-fast: false
matrix:
ruby:
- '3.4'
- '3.3'
- '3.2'
- '3.1'
steps:
- uses: actions/checkout@v4
- name: Install package dependencies
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
- name: Remove libzstd-dev to check no supported compressions
run: sudo apt-get -y remove libzstd-dev
- name: Start Kafka with docker compose
run: |
docker compose up -d || (sleep 5 && docker compose up -d)
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
# Do not use cache here as we run bundle install also later in some of the integration
# tests and we need to be able to run it without cache
#
# We also want to check that librdkafka is compiling as expected on all versions of Ruby
ruby-version: ${{matrix.ruby}}
bundler: 'latest'
- name: Install latest Bundler
run: |
gem install bundler --no-document
gem update --system --no-document
bundle config set without 'tools benchmarks docs'
- name: Fix directory permissions for Bundler
run: |
chmod -R o-w /opt/hostedtoolcache/Ruby/3*/x64/lib/ruby/gems/3*/gems
chmod +t /opt/hostedtoolcache/Ruby/3*/x64/lib/ruby/gems/3*/gems
- name: Bundle install
run: |
bundle config set without development
bundle install --jobs 4 --retry 3
- name: Wait for Kafka
run: |
bundle exec bin/wait_for_kafka
- name: Run OSS integration tests
run: bin/integrations --exclude '/pro'
- name: Check Kafka logs for unexpected warnings
run: bin/verify_kafka_warnings
integrations_pro:
timeout-minutes: 45
runs-on: ubuntu-latest
needs: diffend
strategy:
fail-fast: false
matrix:
ruby:
- '3.4'
- '3.3'
- '3.2'
- '3.1'
steps:
- uses: actions/checkout@v4
- name: Install package dependencies
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS"
- name: Start Kafka with docker compose
run: |
docker compose up -d || (sleep 5 && docker compose up -d)
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby}}
bundler: 'latest'
- name: Install latest Bundler
run: |
gem install bundler --no-document
gem update --system --no-document
bundle config set without 'tools benchmarks docs'
- name: Bundle install
run: |
bundle config set without development
bundle install --jobs 4 --retry 3
- name: Wait for Kafka
run: |
bundle exec bin/wait_for_kafka
- name: Run Pro integration tests
env:
KARAFKA_PRO_LICENSE_TOKEN: ${{ secrets.KARAFKA_PRO_LICENSE_TOKEN }}
KARAFKA_PRO_USERNAME: ${{ secrets.KARAFKA_PRO_USERNAME }}
KARAFKA_PRO_PASSWORD: ${{ secrets.KARAFKA_PRO_PASSWORD }}
KARAFKA_PRO_VERSION: ${{ secrets.KARAFKA_PRO_VERSION }}
KARAFKA_PRO_LICENSE_CHECKSUM: ${{ secrets.KARAFKA_PRO_LICENSE_CHECKSUM }}
run: bin/integrations '/pro'
- name: Check Kafka logs for unexpected warnings
run: bin/verify_kafka_warnings
0