name: Test on: push: branches: - '**' schedule: - cron: '0 0 * * MON' concurrency: group: '${{ github.ref }}' cancel-in-progress: true jobs: test: name: 'Test the gem (Ruby ${{ matrix.ruby }}, Rails ${{ matrix.rails }})' runs-on: ubuntu-20.04 timeout-minutes: 5 strategy: fail-fast: false matrix: ruby: [2.4, 2.5, 2.6] rails: ['5.0', 5.1, 5.2] env: BUNDLE_GEMFILE: 'gemfiles/rails_${{ matrix.rails }}.gemfile' steps: - uses: actions/checkout@v2 - name: Install the correct Ruby version uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Prepare the virtual environment uses: hausgold/actions/ci@master with: clone_token: '${{ secrets.CLONE_TOKEN }}' settings: '${{ github.repository }}' target: ci/gem-test - name: Run the gem tests run: make test - name: Upload the code coverage report run: coverage trigger-docs: name: Trigger the documentation upload runs-on: ubuntu-20.04 timeout-minutes: 2 needs: test if: github.ref == 'refs/heads/master' steps: - name: Prepare the virtual environment uses: hausgold/actions/ci@master with: clone_token: '${{ secrets.CLONE_TOKEN }}' settings: '${{ github.repository }}' target: ci/noop - name: Trigger the documentation upload run: workflow documentation