name: Service Skeleton Tests on: pull_request: push: branches: - master tags: - v* jobs: build: runs-on: ubuntu-latest name: Ruby ${{ matrix.ruby }} strategy: matrix: ruby: ["2.5", "2.6", "2.7"] steps: - uses: actions/checkout@v2 with: fetch-depth: 0 # Fetch all history. Needed for `git describe` - uses: actions/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: Bundler cache uses: actions/cache@v2 with: path: vendor/bundle key: ${{ runner.os }}-${{ matrix.ruby }}-gems-${{ hashFiles('**/Gemfile.lock') }} restore-keys: | ${{ runner.os }}-${{ matrix.ruby }}-gems- - name: Setup gems run: | gem install bundler bundle config path vendor/bundle bundle install --jobs 4 - name: Rubocop run: bundle exec rubocop - name: Tests run: bundle exec rspec - name: Ultravisor Tests run: bundle exec rspec ultravisor/spec publish: if: contains(github.ref, 'refs/tags/v') needs: build runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Release Gem uses: CvX/publish-rubygems-action@master env: RUBYGEMS_API_KEY: ${{secrets.RUBYGEMS_API_KEY}}