diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100755 index d7d20226..00000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,417 +0,0 @@ -version: 2.1 - -orbs: - win: circleci/windows@4.1 - ruby: circleci/ruby@2.0.0 - -commands: - install-ruby-windows: - description: "Install Ruby on Windows" - parameters: - ruby_version: - description: 'version tag for the cimg/ruby container' - type: string - steps: - - run: - name: remove pre-installed ruby - command: | - Get-ChildItem -path 'C:\tools\' -filter Ruby* | Remove-Item -Force -Recurse - - - run: - name: download and install ruby devkit - command: | - $ProgressPreference='SilentlyContinue' - - $uri = 'https://api.github.com/repos/oneclick/rubyinstaller2/tags?per_page=200' - $releases = ((Invoke-WebRequest $uri) | ConvertFrom-Json).name | select-string (-join("RubyInstaller-" , "<< parameters.ruby_version >>" )) - $target_release = (($releases | Sort-Object -Descending)[0] | Out-String).Trim() - $target_version = $target_release.Substring($target_release.Length - 7) - $download_uri = "https://github.com/oneclick/rubyinstaller2/releases/download/RubyInstaller-$target_version/rubyinstaller-devkit-$target_version-x64.exe" - echo "Ruby Target Version Found: $target_version" - - [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - Invoke-WebRequest -UseBasicParsing -uri $download_uri -OutFile C:\ruby-setup.exe - - echo "Download finished, starting installation of $target_version" - C:\ruby-setup.exe /VERYSILENT /NORESTART /ALLUSERS /DIR=C:/Ruby<< parameters.ruby_version >>-x64 - - - run: - name: ruby diagnostics - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - echo "Perl Version:" - perl --version - echo "Ruby Version:" - ruby --version - echo "Gem Version:" - gem --version - - - run: - name: install bundler - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - gem install bundler -v 2.3.26 - -jobs: - test_linux: - parameters: - mssql_version: - description: 'Version of MSSQL to be used' - type: string - - ruby_version: - description: 'version tag for the cimg/ruby container' - type: string - - machine: - image: ubuntu-2004:current - - # be sure to update the ./setup_cimgruby_dev.sh if changes are made to steps below - steps: - - checkout - - - run: - name: start docker-compose build environment - command: | - sudo ./test/bin/setup_volume_permissions.sh - docker-compose up -d - echo "Waiting for containers to start..." - sleep 10 - environment: - MSSQL_VERSION: << parameters.mssql_version >> - RUBY_VERSION: << parameters.ruby_version >> - - - run: - name: install sql prereqs - command: | - docker exec cimg_ruby bash -c 'sudo -E ./test/bin/install-mssqltools.sh' - - - run: - name: setup tiny_tds test database - command: | - docker exec cimg_ruby bash -c './test/bin/setup_tinytds_db.sh' - - - run: - name: bundle install gems - command: | - docker exec cimg_ruby bash -c 'bundle install' - - - run: - name: Write used versions into file - command: | - docker exec cimg_ruby bash -c 'bundle exec rake ports:version_file' - - - restore_cache: - name: restore ports cache - keys: - - ports-<< parameters.ruby_version >>-{{ arch }}-{{ checksum ".ports_versions" }} - - ports-<< parameters.ruby_version >>-{{ arch }}- - - - run: - name: compile ports - command: | - docker exec cimg_ruby bash -c 'bundle exec rake ports' - - - run: - name: build gem - command: | - docker exec cimg_ruby bash -c 'bundle exec rake build' - - - run: - name: Fix permissions on ports directory - command: | - docker exec cimg_ruby bash -c 'sudo chown -R $(id -u):$(id -g) ports' - - - run: - name: test gem - command: | - docker exec cimg_ruby bash -c 'bundle exec rake test' - - - save_cache: - name: save ports cache - paths: - - ./ports - key: ports-<< parameters.ruby_version >>-{{ arch }}-{{ arch }}-{{ checksum ".ports_versions" }} - - - store_test_results: - path: test/reports - - test_windows: - parameters: - mssql_version: - description: 'Version of MSSQL to be used' - type: string - - ruby_version: - description: 'version tag for rubydev environment' - type: string - - executor: - name: win/server-2022 - shell: powershell.exe - - environment: - RAKEOPT: '-rdevkit' - TESTOPTS: '-v' - MAKE: 'make V=1 -j2' - - steps: - - install-ruby-windows: - ruby_version: << parameters.ruby_version >> - - - checkout - - - restore_cache: - name: restore gem cache - keys: - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }} - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}- - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}- - - - run: - name: bundle install gems - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - bundle install --path vendor/bundle - - - save_cache: - name: save gem cache - paths: - - ./vendor/bundle - key: v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }} - - - attach_workspace: - at: artifacts - - - run: - name: install native gem and restore cross-compiled code from gem - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - $rubyArchitecture = (ruby -e 'puts RUBY_PLATFORM').Trim() - $gemVersion = (Get-Content VERSION).Trim() - - gem install --local --install-dir=./tmp "artifacts/gems/tiny_tds-$gemVersion-$rubyArchitecture.gem" - - # Restore precompiled code - $source = (Resolve-Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\lib\tiny_tds").Path - $destination = (Resolve-Path ".\lib\tiny_tds").Path - Get-ChildItem $source -Recurse -Exclude "*.rb" | Copy-Item -Destination {Join-Path $destination $_.FullName.Substring($source.length)} - - # Restore ports - Copy-Item -Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\ports" -Destination "." -Recurse - - - restore_cache: - name: restore mssql installation file - key: downloads-<< parameters.mssql_version >>-{{ checksum "test/bin/install-mssql.ps1" }} - - - run: - name: setup mssql - command: | - .\test\bin\install-mssql.ps1 -Version << parameters.mssql_version >> - - - save_cache: - name: save downloads cache - paths: - - C:\Downloads - key: downloads-<< parameters.mssql_version >>-{{ checksum "test/bin/install-mssql.ps1" }} - - - run: - name: install toxiproxy-server - command: | - choco install toxiproxy-server --version=2.5.0 -y - Start-Process toxiproxy-server - - - run: - name: test gem - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - bundle exec rake test - environment: - TOXIPROXY_HOST: "localhost" - - - store_test_results: - path: test/reports - - - run: - name: Rename gem to a consistent name to store artifact - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - $rubyArchitecture = (ruby -e 'puts RUBY_PLATFORM').Trim() - $gemVersion = (Get-Content VERSION).Trim() - - New-Item -Path . -Name "tested_artifact" -ItemType "directory" - Move-Item "artifacts/gems/tiny_tds-$gemVersion-$rubyArchitecture.gem" "tested_artifact" - - - store_artifacts: - path: tested_artifact - - cross_compile_gem: - parameters: - platform: - description: "Platform to compile the gem resources" - type: string - - docker: - - image: "ghcr.io/rake-compiler/rake-compiler-dock-image:1.4.0-mri-<< parameters.platform >>" - - steps: - - checkout - - - run: - name: bundle install gems - command: | - bundle install - - - run: - name: Write used versions for ports into file - command: | - rake ports:version_file[<< parameters.platform >>] - - - restore_cache: - name: restore ports cache - keys: - - ports-win-{{ arch }}-{{ checksum ".ports_versions" }} - - ports-win-{{ arch }}- - - - run: - name: Build gem - command: | - rake gem:for_platform[<< parameters.platform >>] - - - run: - name: Move gems into separate directory before caching - command: | - mkdir -p artifacts-<< parameters.platform >>/gems - mv pkg/*.gem artifacts-<< parameters.platform >>/gems - - - run: - name: Remove non-native gem to avoid conflict in workspace - command: | - gemVersion=$(cat VERSION | tr -d "[:space:]") - rm -rf artifacts-<< parameters.platform >>/gems/tiny_tds-$gemVersion.gem - - - store_artifacts: - path: artifacts-<< parameters.platform >>/gems - - - save_cache: - name: save ports cache - paths: - - ./ports - key: ports-win-{{ arch }}-{{ checksum ".ports_versions" }} - - - persist_to_workspace: - name: save gems into workspace - root: artifacts-<< parameters.platform >> - paths: - - gems - - install_windows: - parameters: - ruby_version: - description: 'version tag for rubydev environment' - type: string - - executor: - name: win/server-2022 - shell: powershell.exe - - environment: - RAKEOPT: '-rdevkit' - TESTOPTS: '-v' - MAKE: 'make V=1 -j2' - - steps: - - install-ruby-windows: - ruby_version: << parameters.ruby_version >> - - - run: - name: Ensure msys2 installation is complete - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - - # on older Ruby version, the msys version shipped with RubyInstaller is quite old - # and RubyInstaller will be unable to install anything because of outdated keys - # With this those commands, we force to get a new set of keys - # see https://www.msys2.org/docs/updating/#potential-issues - ridk exec pacman-key --init - ridk exec pacman-key --refresh-keys - ridk install 1 2 3 - - - checkout - - - restore_cache: - name: restore gem cache - keys: - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }} - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}- - - v1-bundle-<< parameters.ruby_version >>-{{ arch }}- - - - run: - name: bundle install gems - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - bundle install --path vendor/bundle - - - save_cache: - name: save gem cache - paths: - - ./vendor/bundle - key: v1-bundle-<< parameters.ruby_version >>-{{ arch }}-{{ .Branch }}-{{ checksum "tiny_tds.gemspec" }} - - - run: - name: build gem - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - gem build tiny_tds.gemspec - - - run: - name: Install gem - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - $gemVersion = (Get-Content VERSION).Trim() - gem install --local "tiny_tds-$gemVersion.gem" - - - run: - name: Check if gem loads correctly - command: | - $Env:PATH = "C:\\Ruby<< parameters.ruby_version >>-x64\\bin;$Env:PATH" - ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path" - exit $LASTEXITCODE - -workflows: - test_supported_ruby_versions: - jobs: - - cross_compile_gem: - matrix: - parameters: - platform: - - "x86-mingw32" - - "x64-mingw32" - - "x64-mingw-ucrt" - - test_windows: - requires: - - cross_compile_gem - matrix: - parameters: - mssql_version: &mssql_versions - - '2017' - - '2019' - - '2022' - - ruby_version: &ruby_versions - - '2.7' - - '3.0' - - '3.1' - - '3.2' - - '3.3' - - - test_linux: - matrix: - parameters: - mssql_version: *mssql_versions - ruby_version: *ruby_versions - - - install_windows: - matrix: - parameters: - ruby_version: *ruby_versions diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..f72503ad --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,466 @@ +name: CI + +on: + push: + pull_request: + workflow_dispatch: + +jobs: + cross-compile: + strategy: + fail-fast: false + matrix: + platform: + - "x64-mingw32" + - "x86-mingw32" + - "x64-mingw-ucrt" + name: cross-compile-windows + runs-on: ubuntu-latest + container: + image: "ghcr.io/rake-compiler/rake-compiler-dock-image:1.4.0-mri-${{ matrix.platform }}" + steps: + - uses: actions/checkout@v4 + + - run: git config --global --add safe.directory /__w/tiny_tds/tiny_tds # shrug + + - name: Install gems + shell: bash + run: bundle install + + - name: Write used versions into file + shell: bash + run: bundle exec rake ports:version_file[${{ matrix.platform }}] + + - name: Cache ports + uses: actions/cache@v4 + with: + path: ports + key: cross-compiled-${{ hashFiles('**/.ports_versions') }} + restore-keys: | + cross-compiled-${{ hashFiles('**/.ports_versions') }} + cross-compiled-v2- + + - name: Build gem + shell: bash + run: bundle exec rake gem:for_platform[${{ matrix.platform }}] + + - uses: actions/upload-artifact@v4 + with: + name: gem-${{ matrix.platform }} + path: pkg/*.gem + + install-windows-mingw: + needs: + - cross-compile + strategy: + fail-fast: false + matrix: + ruby-version: + - "2.7" + - "3.0" + + name: install-windows-mingw + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Download precompiled gem + uses: actions/download-artifact@v4 + with: + name: gem-x64-mingw32 + + - name: Install native gem + shell: pwsh + run: | + $rubyArchitecture = (ruby -e "puts RbConfig::CONFIG['arch']").Trim() + $gemVersion = (Get-Content VERSION).Trim() + $gemToInstall = "./tiny_tds-$gemVersion-$rubyArchitecture.gem" + + Write-Host "Looking to install $gemToInstall" + gem install --local "$gemToInstall" + + - name: Test if TinyTDS loads + shell: pwsh + run: | + ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path" + exit $LASTEXITCODE + + test-windows-mingw: + needs: + - cross-compile + strategy: + fail-fast: false + matrix: + mssql-version: + #- 2017 + - 2019 + - 2022 + ruby-version: + - "2.7" + - "3.0" + + name: test-windows-mingw + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Download precompiled gem + uses: actions/download-artifact@v4 + with: + name: gem-x64-mingw32 + + - name: Install native gem and restore cross-compiled code from it + shell: pwsh + run: | + $rubyArchitecture = (ruby -e "puts RbConfig::CONFIG['arch']").Trim() + $gemVersion = (Get-Content VERSION).Trim() + $gemToInstall = "./tiny_tds-$gemVersion-$rubyArchitecture.gem" + + Write-Host "Looking to install $gemToInstall" + gem install --local --install-dir=./tmp "$gemToInstall" + + # Restore precompiled code + $source = (Resolve-Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\lib\tiny_tds").Path + $destination = (Resolve-Path ".\lib\tiny_tds").Path + Get-ChildItem $source -Recurse -Exclude "*.rb" | Copy-Item -Destination {Join-Path $destination $_.FullName.Substring($source.length)} + + # Restore ports + Copy-Item -Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\ports" -Destination "." -Recurse + + - name: Setup MSSQL + uses: potatoqualitee/mssqlsuite@v1.7 + with: + install: sqlengine, sqlclient + version: ${{ matrix.mssql-version }} + sa-password: c0MplicatedP@ssword + show-log: true + + - name: Setup MSSQL database + shell: pwsh + run: | + & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql + & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql + + - name: Install toxiproxy-server + shell: pwsh + run: | + choco install toxiproxy-server --version=2.5.0 -y + Start-Process toxiproxy-server + + - name: Test gem + shell: pwsh + run: bundle exec rake test + env: + TOXIPROXY_HOST: "localhost" + + - name: Test Summary + uses: test-summary/action@v2 + with: + paths: "test/reports/TEST-*.xml" + if: always() + + install-windows-ucrt: + needs: + - cross-compile + strategy: + fail-fast: false + matrix: + ruby-version: + - "3.1" + - "3.2" + - "3.3" + + name: install-windows-ucrt + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Download precompiled gem + uses: actions/download-artifact@v4 + with: + name: gem-x64-mingw-ucrt + + - name: Install native gem + shell: pwsh + run: | + $rubyArchitecture = (ruby -e "puts RbConfig::CONFIG['arch']").Trim() + $gemVersion = (Get-Content VERSION).Trim() + $gemToInstall = "./tiny_tds-$gemVersion-$rubyArchitecture.gem" + + Write-Host "Looking to install $gemToInstall" + gem install --local "$gemToInstall" + + - name: Test if TinyTDS loads + shell: pwsh + run: | + ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path" + exit $LASTEXITCODE + + test-windows-ucrt: + needs: + - cross-compile + strategy: + fail-fast: false + matrix: + mssql-version: + #- 2017 + - 2019 + - 2022 + ruby-version: + - "3.1" + - "3.2" + - "3.3" + name: test-windows-ucrt + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Download precompiled gem + uses: actions/download-artifact@v4 + with: + name: gem-x64-mingw-ucrt + + - name: Install native gem and restore cross-compiled code from it + shell: pwsh + run: | + $rubyArchitecture = (ruby -e "puts RbConfig::CONFIG['arch']").Trim() + $gemVersion = (Get-Content VERSION).Trim() + $gemToInstall = "./tiny_tds-$gemVersion-$rubyArchitecture.gem" + + Write-Host "Looking to install $gemToInstall" + gem install --local --install-dir=./tmp "$gemToInstall" + + # Restore precompiled code + $source = (Resolve-Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\lib\tiny_tds").Path + $destination = (Resolve-Path ".\lib\tiny_tds").Path + Get-ChildItem $source -Recurse -Exclude "*.rb" | Copy-Item -Destination {Join-Path $destination $_.FullName.Substring($source.length)} + + # Restore ports + Copy-Item -Path ".\tmp\gems\tiny_tds-$gemVersion-$rubyArchitecture\ports" -Destination "." -Recurse + + - name: Setup MSSQL + uses: potatoqualitee/mssqlsuite@v1.7 + with: + install: sqlengine, sqlclient + version: ${{ matrix.mssql-version }} + sa-password: c0MplicatedP@ssword + show-log: true + + - name: Setup MSSQL database + shell: pwsh + run: | + & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql + & sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql + + - name: Install toxiproxy-server + shell: pwsh + run: | + choco install toxiproxy-server --version=2.5.0 -y + Start-Process toxiproxy-server + + - name: Test gem + shell: pwsh + run: bundle exec rake test + env: + TOXIPROXY_HOST: "localhost" + + - name: Test Summary + uses: test-summary/action@v2 + with: + paths: "test/reports/TEST-*.xml" + if: always() + + install-windows-native: + strategy: + fail-fast: false + matrix: + ruby-version: + - "2.7" + - "3.0" + - "3.1" + - "3.2" + - "3.3" + + name: install-windows-native + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Build gem + shell: pwsh + run: gem build tiny_tds.gemspec + + - name: Install gem + shell: pwsh + run: | + $gemVersion = (Get-Content VERSION).Trim() + gem install --local "tiny_tds-$gemVersion.gem" + + - name: Test if TinyTDS loads + shell: pwsh + run: | + ruby -e "require 'tiny_tds'; puts TinyTds::Gem.root_path" + exit $LASTEXITCODE + + compile-native-ports: + runs-on: ubuntu-latest + name: cross-compile-linux + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: 3.3 + bundler-cache: true + + - name: Write used versions into file + run: bundle exec rake ports:version_file + + - name: Cache ports + uses: actions/cache@v4 + with: + path: ports + key: native-v2-${{ hashFiles('**/.ports_versions') }} + restore-keys: | + native-${{ hashFiles('* */.ports_versions') }} + native-v2- + + - name: Build required libraries + run: | + bundle exec rake ports + + test-linux: + needs: + - compile-native-ports + name: test-linux + strategy: + fail-fast: false + matrix: + mssql-version: + - 2017 + - 2019 + - 2022 + ruby-version: + - "2.7" + - "3.0" + - "3.1" + - "3.2" + - "3.3" + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Write used versions into file + run: | + bundle exec rake ports:version_file + + - name: Cache ports + uses: actions/cache@v4 + with: + path: ports + key: native-v2-${{ hashFiles('**/.ports_versions') }} + fail-on-cache-miss: true + + - name: Build gem + run: | + bundle exec rake build + + - name: Setup MSSQL + uses: potatoqualitee/mssqlsuite@v1.7 + with: + install: sqlengine, sqlclient + version: ${{ matrix.mssql-version }} + sa-password: "c0MplicatedP@ssword" + show-log: true + + - name: Setup MSSQL database + run: | + sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-create.sql + sqlcmd -S localhost -U sa -P "c0MplicatedP@ssword" -i ./test/sql/db-login.sql + + - name: Install toxiproxy-server + run: | + wget -O toxiproxy-2.5.0.deb https://github.com/Shopify/toxiproxy/releases/download/v2.5.0/toxiproxy_2.5.0_linux_amd64.deb + sudo dpkg -i toxiproxy-2.5.0.deb + sudo toxiproxy-server & + + - name: Run tests + run: bundle exec rake test + env: + TOXIPROXY_HOST: "localhost" + + - name: Test Summary + uses: test-summary/action@v2 + with: + paths: "test/reports/TEST-*.xml" + if: always() + + install_macos: + strategy: + fail-fast: false + matrix: + ruby-version: + - "2.7" + - "3.0" + - "3.1" + - "3.2" + - "3.3" + + name: install-macos-m1 + runs-on: macos-14 + steps: + - uses: actions/checkout@v4 + + - name: Install FreeTDS + run: brew install freetds + shell: bash + + - uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby-version }} + bundler-cache: true + + - name: Build gem + shell: bash + run: gem build tiny_tds.gemspec + + - name: Install gem and test if TinyTDS loads + shell: bash + run: | + gemVersion=$( 1.2' s.add_development_dependency 'rake-compiler-dock', '~> 1.4.0' s.add_development_dependency 'minitest', '~> 5.14.0' - s.add_development_dependency 'minitest-ci', '~> 3.4.0' + s.add_development_dependency 'minitest-reporters', '~> 1.6.1' s.add_development_dependency 'connection_pool', '~> 2.2.0' s.add_development_dependency 'toxiproxy', '~> 2.0.0' end