Sha256: 8d33a4a8d9402e604f9ee65daeb9b6718de06f99108c6cf2704827880ebee8b9

Contents?: true

Size: 1.69 KB

Versions: 6

Compression:

Stored size: 1.69 KB

Contents

name: Ruby Gem CI/CD

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]
  release:
    types: [created]

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3']

    steps:
      - uses: actions/checkout@v2

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: ${{ matrix.ruby-version }}

      - name: Install Bundler for Ruby < 3.0
        if: ${{ matrix.ruby-version < '3.0' }}
        run: gem install bundler -v 2.4.22 --no-document

      - name: Install Bundler for Ruby >= 3.0
        if: ${{ matrix.ruby-version >= '3.0' }}
        run: gem install bundler -v '~> 2.5' --no-document

      - name: Install dependencies
        run: bundle install --jobs 4 --retry 3

      - name: Run tests and linting
        run: bundle exec rake

      - name: Upload coverage reports to Codecov
        uses: codecov/codecov-action@v4.0.1
        with:
          token: ${{ secrets.CODECOV_TOKEN }}
          file: ./coverage/.resultset.json
          fail_ci_if_error: false

  publish:
    needs: build
    runs-on: ubuntu-latest
    if: startsWith(github.ref, 'refs/tags/v')
    steps:
      - uses: actions/checkout@v2

      - name: Set up Ruby for publish
        uses: ruby/setup-ruby@v1
        with:
          ruby-version: '3.3'

      - name: Install dependencies
        run: |
          gem install bundler --no-document
          bundle install --jobs 4 --retry 3

      - name: Build gem
        run: |
          gem build *.gemspec

      - name: Push gem to RubyGems
        run: |
          gem push *.gem
        env:
          GEM_HOST_API_KEY: ${{secrets.GEM_HOST_API_KEY}}

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
sms_traffic_sdk-0.0.7 .github/workflows/ci.yml
sms_traffic_sdk-0.0.6 .github/workflows/ci.yml
sms_traffic_sdk-0.0.5 .github/workflows/ci.yml
sms_traffic_sdk-0.0.4 .github/workflows/ci.yml
sms_traffic_sdk-0.0.3 .github/workflows/ci.yml
sms_traffic_sdk-0.0.2 .github/workflows/ci.yml