CocoaPods/Xcodeproj

View on GitHub
.github/workflows/Specs.yml

Summary

Maintainability
Test Coverage
name: Specs

jobs:
  specs:
    strategy:
      fail-fast: false
      matrix:
        ruby: ['2.7', '3.0']
        os: [ubuntu-20.04]
        include:
          - os: macos-12
            ruby: system

    name: ${{ matrix.os }} / Ruby ${{ matrix.ruby }}
    runs-on: ${{ matrix.os }}

    steps:
      - name: Set build image var
        run: echo "ImageVersion=$ImageVersion"  >> $GITHUB_ENV

      - name: Checkout git
        uses: actions/checkout@v1

      - name: Set up Ruby
        uses: ruby/setup-ruby@v1
        if: ${{ matrix.ruby != 'system' }}
        with:
          ruby-version: ${{ matrix.ruby }}

      - name: Update git submodules
        run: git submodule update --init

      - uses: actions/cache@v2
        with:
          path: vendor/bundle
          key: gems@v1-${{ matrix.os }}-${{ env.ImageVersion }}-Ruby${{ matrix.ruby }}-${{ hashFiles('Gemfile.lock') }}
          restore-keys: |
            gems@v1-${{ matrix.os }}-${{ env.ImageVersion }}-Ruby${{ matrix.ruby }}-

      - name: Run bundle install
        run: |
          gem install bundler -v "~> 1.17"
          bundle config path vendor/bundle
          bundle install --jobs 4 --retry 3 --without debugging documentation

      - name: Run Tests
        run: bundle exec rake spec:all
        env:
          COCOAPODS_CI_TASKS: SPEC

on:
  push:
    branches:
      - "master"
      - "*-stable"
  pull_request:
    branches:
      - master
      - "*-stable"