diff --git a/.github/workflows/linting.yml b/.github/workflows/linting.yml new file mode 100644 index 0000000..7e14aee --- /dev/null +++ b/.github/workflows/linting.yml @@ -0,0 +1,30 @@ +name: Linting + +on: + pull_request: + push: + branches: + - master + +permissions: + contents: read + +jobs: + linting: + runs-on: ubuntu-latest + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Ruby and install dependencies + uses: ruby/setup-ruby@v1 + with: + # uses .ruby-version implicitly + bundler-cache: true + + - name: Lint Ruby code + run: bundle exec rubocop + + - name: Lint YAML + run: yamllint . diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..6a0df08 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,40 @@ +name: Tests + +on: + pull_request: + +permissions: + contents: read + +jobs: + tests: + strategy: + matrix: + # test a range of Ruby to ensure gem works + # keep ruby until EOL. Read more on https://endoflife.date/ruby + ruby-version: + - 3.0 + - 3.1 + - 3.2 + - 3.3 + - head + # test distributions up to 4 years + runner: + - ubuntu-22.04 + - ubuntu-20.04 + fail-fast: false # allows contributors understand failure builds + + runs-on: ${{ matrix.runner }} + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Ruby and install dependencies + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Run tests + run: bundle exec rake spec