name: CI on: pull_request: push: branches: - main jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Setup ruby uses: ruby/setup-ruby@v1 with: ruby-version: "3.2" bundler-cache: true - name: Lint run: bundle exec rubocop build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: ruby: - "2.5" - "2.6" - "2.7" - "3.0" - "3.1" - "3.2" steps: - uses: actions/checkout@v4 - name: Setup ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Tests run: bundle exec rake test publish: if: github.event_name == 'push' && github.ref == 'refs/heads/main' needs: [lint, build] runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Release Gem uses: discourse/publish-rubygems-action@v3 env: RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }} GIT_EMAIL: team@discourse.org GIT_NAME: discoursebot