Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
27170f6
fix: Use `content_type.mime_type` instead of direct header access (#36)
matt-dutchie Mar 10, 2023
caa0208
build: Update releaser base image (#37)
keelerm84 Mar 13, 2023
709eb2d
Releasing version 2.2.2
Mar 13, 2023
7252000
build: Add Ruby 3.1, 3.2, and JRuby 9.4 to the CI matrix. (#39)
petergoldstein Mar 13, 2023
a6b00df
ci: Replace releaser with release please (#41)
keelerm84 Dec 1, 2023
3de13f4
build: Update version.rb during release process (#42)
keelerm84 Jan 31, 2024
3dd93df
ci: Add SSE contract test support (#25)
eli-darkly Jan 31, 2024
a97391f
chore: Add missing CODEOWNERS file (#45)
keelerm84 Aug 13, 2024
de041bd
ci: Update various github action versions (#44)
keelerm84 Aug 13, 2024
191fd68
fix: Provide thread name for inspection (#46)
yuki24 Mar 7, 2025
455445c
chore(main): release 2.2.3 (#48)
github-actions[bot] Mar 7, 2025
52a9c64
chore: Explicitly provide access to GEM_HOST_API_KEY (#49)
keelerm84 Mar 7, 2025
95185a6
chore: Bump ruby version to support GEM_HOST_API_KEY (#50)
keelerm84 Mar 21, 2025
8be0ccc
fix: Remove rake dependency from gemspec (#53)
Exterm1nate Apr 18, 2025
a74139b
chore(main): release 2.2.4 (#55)
github-actions[bot] Apr 29, 2025
93a9947
fix: Bump minimum to ruby 3.1 (#57)
keelerm84 Jul 14, 2025
ccf79af
fix: Explicitly mark buffer variable as unfrozen (#59)
keelerm84 Jul 14, 2025
ffd0ffa
chore(main): release 2.2.5 (#58)
github-actions[bot] Jul 14, 2025
0e2e80d
fix: Update `force_encoding` to operate on unfrozen string (#60)
keelerm84 Jul 15, 2025
50efb0d
fix: Add `logger` as explicit dependency (#61)
keelerm84 Jul 15, 2025
45e2033
chore(main): release 2.2.6 (#62)
github-actions[bot] Jul 15, 2025
e92c2f8
Add POST/PUT request support and optional parsing features
saada Aug 14, 2025
c4c7774
Add optional SSL verification override
saada Aug 14, 2025
1b09c95
Merge branch 'main' into sync-with-upstream-clean
saada Aug 14, 2025
c0b6061
Fix RuboCop style violation
saada Aug 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 0 additions & 67 deletions .circleci/config.yml

This file was deleted.

53 changes: 53 additions & 0 deletions .github/actions/ci/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: CI Workflow
description: "Shared CI workflow."
inputs:
ruby-version:
description: "The version of ruby to setup and run"
required: true
token:
description: "GH token used to fetch the SDK test harness"
required: true

runs:
using: composite
steps:
- uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ inputs.ruby-version }}

- name: Install dependencies
shell: bash
run: bundle install

- name: Skip end to end tests for jruby
if: ${{ startsWith(inputs.ruby-version, 'jruby') }}
shell: bash
run: echo "LD_SKIP_END_TO_END_HTTP_TESTS='y'" >> $GITHUB_ENV

- name: Run tests
shell: bash
run: bundle exec rspec spec

- name: Run RuboCop
if: ${{ !startsWith(inputs.ruby-version, 'jruby') }}
shell: bash
run: bundle exec rubocop --parallel

- name: Build contract tests
if: ${{ !startsWith(inputs.ruby-version, 'jruby') }}
shell: bash
run: make build-contract-tests

- name: Start contract test service
if: ${{ !startsWith(inputs.ruby-version, 'jruby') }}
shell: bash
run: make start-contract-test-service-bg

- uses: launchdarkly/gh-actions/actions/[email protected]
if: ${{ !startsWith(inputs.ruby-version, 'jruby') }}
with:
test_service_port: 8000
token: ${{ inputs.token }}
repo: sse-contract-tests
branch: main
version: v1
18 changes: 18 additions & 0 deletions .github/actions/publish/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Publish Package
description: 'Publish the package to rubygems'
inputs:
dry_run:
description: 'Is this a dry run. If so no package will be published.'
required: true

runs:
using: composite
steps:
- name: Build gemspec
shell: bash
run: gem build ld-eventsource.gemspec

- name: Publish Library
shell: bash
if: ${{ inputs.dry_run == 'false' }}
run: gem push ld-eventsource-*.gem
34 changes: 34 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Run CI
on:
push:
branches: [main]
paths-ignore:
- "**.md" # Do not need to run CI for markdown changes.
pull_request:
branches: [main]
paths-ignore:
- "**.md"

jobs:
build:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
ruby-version:
- "3.2"
- "3.3"
- "3.4"
- jruby-9.4
- jruby-10.0

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # If you only need the current version keep this.

- uses: ./.github/actions/ci
with:
ruby-version: ${{ matrix.ruby-version }}
token: ${{ secrets.GITHUB_TOKEN }}
12 changes: 12 additions & 0 deletions .github/workflows/lint-pr-title.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: Lint PR title

on:
pull_request_target:
types:
- opened
- edited
- synchronize

jobs:
lint-pr-title:
uses: launchdarkly/gh-actions/.github/workflows/lint-pr-title.yml@main
39 changes: 39 additions & 0 deletions .github/workflows/manual-publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Publish Package
on:
workflow_dispatch:
inputs:
dry_run:
description: "Is this a dry run. If so no package will be published."
type: boolean
required: true

jobs:
build-publish:
runs-on: ubuntu-latest
# Needed to get tokens during publishing.
permissions:
id-token: write
contents: read
steps:
- uses: actions/checkout@v4

- uses: launchdarkly/gh-actions/actions/[email protected]
name: "Get rubygems API key"
with:
aws_assume_role: ${{ vars.AWS_ROLE_ARN }}
ssm_parameter_pairs: "/production/common/releasing/rubygems/api_key = GEM_HOST_API_KEY"

- id: build-and-test
name: Build and Test
uses: ./.github/actions/ci
with:
ruby-version: "3.2"
token: ${{ secrets.GITHUB_TOKEN }}

- id: publish
name: Publish Package
uses: ./.github/actions/publish
with:
dry_run: ${{ inputs.dry_run }}
env:
GEM_HOST_API_KEY: ${{ env.GEM_HOST_API_KEY }}
42 changes: 42 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Run Release Please

on:
push:
branches:
- main

jobs:
release-package:
runs-on: ubuntu-latest
permissions:
id-token: write # Needed if using OIDC to get release secrets.
contents: write # Contents and pull-requests are for release-please to make releases.
pull-requests: write
steps:
- uses: googleapis/release-please-action@v4
id: release

- uses: actions/checkout@v4
if: ${{ steps.release.outputs.releases_created == 'true' }}
with:
fetch-depth: 0 # If you only need the current version keep this.

- uses: launchdarkly/gh-actions/actions/[email protected]
if: ${{ steps.release.outputs.releases_created == 'true' }}
name: "Get rubygems API key"
with:
aws_assume_role: ${{ vars.AWS_ROLE_ARN }}
ssm_parameter_pairs: "/production/common/releasing/rubygems/api_key = GEM_HOST_API_KEY"

- uses: ./.github/actions/ci
if: ${{ steps.release.outputs.releases_created == 'true' }}
with:
ruby-version: "3.2"
token: ${{ secrets.GITHUB_TOKEN }}

- uses: ./.github/actions/publish
if: ${{ steps.release.outputs.releases_created == 'true' }}
with:
dry_run: false
env:
GEM_HOST_API_KEY: ${{ env.GEM_HOST_API_KEY }}
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,3 @@ mkmf.log
rspec
Gemfile.lock
.ruby-version
.idea
22 changes: 0 additions & 22 deletions .ldrelease/config.yml

This file was deleted.

3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "2.2.6"
}
Loading