name: CI on: pull_request: push: branches: - main jobs: build: runs-on: ubuntu-latest strategy: matrix: ruby: - "3.1" - "3.2" - "3.3" steps: - uses: actions/checkout@v4 - name: Setup ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Lint run: bundle exec rubocop - name: syntax_tree run: | bundle exec stree check Gemfile $(git ls-files '*.rb') $(git ls-files '*.rake') $(git ls-files '*.thor') - name: Tests run: bundle exec rake test publish: if: github.event_name == 'push' && github.ref == 'refs/heads/main' needs: 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