From 273234be43a8ae407159db7d4f363e4abc6a713d Mon Sep 17 00:00:00 2001 From: Peter Boling Date: Fri, 30 Aug 2024 20:51:13 -0600 Subject: [PATCH 1/4] Create ruby.yml --- .github/workflows/ruby.yml | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/ruby.yml diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml new file mode 100644 index 00000000..0daea473 --- /dev/null +++ b/.github/workflows/ruby.yml @@ -0,0 +1,38 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. +# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake +# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby + +name: Ruby + +on: + push: + branches: [ "master" ] + pull_request: + branches: [ "master" ] + +permissions: + contents: read + +jobs: + test: + + runs-on: ubuntu-latest + strategy: + matrix: + ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3'] + + steps: + - uses: actions/checkout@v4 + - name: Set up Ruby + # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, + # change this to (see https://github.com/ruby/setup-ruby#versioning): + # uses: ruby/setup-ruby@v1 + uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Run tests + run: bundle exec rake From 7f18279529988cfad85617ee392426c6eee734e6 Mon Sep 17 00:00:00 2001 From: Peter Boling Date: Fri, 30 Aug 2024 20:55:52 -0600 Subject: [PATCH 2/4] =?UTF-8?q?=F0=9F=94=A7=20GH=20Actions:=20dependabot.y?= =?UTF-8?q?ml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/dependabot.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .github/dependabot.yml diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 00000000..46f1c902 --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,13 @@ +version: 2 +updates: + - package-ecosystem: bundler + directory: "/" + schedule: + interval: "daily" + open-pull-requests-limit: 10 + ignore: + - dependency-name: "rubocop-lts" + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" From 90ac58f52e720a5b1b329aba7515fab5bd686a52 Mon Sep 17 00:00:00 2001 From: Peter Boling Date: Tue, 3 Sep 2024 11:55:05 -0600 Subject: [PATCH 3/4] =?UTF-8?q?=F0=9F=94=A7=20Ruby=202.7.8=20for=20develop?= =?UTF-8?q?ment?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .tool-versions | 1 + 1 file changed, 1 insertion(+) create mode 100644 .tool-versions diff --git a/.tool-versions b/.tool-versions new file mode 100644 index 00000000..59511e1d --- /dev/null +++ b/.tool-versions @@ -0,0 +1 @@ +ruby 2.7.8 From d631ba4c36dd9113bbb70af696bc9c8a58b322f4 Mon Sep 17 00:00:00 2001 From: Peter Boling Date: Tue, 3 Sep 2024 11:55:40 -0600 Subject: [PATCH 4/4] =?UTF-8?q?=F0=9F=94=A7=20GH=20Actions:=20unsupported.?= =?UTF-8?q?yml?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/ruby.yml | 38 ---------------------- .github/workflows/unsupported.yml | 52 +++++++++++++++++++++++++++++++ gemfiles/vanilla.gemfile | 9 ++++++ ruby-openid.gemspec | 3 ++ 4 files changed, 64 insertions(+), 38 deletions(-) delete mode 100644 .github/workflows/ruby.yml create mode 100644 .github/workflows/unsupported.yml create mode 100644 gemfiles/vanilla.gemfile diff --git a/.github/workflows/ruby.yml b/.github/workflows/ruby.yml deleted file mode 100644 index 0daea473..00000000 --- a/.github/workflows/ruby.yml +++ /dev/null @@ -1,38 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. -# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake -# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby - -name: Ruby - -on: - push: - branches: [ "master" ] - pull_request: - branches: [ "master" ] - -permissions: - contents: read - -jobs: - test: - - runs-on: ubuntu-latest - strategy: - matrix: - ruby-version: ['2.7', '3.0', '3.1', '3.2', '3.3'] - - steps: - - uses: actions/checkout@v4 - - name: Set up Ruby - # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby, - # change this to (see https://github.com/ruby/setup-ruby#versioning): - # uses: ruby/setup-ruby@v1 - uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0 - with: - ruby-version: ${{ matrix.ruby-version }} - bundler-cache: true # runs 'bundle install' and caches installed gems automatically - - name: Run tests - run: bundle exec rake diff --git a/.github/workflows/unsupported.yml b/.github/workflows/unsupported.yml new file mode 100644 index 00000000..3e13f86d --- /dev/null +++ b/.github/workflows/unsupported.yml @@ -0,0 +1,52 @@ +name: Unsupported (EOL) Ruby Matrix + +on: + push: + branches: + - 'master' + tags: + - '!*' # Do not execute on tags + pull_request: + branches: + - '*' + # Allow manually triggering the workflow. + workflow_dispatch: + +# Cancels all previous workflow runs for the same branch that have not yet completed. +concurrency: + # The concurrency group contains the workflow name and the branch name. + group: "${{ github.workflow }}-${{ github.ref }}" + cancel-in-progress: true + +jobs: + test: + name: Specs - Ruby ${{ matrix.ruby }}${{ matrix.name_extra || '' }} + if: "!contains(github.event.commits[0].message, '[ci skip]') && !contains(github.event.commits[0].message, '[skip ci]')" + env: # $BUNDLE_GEMFILE must be set at the job level, so it is set for all steps + BUNDLE_GEMFILE: ${{ github.workspace }}/gemfiles/${{ matrix.gemfile }}.gemfile + strategy: + fail-fast: false + matrix: + include: + - ruby: "3.0" + rubygems: "3.3.27" + bundler: none + gemfile: vanilla + - ruby: "2.7" + rubygems: "3.3.27" + bundler: none + gemfile: vanilla + runs-on: ubuntu-20.04 + continue-on-error: ${{ matrix.experimental || endsWith(matrix.ruby, 'head') }} + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Setup Ruby & RubyGems + uses: ruby/setup-ruby@v1 + with: + ruby-version: "${{ matrix.ruby }}" + rubygems: "${{ matrix.rubygems }}" + bundler: "${{ matrix.bundler }}" + bundler-cache: true # runs 'bundle install' and caches installed gems automatically + - name: Run tests + run: bundle exec rake test diff --git a/gemfiles/vanilla.gemfile b/gemfiles/vanilla.gemfile new file mode 100644 index 00000000..b45c4e83 --- /dev/null +++ b/gemfiles/vanilla.gemfile @@ -0,0 +1,9 @@ +git_source(:github) { |repo_name| "https://github.com/#{repo_name}" } + +source "https://rubygems.org" + +# Root Gemfile is only for local development only. It is not loaded on CI. +# On CI we only need the gemspecs' dependencies (including development dependencies). +# Exceptions, if any, will be found in gemfiles/*.gemfile + +gemspec path: "../" diff --git a/ruby-openid.gemspec b/ruby-openid.gemspec index c7bb265c..40e48599 100644 --- a/ruby-openid.gemspec +++ b/ruby-openid.gemspec @@ -23,4 +23,7 @@ Gem::Specification.new do |s| s.rdoc_options << '--main' << 'README.md' s.add_development_dependency 'minitest', '>= 5' + s.add_development_dependency 'rake', '>= 13' + s.add_development_dependency 'rexml', '~> 3.2' + s.add_development_dependency 'webrick', '~> 1.8' end