name: CI on: [push, pull_request] jobs: test: runs-on: ubuntu-latest # We want to run on external PRs, but not on our own internal PRs as they'll be run on push event if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != 'umbrellio/umbrellio-sequel-plugins' services: postgres: image: postgres:14 env: POSTGRES_USER: root POSTGRES_HOST_AUTH_METHOD: trust options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 ports: - 5432:5432 env: PGHOST: localhost PGUSER: root strategy: fail-fast: false matrix: ruby: ["3.0", "3.1", "3.2", "3.3"] name: ${{ matrix.ruby }} steps: - uses: actions/checkout@v3 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - run: psql -c 'CREATE DATABASE sequel_plugins' - run: bundle exec rake - uses: coverallsapp/github-action@v1.1.2 with: github-token: ${{ secrets.GITHUB_TOKEN }} release-gem: runs-on: ubuntu-latest environment: Deploy permissions: id-token: write contents: write # Run on push to master branch if: github.event_name == 'push' && github.ref == 'refs/heads/master' steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ruby bundler-cache: true - uses: rubygems/release-gem@v1