---
# Continuous Integration Workflow: Test case suite run + validation build check
name: CI

# Controls when the action will run.
# Triggers the workflow on push or pull request events but only for the master branch
on:
  push:
    branches: [ master ]
  pull_request:
    branches: [ master ]

jobs:
  # Job: Unit test suite
  unit-tests:
    name: "Unit Tests"
    runs-on: ubuntu-latest
    strategy:
      matrix:
        ruby: ['2.7', '3.0', '3.1', '3.2']
    steps:
      # Install Ruby Testing Tools
      - name: Setup Ruby Testing Tools
        run: |
          sudo gem install rspec
          sudo gem install rubocop -v 1.57.2

      # Checks out repository under $GITHUB_WORKSPACE
      - name: Checkout Latest Repo
        uses: actions/checkout@v2

      # Run Tests
      - name: Run All Unit Tests
        run: |
          cd test && rake ci
