Skip to content

Merge pull request #627 from fog/fix-concurrency #58

Merge pull request #627 from fog/fix-concurrency

Merge pull request #627 from fog/fix-concurrency #58

# SQL tests are carried own in its' own job as they're extremely heavy so there
# is no need to run them if SQL code or deps haven't changed and you cannot
# trigger jobs based on file changes in the same workflow.
# See: https://github.com/actions/runner/issues/456
name: integration-tests-pubsub
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
types: [ assigned, opened, synchronize, reopened, labeled ]
# Only run integration tests if relevant code or deps have changed
paths:
# Module-specific paths
- 'lib/fog/google/pubsub.rb'
- 'lib/fog/google/pubsub/**'
- 'test/integration/pubsub/**'
# Common deps & shared paths
- 'fog-google.gemspec'
- 'lib/fog/bin/google.rb'
- 'lib/fog/google/shared.rb'
- 'lib/fog/google.rb'
# Trigger workflow on version upgrade
- 'lib/fog/google/version.rb'
# Trigger when workflow itself is updated
- '.github/workflows/integration-pubsub.yml'
# Setting hard concurrency limit for the project due to cleanup
# TODO(fog-google#626): remove this once cleanup is fixed
concurrency:
group: ${{ github.workflow }}
cancel-in-progress: false
jobs:
test:
runs-on: fog-arc-runner
strategy:
matrix:
ruby-version: [ '3.0', '3.1', '3.2' ]
# Integration tests from the same task cannot run in parallel yet due to cleanup
max-parallel: 1
steps:
- uses: actions/checkout@v4
- name: Set up Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Run tests
run: >-
./.github/scripts/setup_creds.sh &&
bundle exec rake test:pubsub