version: '7' environment: RUBY_VERSION: '3.3' compose: files: - docker-compose.yml interaction: bash: description: Open the Bash shell in app's container service: ruby command: /bin/bash bundle: description: Run Bundler commands service: ruby command: bundle rails: description: Run RoR commands service: ruby command: bundle exec rails appraisal: description: Run Appraisal commands service: ruby command: bundle exec appraisal rspec: description: Run Rspec commands service: ruby command: bundle exec rspec subcommands: all: command: bundle exec appraisal rspec rails-6.0: command: bundle exec appraisal rails-6.0 rspec rails-6.1: command: bundle exec appraisal rails-6.1 rspec rails-7.0: command: bundle exec appraisal rails-7.0 rspec pact: description: Run pact tests service: ruby environment: RAILS_ENV: test PACT_DO_NOT_TRACK: true subcommands: consumer: command: bundle exec rspec -t pact spec/pact/providers/**/*_spec.rb provider: command: bundle exec rspec -t pact spec/pact/consumers/*_spec.rb provider-with-local-broker: command: /bin/sh -c 'PACT_CONSUMER_BRANCH=master PACT_CONSUMER_FULL_NAME=sbmt-pact-test-app PACT_BROKER_URL=http://pact-broker:9292 bundle exec rspec -t pact spec/pact/consumers/*_spec.rb' pact-cli: description: Run pact-broker commands service: pact-cli subcommands: publish: command: pact-broker publish --consumer-app-version 1.0.0 --branch master --broker-base-url http://pact-broker:9292 sbmt-pact-test-app-sbmt-pact-test-app.json rubocop: description: Run Ruby linter service: ruby command: bundle exec rubocop setup: description: Install deps service: ruby command: bin/setup test: description: Run linters, run all tests service: ruby command: bin/test provision: - dip compose down --volumes - cp -f lefthook-local.dip_example.yml lefthook-local.yml - rm -f Gemfile.lock - rm -f gemfiles/*gemfile* - dip setup