From e2f19d986d6c192a9b36fccb528a3fc2d2814720 Mon Sep 17 00:00:00 2001 From: Ben Fritsch Date: Wed, 22 Apr 2026 10:32:06 +0200 Subject: [PATCH 1/4] migrate from TravisCI to GitHub Actions --- .github/workflows/ci.yml | 24 ++++++++++++++++++++++++ .travis.yml | 6 ------ README.md | 2 +- 3 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..85a5489 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,24 @@ +name: CI + +on: + push: + +jobs: + test: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + ruby-version: ['3.1', '3.2', '3.3', '3.4', '4.0'] + + steps: + - uses: actions/checkout@v6 + + - name: Set up Ruby ${{ matrix.ruby-version }} + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Run tests + run: bundle exec rake diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index f4c91b0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -sudo: false -language: ruby -rvm: - - 2.1.10 - - 2.2.6 - - 2.3.3 diff --git a/README.md b/README.md index 6c4b487..9dc9835 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Build Status](https://travis-ci.org/interagent/heroics.png?branch=master)](https://travis-ci.org/interagent/heroics) +[![CI](https://github.com/interagent/heroics/actions/workflows/ci.yml/badge.svg)](https://github.com/interagent/heroics/actions/workflows/ci.yml) # Heroics Ruby HTTP client generator for APIs represented with JSON schema. From 2184f8cdba95604c1b393efd63c4a20293487923 Mon Sep 17 00:00:00 2001 From: Ben Fritsch Date: Wed, 22 Apr 2026 10:32:15 +0200 Subject: [PATCH 2/4] update actions/checkout --- .github/workflows/check_changelog.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/check_changelog.yml b/.github/workflows/check_changelog.yml index 64f4f2b..880901c 100644 --- a/.github/workflows/check_changelog.yml +++ b/.github/workflows/check_changelog.yml @@ -6,7 +6,9 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v1 + - uses: actions/checkout@v6 + with: + fetch-depth: 0 - name: Check that CHANGELOG is touched run: | cat $GITHUB_EVENT_PATH | jq .pull_request.title | grep -i '\[\(\(changelog skip\)\|\(ci skip\)\)\]' || git diff remotes/origin/${{ github.base_ref }} --name-only | grep CHANGELOG.md From 91e8c7b328542b9ed921e2fc798ffffab73955c3 Mon Sep 17 00:00:00 2001 From: Ben Fritsch Date: Wed, 22 Apr 2026 10:43:42 +0200 Subject: [PATCH 3/4] update test for new library/ruby behavior --- test/client_test.rb | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/test/client_test.rb b/test/client_test.rb index ec4a142..d6e213a 100644 --- a/test/client_test.rb +++ b/test/client_test.rb @@ -20,9 +20,7 @@ def test_invalid_resource error = assert_raises NoMethodError do client.unknown end - assert_equal("undefined method `unknown' for " + - '#', - error.message) + assert_match(/undefined method `unknown' for #/, error.message) end # Client.. finds the appropriate link and invokes it. @@ -55,7 +53,7 @@ def test_resource_with_query_param client = Heroics::Client.new({'resource' => resource}, 'http://example.com') Excon.stub(method: :get) do |request| - assert_equal({:limit => '50', :page => '25'}, request[:query]) + assert_equal("limit=50&page=25", request[:query]) Excon.stubs.pop {status: 200, body: 'Hello, world!'} end From 7e42eb71e20ff3d89aefae7455d6f144875a7da1 Mon Sep 17 00:00:00 2001 From: Ben Fritsch Date: Wed, 22 Apr 2026 10:45:13 +0200 Subject: [PATCH 4/4] update CHANGELOG --- CHANGELOG.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8555a70..9eed59d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,8 @@ -## 0.1.3 +## HEAD (unreleased) + +- Migrate from TravisCI to GitHub Actions + +- ## 0.1.3 - Fix `base64` deprecation warning for Ruby 3.4 (https://github.com/interagent/heroics/pull/107)