diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..907b884 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,39 @@ +name: Test + +on: + push: + branches: [main] + pull_request: + branches: [main] + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby: ["3.2", "3.3", "3.4"] + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby ${{ matrix.ruby }} + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + + - name: Run tests + run: bundle exec rake test + + - name: Build gem + run: gem build opencode-rails.gemspec + + - name: Verify gem loads after install + # opencode-rails depends on opencode-ruby; until both gems + # are on rubygems.org, the install step here will only resolve + # if opencode-ruby has been pre-installed or is reachable. + # When the gems do publish, the runtime_dependency on + # opencode-ruby will Just Work via rubygems. + run: | + gem install --local opencode-rails-*.gem --conservative + ruby -ropencode-rails -e 'puts Opencode::RAILS_VERSION'