From ab687d244da1f646371cde30edb7d6ad7ea877de Mon Sep 17 00:00:00 2001 From: Ajay Krishnan Date: Wed, 20 May 2026 06:45:57 -0700 Subject: [PATCH] Add GitHub Actions CI workflow Same pattern as opencode-ruby's CI. Workflow runs test suite + gem build + post-install smoke load on Ruby 3.2 / 3.3 / 3.4. Note: the 'Verify gem loads after install' step depends on opencode-ruby being resolvable. Once both gems are on rubygems.org the runtime_dependency resolves automatically; until then, contributors who want to run the full workflow locally need to either install opencode-ruby first or rely on the existing 'bundle exec rake test' step (which uses the Gemfile-resolved dep, not the gem-spec-resolved one). --- .github/workflows/test.yml | 39 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 .github/workflows/test.yml 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'