From 02eefab94f6c2c7189baeb57a8cb21ef289ace01 Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Thu, 1 Jan 2026 18:24:21 -0800 Subject: [PATCH 1/2] Update to Ruby 4.0.0 --- .circleci/config.yml | 13 ++++++------- .ruby-version | 2 +- Gemfile.lock | 3 ++- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 097f9fb..57a94a5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -4,7 +4,7 @@ executors: parameters: version: description: "Ruby version number" - default: "3.4.1" + default: "4.0.0" type: string docker: - image: cimg/ruby:<< parameters.version >> @@ -15,7 +15,7 @@ commands: parameters: version: description: "Ruby version number" - default: "3.4.1" + default: "4.0.0" type: string steps: - restore_cache: @@ -24,9 +24,8 @@ commands: - run: name: Install Ruby Dependencies command: | - gem install bundler -v 2.6.2 --conservative --no-document bundle config --local path vendor/bundle - bundle check || (bundle install --jobs=4 --retry=3 && bundle clean) + bundle check || (bundle install --jobs=8 --retry=3 && bundle clean) - save_cache: paths: - ./vendor/bundle @@ -44,7 +43,7 @@ jobs: parameters: version: description: "Ruby version number" - default: "3.4.1" + default: "4.0.0" type: string executor: name: ruby @@ -65,14 +64,14 @@ workflows: - test: matrix: parameters: - version: ["3.2.6", "3.3.6", "3.4.1"] + version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"] cron-workflow: jobs: - rubocop - test: matrix: parameters: - version: ["3.2.6", "3.3.6", "3.4.1"] + version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"] triggers: - schedule: cron: "0 13 * * 6" diff --git a/.ruby-version b/.ruby-version index 47b322c..fcdb2e1 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -3.4.1 +4.0.0 diff --git a/Gemfile.lock b/Gemfile.lock index 5fab1dc..ff21c8f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -70,6 +70,7 @@ PLATFORMS arm64-darwin-22 arm64-darwin-23 arm64-darwin-24 + arm64-darwin-25 x86_64-linux DEPENDENCIES @@ -86,4 +87,4 @@ DEPENDENCIES wordexp! BUNDLED WITH - 2.6.2 + 4.0.3 From 33f7bdbacbfe0c327059dd152f1a7b6edaac86bd Mon Sep 17 00:00:00 2001 From: Sami Samhuri Date: Fri, 2 Jan 2026 12:05:49 -0800 Subject: [PATCH 2/2] Replace CirclceCI with GitHub Actions --- .circleci/config.yml | 81 ---------------------------------------- .github/workflows/ci.yml | 53 ++++++++++++++++++++++++++ 2 files changed, 53 insertions(+), 81 deletions(-) delete mode 100644 .circleci/config.yml create mode 100644 .github/workflows/ci.yml diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index 57a94a5..0000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,81 +0,0 @@ -version: 2.1 -executors: - ruby: - parameters: - version: - description: "Ruby version number" - default: "4.0.0" - type: string - docker: - - image: cimg/ruby:<< parameters.version >> - -commands: - bundle_install: - description: Install Ruby dependencies with Bundler - parameters: - version: - description: "Ruby version number" - default: "4.0.0" - type: string - steps: - - restore_cache: - keys: - - bundle-v1-{{ arch }}-<< parameters.version >> - - run: - name: Install Ruby Dependencies - command: | - bundle config --local path vendor/bundle - bundle check || (bundle install --jobs=8 --retry=3 && bundle clean) - - save_cache: - paths: - - ./vendor/bundle - key: bundle-v1-{{ arch }}-<< parameters.version >>-{{ checksum "Gemfile.lock" }} - -jobs: - rubocop: - executor: ruby - steps: - - checkout - - bundle_install - - run: bundle exec rubocop - - test: - parameters: - version: - description: "Ruby version number" - default: "4.0.0" - type: string - executor: - name: ruby - version: << parameters.version >> - steps: - - checkout - - bundle_install: - version: << parameters.version >> - - run: bundle exec rake test - - store_test_results: - path: ./reports - -workflows: - version: 2 - commit-workflow: - jobs: - - rubocop - - test: - matrix: - parameters: - version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"] - cron-workflow: - jobs: - - rubocop - - test: - matrix: - parameters: - version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"] - triggers: - - schedule: - cron: "0 13 * * 6" - filters: - branches: - only: - - main diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..c356f6c --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,53 @@ +name: CI + +on: + push: + branches: + - main + pull_request: + +jobs: + rubocop: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 4.0.0 + - name: Cache Ruby gems + uses: actions/cache@v3 + with: + path: vendor/bundle + key: ${{ runner.os }}-bundle-4.0.0-${{ hashFiles('Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-bundle-4.0.0- + - name: Install dependencies + run: | + bundle config set --local path vendor/bundle + bundle install --jobs 8 --retry 3 + - name: Run RuboCop + run: bundle exec rubocop + + test: + runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ["3.2.9", "3.3.10", "3.4.8", "4.0.0"] + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + - name: Cache Ruby gems + uses: actions/cache@v3 + with: + path: vendor/bundle + key: ${{ runner.os }}-bundle-${{ matrix.ruby-version }}-${{ hashFiles('Gemfile.lock') }} + restore-keys: | + ${{ runner.os }}-bundle-${{ matrix.ruby-version }}- + - name: Install dependencies + run: | + bundle config set --local path vendor/bundle + bundle install --jobs 8 --retry 3 + - name: Run tests + run: bundle exec rake test