ci #2256
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: ci | |
concurrency: ci-${{ github.ref }} | |
on: | |
pull_request: | |
push: | |
schedule: | |
- cron: '0 1 * * *' | |
jobs: | |
specs: | |
runs-on: ubuntu-latest | |
needs: diffend | |
strategy: | |
fail-fast: false | |
matrix: | |
ruby: | |
- '3.2' | |
- '3.1' | |
- '3.0' | |
- '2.7' | |
include: | |
- ruby: '3.2' | |
coverage: 'true' | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install package dependencies | |
run: "[ -e $APT_DEPS ] || sudo apt-get install -y --no-install-recommends $APT_DEPS" | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{matrix.ruby}} | |
- name: Remove libzstd-dev to check no supported compressions | |
run: sudo apt-get -y remove libzstd-dev | |
- name: Run Kafka with docker-compose | |
# We need to give Kafka enough time to start and create all the needed topics, etc | |
# If anyone has a better idea on how to do it smart and easily, please contact me | |
run: | | |
docker-compose up -d | |
sleep 5 | |
- name: Install latest bundler | |
run: | | |
gem install bundler --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: Run all tests | |
env: | |
GITHUB_COVERAGE: ${{matrix.coverage}} | |
run: bundle exec rspec | |
diffend: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: 3.2 | |
- name: Install latest bundler | |
run: gem install bundler --no-document | |
- name: Install Diffend plugin | |
run: bundle plugin install diffend | |
- name: Bundle Secure | |
run: bundle secure | |
coditsu: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Run Coditsu | |
run: \curl -sSL https://api.coditsu.io/run/ci | bash |