From 6cb6185fcf4abbcf814d7f1a770fd9fec15ca783 Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Sun, 7 Apr 2024 18:00:57 -0700 Subject: [PATCH 1/5] Move legacy Ruby builds from CircleCI to GitHub Actions --- .circleci/config.yml | 42 ---------------------------------------- .github/workflows/ci.yml | 39 +++++++++++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+), 42 deletions(-) create mode 100644 .github/workflows/ci.yml diff --git a/.circleci/config.yml b/.circleci/config.yml index 880020e..b2db890 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -61,29 +61,6 @@ jobs: - bundle_install: key: << parameters.ruby >> - run: bundle exec rake test - spec_legacy_ruby: - parameters: - ruby: - description: "Ruby version number" - default: "1.9" - type: string - sshkit: - description: "sshkit version number" - default: "1.6.1" - type: string - executor: - name: ruby - version: << parameters.ruby >> - steps: - - checkout - - run: | - echo "export sshkit=<< parameters.sshkit >>" >> $BASH_ENV - if [ "<< parameters.ruby >>" == "1.9" ]; then - echo "export RUBYOPT=-Ku" >> $BASH_ENV - fi - - bundle_install: - key: << parameters.ruby >>-<< parameters.sshkit >> - - run: bundle exec rake test workflows: version: 2 @@ -102,31 +79,12 @@ workflows: - "3.1" - "3.2" - "3.3" - - spec_legacy_ruby: - matrix: &legacy_ruby_matrix - parameters: - ruby: - - "1.9" - - "2.0" - - "2.1" - - "2.2" - - "2.3" - sshkit: - - "1.6.1" - - "1.7.1" - - master - exclude: - - ruby: "1.9" - sshkit: master cron-workflow: jobs: - rubocop - spec: matrix: <<: *matrix - - spec_legacy_ruby: - matrix: - <<: *legacy_ruby_matrix triggers: - schedule: cron: "0 13 * * 6" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..24569de --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,39 @@ +name: CI +on: + pull_request: + push: + branches: + - main +jobs: + spec_legacy_ruby_19: + name: "Test / Ruby 1.9 / SSHKit ${{ matrix.sshkit }}" + runs-on: ubuntu-20.04 + strategy: + matrix: + sshkit: ["1.6.1", "1.7.1"] + env: + sshkit: ${{ matrix.sshkit }} + RUBYOPT: "-Ku" + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: "1.9" + bundler-cache: true + - run: bundle exec rake test + spec_legacy_ruby: + name: "Test / Ruby ${{ matrix.ruby }} / SSHKit ${{ matrix.sshkit }}" + runs-on: ubuntu-20.04 + strategy: + matrix: + ruby: ["2.0", "2.0", "2.1", "2.2", "2.3"] + sshkit: ["1.6.1", "1.7.1", "master"] + env: + sshkit: ${{ matrix.sshkit }} + steps: + - uses: actions/checkout@v4 + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + - run: bundle exec rake test From 87aa5cb3bab32e4ce33879377e789e0bf38de4a5 Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Sun, 7 Apr 2024 18:07:38 -0700 Subject: [PATCH 2/5] Bump rubygems version --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 24569de..0b541f9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,6 +19,7 @@ jobs: - uses: ruby/setup-ruby@v1 with: ruby-version: "1.9" + rubygems: "2.6.9" bundler-cache: true - run: bundle exec rake test spec_legacy_ruby: From 00f15ec2e0a0a2111015db8fbd95a47a674978bf Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Sun, 7 Apr 2024 18:11:48 -0700 Subject: [PATCH 3/5] Explictly specify Bundler version --- .github/workflows/ci.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0b541f9..aa560d6 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,7 @@ jobs: with: ruby-version: "1.9" rubygems: "2.6.9" + bundler: "1.17.3" bundler-cache: true - run: bundle exec rake test spec_legacy_ruby: @@ -36,5 +37,6 @@ jobs: - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} + bundler: "1.17.3" bundler-cache: true - run: bundle exec rake test From 027f65d7e3702ad7ecae74e5f2eebe73d8e54a34 Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Sun, 7 Apr 2024 18:12:29 -0700 Subject: [PATCH 4/5] Handle nil IO.console value --- lib/airbrussh/console.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/airbrussh/console.rb b/lib/airbrussh/console.rb index 3da1e81..5394ea7 100644 --- a/lib/airbrussh/console.rb +++ b/lib/airbrussh/console.rb @@ -62,7 +62,7 @@ def strip_ascii_color(string) def console_width width = case (truncate = config.truncate) when :auto - IO.console.winsize.last if @output.tty? + IO.console.winsize.last if @output.tty? && IO.console when Integer truncate end From 9a1bfdf9a77eb45d4e18ba85b2bed21239268986 Mon Sep 17 00:00:00 2001 From: Matt Brictson Date: Sun, 7 Apr 2024 18:39:27 -0700 Subject: [PATCH 5/5] Roll up all matrix results into 1 spec_legacy_ruby_all job --- .github/workflows/ci.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index aa560d6..ebe4a31 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -40,3 +40,15 @@ jobs: bundler: "1.17.3" bundler-cache: true - run: bundle exec rake test + spec_all: + name: "Test / Ruby (All)" + runs-on: ubuntu-latest + needs: [spec_legacy_ruby, spec_legacy_ruby_19] + if: always() + steps: + - name: All tests ok + if: ${{ !(contains(needs.*.result, 'failure')) }} + run: exit 0 + - name: Some tests failed + if: ${{ contains(needs.*.result, 'failure') }} + run: exit 1