Skip to content

Finalise Message interfaces (#368) #993

Finalise Message interfaces (#368)

Finalise Message interfaces (#368) #993

Workflow file for this run

name: Ruby
on:
push:
branches:
- master
pull_request:
jobs:
quickstart_e2e_tests_postgresql:
runs-on: ubuntu-latest
name: run quickstart e2e tests (postgresql)
services:
postgres:
image: postgres:latest
env:
DATABASE_ADAPTER: postgresql
DATABASE_PORT: 5432
POSTGRES_USER: outboxer_developer
POSTGRES_PASSWORD: outboxer_password
POSTGRES_DB: outboxer_test
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: run quickstart e2e script (postgresql)
env:
TARGET_RUBY_VERSION: 3.2.2
TARGET_RAILS_VERSION: 7.1.5.1
TARGET_DATABASE_ADAPTER: postgresql
PGHOST: localhost
PGUSER: outboxer_developer
PGPASSWORD: outboxer_password
PGPORT: 5432
run: ./quickstart_e2e_tests.sh
quickstart_e2e_tests_mysql:
if: false
runs-on: ubuntu-latest
name: run quickstart e2e tests (mysql)
services:
mysql:
image: mysql:latest
env:
MYSQL_ROOT_PASSWORD: outboxer_password
MYSQL_DATABASE: outboxer_test
MYSQL_USER: outboxer_developer
MYSQL_PASSWORD: outboxer_password
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping --silent"
--health-interval=10s
--health-timeout=5s
--health-retries=5
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: 3.2.2
bundler-cache: true
- name: run quickstart e2e script (mysql)
env:
TARGET_RUBY_VERSION: 3.2.2
TARGET_RAILS_VERSION: 7.1.5.1
TARGET_DATABASE_ADAPTER: mysql
DATABASE_ADAPTER: mysql2
DATABASE_HOST: 127.0.0.1
DATABASE_PORT: 3306
DATABASE_USERNAME: outboxer_developer
DATABASE_PASSWORD: outboxer_password
run: ./quickstart_e2e_tests.sh
gitleaks:
runs-on: ubuntu-latest
name: run gitleaks
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: gitleaks/gitleaks-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITLEAKS_LICENSE: "foobar"
brakeman:
runs-on: ubuntu-latest
name: run brakeman
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1.6'
bundler-cache: true
- name: install brakeman
run: gem install brakeman
- name: run brakeman
run: brakeman --exit-on-warn
rubocop:
runs-on: ubuntu-latest
name: run rubocop
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.1.6'
bundler-cache: true
- name: install rubocop
run: gem install rubocop
- name: run rubocop
run: rubocop
postgres:
runs-on: ubuntu-latest
name: run rspec (postgresql)
strategy:
matrix:
ruby:
- '3.1.6'
services:
postgres:
image: postgres:latest
env:
DATABASE_ADAPTER: postgresql
DATABASE_PORT: 5432
POSTGRES_USER: outboxer_developer
POSTGRES_PASSWORD: outboxer_password
POSTGRES_DB: outboxer_test
ports:
- 5432:5432
options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5
redis:
image: redis
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: check postgresql
run: |
sudo apt-get -qq install -y postgresql-client
export PGPASSWORD=outboxer_password
psql -h localhost -U outboxer_developer -d outboxer_test -c 'SELECT version();'
- name: run database migrations
run: RAILS_ENV=test bin/rake outboxer:db:migrate
- name: run rspec
run: RAILS_ENV=test bin/rspec spec
- name: report to coveralls
uses: coverallsapp/github-action@v2
mysql:
runs-on: ubuntu-latest
name: run rspec (mysql)
strategy:
matrix:
ruby:
- '3.1.6'
services:
mysql:
image: mysql:latest
env:
DATABASE_ADAPTER: mysql2
DATABASE_PORT: 3306
MYSQL_ROOT_PASSWORD: outboxer_password
MYSQL_DATABASE: outboxer_test
MYSQL_USER: outboxer_developer
MYSQL_PASSWORD: outboxer_password
ports:
- 3306:3306
options: >-
--health-cmd="mysqladmin ping --silent"
--health-interval=10s
--health-timeout=5s
--health-retries=5
redis:
image: redis
ports:
- 6379:6379
steps:
- uses: actions/checkout@v3
- name: set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: check mySQL
run: |
sudo apt-get -qq install -y mysql-client
export MYSQL_PWD=outboxer_password
mysql -h 127.0.0.1 -P 3306 -u outboxer_developer -poutboxer_password outboxer_test -e 'SELECT VERSION();'
- name: run database migrations
env:
RAILS_ENV: test
DATABASE_ADAPTER: mysql2
DATABASE_HOST: 127.0.0.1
DATABASE_PORT: 3306
run: |
bin/rake outboxer:db:migrate
- name: run rspec
env:
RAILS_ENV: test
DATABASE_ADAPTER: mysql2
DATABASE_PORT: 3306
DATABASE_HOST: 127.0.0.1
run: bin/rspec spec