From dd50cc1fc2cb8c9a2193562b9b81f2a103b6729e Mon Sep 17 00:00:00 2001 From: Akinori MUSHA Date: Mon, 28 Oct 2024 23:10:00 +0900 Subject: [PATCH] Update gems and switch Travis CI to GitHub Actions in the template --- .github/workflows/ci.yml | 67 +++++++++++++++++++ .travis.yml | 6 -- huginn_agent.gemspec | 12 ++-- .../newagent/.github/workflows/ci.yml.tt | 67 +++++++++++++++++++ .../templates/newagent/newagent.gemspec.tt | 4 +- .../templates/newagent/travis.yml.tt | 13 ---- 6 files changed, 142 insertions(+), 27 deletions(-) create mode 100644 .github/workflows/ci.yml delete mode 100644 .travis.yml create mode 100644 lib/huginn_agent/templates/newagent/.github/workflows/ci.yml.tt delete mode 100644 lib/huginn_agent/templates/newagent/travis.yml.tt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..a401099 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,67 @@ +name: CI + +on: + push: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + run-tests: + name: ${{ matrix.os }} ruby-${{ matrix.ruby }} ${{ matrix.database_adapter }} + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + database_adapter: + - mysql2 + - postgresql + ruby: + - "3.2" + env: + DATABASE_ADAPTER: ${{ matrix.database_adapter }} + DATABASE_HOST: "127.0.0.1" + DATABASE_USERNAME: root + DATABASE_PASSWORD: password + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: >- + --health-cmd "mysqladmin ping" + --health-interval 10s + --health-timeout 5s + --health-retries 3 + postgres: + image: postgres:latest + env: + POSTGRES_USER: root + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 3 + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + rubygems: latest + bundler: latest + bundler-cache: true + + - name: Set up database + run: bundle exec rake db:create db:migrate + + - name: Run tests + run: bundle exec rake diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index ff0fb82..0000000 --- a/.travis.yml +++ /dev/null @@ -1,6 +0,0 @@ -language: ruby -rvm: - - 2.3.8 - - 2.4.9 - - 2.5.7 - - 2.6.5 diff --git a/huginn_agent.gemspec b/huginn_agent.gemspec index 6888db7..225cd6e 100644 --- a/huginn_agent.gemspec +++ b/huginn_agent.gemspec @@ -19,10 +19,10 @@ Gem::Specification.new do |spec| spec.require_paths = ["lib"] spec.add_runtime_dependency 'thor' - spec.add_development_dependency "bundler", "~> 1.7" - spec.add_development_dependency "rake", "~> 10.0" - spec.add_development_dependency "rspec", "~> 3.4" - spec.add_development_dependency "simplecov", "~> 0.11.2" - spec.add_development_dependency "guard", "~> 2.13.0" - spec.add_development_dependency "guard-rspec", "~> 4.6.5" + spec.add_development_dependency "bundler", "~> 2.5" + spec.add_development_dependency "rake", ">= 12.3.3" + spec.add_development_dependency "rspec", "~> 3.12" + spec.add_development_dependency "simplecov", "~> 0.12" + spec.add_development_dependency "guard", "~> 2.18" + spec.add_development_dependency "guard-rspec", "~> 4.7" end diff --git a/lib/huginn_agent/templates/newagent/.github/workflows/ci.yml.tt b/lib/huginn_agent/templates/newagent/.github/workflows/ci.yml.tt new file mode 100644 index 0000000..a401099 --- /dev/null +++ b/lib/huginn_agent/templates/newagent/.github/workflows/ci.yml.tt @@ -0,0 +1,67 @@ +name: CI + +on: + push: + pull_request: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + +jobs: + run-tests: + name: ${{ matrix.os }} ruby-${{ matrix.ruby }} ${{ matrix.database_adapter }} + runs-on: ubuntu-20.04 + strategy: + fail-fast: false + matrix: + database_adapter: + - mysql2 + - postgresql + ruby: + - "3.2" + env: + DATABASE_ADAPTER: ${{ matrix.database_adapter }} + DATABASE_HOST: "127.0.0.1" + DATABASE_USERNAME: root + DATABASE_PASSWORD: password + services: + mysql: + image: mysql:latest + env: + MYSQL_ROOT_PASSWORD: password + ports: + - 3306:3306 + options: >- + --health-cmd "mysqladmin ping" + --health-interval 10s + --health-timeout 5s + --health-retries 3 + postgres: + image: postgres:latest + env: + POSTGRES_USER: root + POSTGRES_PASSWORD: password + ports: + - 5432:5432 + options: >- + --health-cmd pg_isready + --health-interval 10s + --health-timeout 5s + --health-retries 3 + steps: + - uses: actions/checkout@v4 + + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + rubygems: latest + bundler: latest + bundler-cache: true + + - name: Set up database + run: bundle exec rake db:create db:migrate + + - name: Run tests + run: bundle exec rake diff --git a/lib/huginn_agent/templates/newagent/newagent.gemspec.tt b/lib/huginn_agent/templates/newagent/newagent.gemspec.tt index ee1de6e..0ed2ba1 100644 --- a/lib/huginn_agent/templates/newagent/newagent.gemspec.tt +++ b/lib/huginn_agent/templates/newagent/newagent.gemspec.tt @@ -21,8 +21,8 @@ Gem::Specification.new do |spec| spec.test_files = Dir['spec/**/*.rb'].reject { |f| f[%r{^spec/huginn}] } spec.require_paths = ["lib"] - spec.add_development_dependency "bundler", "~> 1.7" - spec.add_development_dependency "rake", "~> 10.0" + spec.add_development_dependency "bundler", "~> 2.5" + spec.add_development_dependency "rake", ">= 12.3.3" spec.add_runtime_dependency "huginn_agent" end diff --git a/lib/huginn_agent/templates/newagent/travis.yml.tt b/lib/huginn_agent/templates/newagent/travis.yml.tt deleted file mode 100644 index 2ffea26..0000000 --- a/lib/huginn_agent/templates/newagent/travis.yml.tt +++ /dev/null @@ -1,13 +0,0 @@ -sudo: false -language: ruby -env: - global: - - APP_SECRET_TOKEN=b2724973fd81c2f4ac0f92ac48eb3f0152c4a11824c122bcf783419a4c51d8b9bba81c8ba6a66c7de599677c7f486242cf819775c433908e77c739c5c8ae118d - matrix: - - DATABASE_ADAPTER=mysql2 - - DATABASE_ADAPTER=postgresql DATABASE_USERNAME=postgres -rvm: -- 2.2.2 -- 2.3.0 -cache: bundler -script: bundle exec rake