name: Ruby on: [push, pull_request] jobs: test: runs-on: ubuntu-latest services: mariadb: image: mariadb env: MYSQL_USER: user MYSQL_PASSWORD: password MYSQL_DATABASE: test MYSQL_ROOT_PASSWORD: password options: >- --health-cmd "mysqladmin ping" --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 3306:3306 redis: image: redis options: >- --health-cmd "redis-cli ping" --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 6379:6379 steps: - name: Checkout source code uses: actions/checkout@v2 - name: Setup chromedriver uses: nanasess/setup-chromedriver@v1.0.1 - name: Setup ruby uses: ruby/setup-ruby@v1 with: bundler-cache: true - name: Initialize stock configuration run: bundle exec rake foodsoft:setup:stock_config - name: Load database schema run: bundle exec rake db:schema:load env: DATABASE_URL: mysql2://user:password@127.0.0.1/test RAILS_ENV: test - name: Run tests run: bundle exec rake rspec-rerun:spec env: COVERAGE: lcov DATABASE_URL: mysql2://user:password@127.0.0.1/test RAILS_ENV: test - name: Upload coverage report to Coveralls uses: coverallsapp/github-action@v1.1.2 with: github-token: ${{ secrets.GITHUB_TOKEN }}