Skip to content

Commit e4dfdf4

Browse files
committed
Add releasing instructions to README
1 parent 197b4ef commit e4dfdf4

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

ruby/README.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,36 @@ rspec-queue --queue redis://example.com --timeout 600 --report
7171

7272
Because of how `ci-queue` executes the examples, `before(:all)` and `after(:all)` hooks are not supported. `rspec-queue` will explicitly reject them.
7373

74+
## Releasing a New Version
75+
76+
After merging changes to `main`, follow these steps to release and propagate the update:
77+
78+
1. **Bump the version** in `ruby/lib/ci/queue/version.rb`:
79+
80+
```ruby
81+
VERSION = '0.XX.0'
82+
```
83+
84+
2. **Update `Gemfile.lock`** by running `bundle install` in the `ruby/` directory (or manually updating the version string in `Gemfile.lock` if native dependencies prevent `bundle install`).
85+
86+
3. **Commit and merge** the version bump to `main`.
87+
88+
4. **Publish the gem** to RubyGems:
89+
90+
```bash
91+
cd ruby
92+
gem build ci-queue.gemspec
93+
gem push ci-queue-0.XX.0.gem
94+
```
95+
96+
5. **Update dependent apps/zones**: Any application that depends on `ci-queue` (e.g. via its `Gemfile`) needs to pick up the new version by running:
97+
98+
```bash
99+
bundle update ci-queue
100+
```
101+
102+
This updates the app's `Gemfile.lock` to reference the new `ci-queue` version. Commit the updated `Gemfile.lock` and deploy.
103+
74104
## Custom Redis Expiry
75105
76106
`ci-queue` expects the Redis server to have an [eviction policy](https://redis.io/docs/manual/eviction/#eviction-policies) of `allkeys-lru`.

0 commit comments

Comments
 (0)