8000 Support migrating via aliases and plan with aliases usage (#2065) · karafka/karafka@8bf2dd0 · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

CI

CI #7996

Workflow file for this run

5F5A
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.3
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.3'
- '3.2'
- '3.1'
- '3.0'
include:
- ruby: '3.3'
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)
- 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
integrations_oss:
timeout-minutes: 20
runs-on: ubuntu-latest
needs: diffend
strategy:
fail-fast: false
matrix:
ruby:
- '3.3'
- '3.2'
- '3.1'
- '3.0'
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: 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'
integrations_pro:
timeout-minutes: 40
runs-on: ubuntu-latest
needs: diffend
strategy:
fail-fast: false
matrix:
ruby:
- '3.3'
- '3.2'
- '3.1'
- '3.0'
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'
0