Skip to content

refactor(deps): simplify google-protobuf gem versioning #276

refactor(deps): simplify google-protobuf gem versioning

refactor(deps): simplify google-protobuf gem versioning #276

Workflow file for this run

name: test
on:
push:
branches:
- main
pull_request:
jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
include:
- ruby: "2.6"
gemfile: ruby_26.rails_60.gemfile
- ruby: "2.6"
gemfile: ruby_26.rails_61.gemfile
- ruby: "2.7"
gemfile: ruby_27.rails_60.gemfile
- ruby: "2.7"
gemfile: ruby_27.rails_61.gemfile
- ruby: "2.7"
gemfile: ruby_27.rails_70.gemfile
- ruby: "2.7"
gemfile: ruby_27.rails_71.gemfile
- ruby: "3.0"
gemfile: ruby_30.rails_61.gemfile
- ruby: "3.0"
gemfile: ruby_30.rails_70.gemfile
- ruby: "3.0"
gemfile: ruby_30.rails_71.gemfile
- ruby: "3.1"
gemfile: ruby_31.rails_61.gemfile
- ruby: "3.1"
gemfile: ruby_31.rails_70.gemfile
- ruby: "3.1"
gemfile: ruby_31.rails_71.gemfile
services:
mysql:
image: mysql:8.4
ports:
- "3306:3306"
env:
MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
options: >-
--health-cmd "mysqladmin ping"
--health-interval 10s
--health-timeout 5s
--health-retries 5
env:
PUBSUB_TOPIC_ID: trabox
PUBSUB_SUBSCRIPTION_ID: trabox-sub
PUBSUB_EMULATOR_HOST: localhost:8085
GOOGLE_CLOUD_PROJECT: trabox
RAILS_ENV: test
BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}
steps:
- name: Checkout code
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4
- name: Set up gcloud
uses: google-github-actions/setup-gcloud@v2
with:
install_components: "beta,pubsub-emulator"
- name: Set up ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- name: Set up database
run: |
cd spec/rails_app
bin/rails db:setup
- name: Run tests
run: |
gcloud beta emulators pubsub start --host-port=localhost:8085 --quiet &
curl http://localhost:8085 --silent --retry 30 --retry-delay 1 --retry-connrefused
bin/rspec
conclusion:
needs: tests
if: always() && github.event_name == 'pull_request'
runs-on: ubuntu-latest
steps:
- name: Check tests result
run: |
if [[ ${{ needs.tests.result }} == 'success' ]]; then
echo "All tests passed!"
else
echo "Some tests failed!"
exit 1
fi