# This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby name: Tests on: push: branches: [ master ] pull_request: branches: [ master ] types: - opened - synchronize - reopened - ready_for_review - labeled - unlabeled jobs: changelog: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - id: read-version run: | echo "::set-output name=VERSION::`cat lib/devise-guests/version.rb | grep -i version | awk '{ print $3 }' | sed -e 's/\"//g'`" - uses: dangoslen/changelog-enforcer@v3 with: skipLabels: 'skip-changelog' expectedLatestVersion: ${{ steps.read-version.outputs.VERSION }} lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: '3.3' bundler-cache: true cache-version: 1 - run: bundle exec standardrb test: needs: - changelog - lint runs-on: ubuntu-latest strategy: matrix: ruby: ['3.0', '3.1', '3.2', '3.3'] steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true # runs 'bundle install' and caches installed gems automatically cache-version: 1 - name: Run tests run: bundle exec rspec