From 4b276f629b0c9f426e14197ac8cf6b2c4eb8d993 Mon Sep 17 00:00:00 2001 From: Vinicius Stock Date: Tue, 8 Aug 2023 16:47:17 -0400 Subject: [PATCH] Add CI matrix --- .github/workflows/ci.yml | 15 +++++++++++++-- Gemfile | 5 +++-- Gemfile.lock | 26 ++++++++++++++++++-------- 3 files changed, 34 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 45c8af96..2f9ef652 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,19 +5,30 @@ on: [push, pull_request] jobs: test: - runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + ruby: ["3.0", "3.1", "3.2", "head"] + include: + - ruby: "head" + experimental: true + runs-on: ${{ matrix.os }} + continue-on-error: ${{ !!matrix.experimental }} + name: Ruby ${{ matrix.ruby }} on ${{ matrix.os }} steps: - uses: actions/checkout@v3 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: - ruby-version: '3.2' + ruby-version: ${{ matrix.ruby }} bundler-cache: true - name: Check if documentation is up to date run: bundle exec rake ruby_lsp:check_docs - name: Typecheck + if: matrix.os != 'windows-latest' run: bundle exec srb tc - name: Lint Ruby files diff --git a/Gemfile b/Gemfile index a4d2f62c..b631d24a 100644 --- a/Gemfile +++ b/Gemfile @@ -15,5 +15,6 @@ gem "rubocop-minitest", "~> 0.31.0", require: false gem "rubocop-rake", "~> 0.6.0", require: false gem "rubocop-sorbet", "~> 0.7", require: false gem "rdoc", require: false -gem "sorbet-static-and-runtime" -gem "tapioca", "~> 0.11", require: false +gem "sorbet-static-and-runtime", platforms: :ruby +gem "tapioca", "~> 0.11", require: false, platforms: :ruby +gem "psych", "~> 5.1", require: false diff --git a/Gemfile.lock b/Gemfile.lock index b38ae481..1c11c804 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -104,6 +104,7 @@ GEM marcel (1.0.2) method_source (1.0.0) mini_mime (1.1.2) + mini_portile2 (2.8.4) minitest (5.18.1) mocha (2.1.0) ruby2_keywords (>= 0.0.5) @@ -118,9 +119,8 @@ GEM net-protocol netrc (0.11.0) nio4r (2.5.9) - nokogiri (1.15.2-arm64-darwin) - racc (~> 1.4) - nokogiri (1.15.2-x86_64-linux) + nokogiri (1.15.3) + mini_portile2 (~> 2.8.2) racc (~> 1.4) parallel (1.23.0) parser (3.2.2.3) @@ -206,6 +206,13 @@ GEM sorbet (0.5.10950) sorbet-static (= 0.5.10950) sorbet-runtime (0.5.10950) + sorbet-static (0.5.10950-universal-darwin-14) + sorbet-static (0.5.10950-universal-darwin-15) + sorbet-static (0.5.10950-universal-darwin-16) + sorbet-static (0.5.10950-universal-darwin-17) + sorbet-static (0.5.10950-universal-darwin-18) + sorbet-static (0.5.10950-universal-darwin-19) + sorbet-static (0.5.10950-universal-darwin-20) sorbet-static (0.5.10950-universal-darwin-21) sorbet-static (0.5.10950-universal-darwin-22) sorbet-static (0.5.10950-x86_64-linux) @@ -218,9 +225,9 @@ GEM sorbet-runtime (>= 0.5.9204) syntax_tree (>= 6.1.1) thor (>= 0.19.2) - sqlite3 (1.6.3-arm64-darwin) - sqlite3 (1.6.3-x86_64-linux) - stringio (3.0.6) + sqlite3 (1.6.3) + mini_portile2 (~> 2.8.0) + stringio (3.0.7) syntax_tree (6.1.1) prettier_print (>= 1.2.0) tapioca (0.11.8) @@ -250,13 +257,16 @@ GEM zeitwerk (2.6.8) PLATFORMS - arm64-darwin-21 - arm64-darwin-22 + arm64-darwin + x64-mingw-ucrt + x64-mingw32 + x86_64-darwin x86_64-linux DEPENDENCIES debug (>= 1.7.0) mocha + psych (~> 5.1) puma rdoc rubocop-minitest (~> 0.31.0)