2 Commits

Author SHA1 Message Date
ca08bb36e8 Add trusted gem publishing 2026-07-18 13:32:36 -07:00
a5bd656144 Release opencode-rails alpha6 2026-07-18 13:31:13 -07:00
5 changed files with 42 additions and 2 deletions

23
.github/workflows/release.yml vendored Normal file
View File

@@ -0,0 +1,23 @@
name: Push gem
on:
push:
tags:
- "v*"
jobs:
push:
runs-on: ubuntu-latest
permissions:
contents: write
id-token: write
environment: release
steps:
- uses: actions/checkout@v5
with:
persist-credentials: false
- uses: ruby/setup-ruby@v1
with:
ruby-version: ruby
bundler-cache: true
- uses: rubygems/release-gem@v1

View File

@@ -1,5 +1,14 @@
# Changelog # Changelog
## 0.0.1.alpha6 - 2026-07-18
### Bumped
- Runtime dependency `opencode-ruby` pinned to `= 0.0.1.alpha6`. Rails turns
now establish and validate the OpenCode SSE subscription before submitting
`prompt_async`, and automatic SSE reconnects reopen only the subscription
without replaying the user prompt.
## 0.0.1.alpha5 - 2026-07-15 ## 0.0.1.alpha5 - 2026-07-15
### Bumped ### Bumped

View File

@@ -29,6 +29,14 @@ bundle install
Runtime deps: `activerecord`, `activestorage`, `activesupport` (>= 7.1). Depends on `opencode-ruby` for the underlying HTTP/SSE primitives. Runtime deps: `activerecord`, `activestorage`, `activesupport` (>= 7.1). Depends on `opencode-ruby` for the underlying HTTP/SSE primitives.
During the alpha series both gems are pinned in lockstep. Version 0.0.1.alpha6
uses a subscribe-ready-before-prompt transport contract and reconnects an
accepted turn without posting its prompt again.
Releases use RubyGems trusted publishing. Register `release.yml` as the gem's
trusted publisher (using the `release` environment); after that, a `v*` tag
publishes without a long-lived RubyGems API key.
## Quickstart ## Quickstart
```ruby ```ruby

View File

@@ -11,5 +11,5 @@
# We can't reuse the same constant from a second gem, so we use a # We can't reuse the same constant from a second gem, so we use a
# distinct, non-namespaced constant. # distinct, non-namespaced constant.
module Opencode module Opencode
RAILS_VERSION = "0.0.1.alpha5" RAILS_VERSION = "0.0.1.alpha6"
end end

View File

@@ -37,7 +37,7 @@ Gem::Specification.new do |spec|
# this gem builds on. During alpha both gems evolve in lockstep — we pin # this gem builds on. During alpha both gems evolve in lockstep — we pin
# exactly (= not ~>) so that consumers always pick the version this gem # exactly (= not ~>) so that consumers always pick the version this gem
# was tested against. # was tested against.
spec.add_runtime_dependency "opencode-ruby", "= 0.0.1.alpha5" spec.add_runtime_dependency "opencode-ruby", "= 0.0.1.alpha6"
# Rails sub-libraries used at runtime. Depending on these individually # Rails sub-libraries used at runtime. Depending on these individually
# (instead of the `rails` umbrella) avoids forcing host apps to load # (instead of the `rails` umbrella) avoids forcing host apps to load