diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 0000000..eaeeef0 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,89 @@ +name: Tests + +on: [push, pull_request] + +jobs: + test: + strategy: + fail-fast: false + matrix: + os: [ubuntu] + ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', head, jruby, jruby-head, truffleruby, truffleruby-head] + include: + - os: macos + ruby: '3.0' + - os: windows + ruby: '3.0' + runs-on: ${{ matrix.os }}-latest + continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.os == 'windows' }} + steps: + - name: Checkout rubyzip code + uses: actions/checkout@v3 + + - name: Install and set up ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + + - name: Run the tests + env: + RUBYOPT: -v + JRUBY_OPTS: --debug + run: bundle exec rake + + - name: Coveralls + if: matrix.os == 'ubuntu' && !endsWith(matrix.ruby, 'head') + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.github_token }} + flag-name: ${{ matrix.ruby }} + parallel: true + + test-isolated: + runs-on: ubuntu-latest + steps: + - name: Checkout rubyzip code + uses: actions/checkout@v3 + + - name: Install and set up ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: '2.7' + bundler-cache: true + + - name: Run isolated tests + run: bundle exec rake test:isolated + + test-yjit: + strategy: + fail-fast: false + matrix: + os: [ubuntu, macos] + ruby: ['3.1', '3.2', head] + runs-on: ${{ matrix.os }}-latest + continue-on-error: true + steps: + - name: Checkout rubyzip code + uses: actions/checkout@v3 + + - name: Install and set up ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + bundler-cache: true + + - name: Run the tests + env: + RUBYOPT: --enable-yjit -v + run: bundle exec rake + + finish: + needs: test + runs-on: ubuntu-latest + steps: + - name: Coveralls Finished + uses: coverallsapp/github-action@master + with: + github-token: ${{ secrets.github_token }} + parallel-finished: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 6667bda..0000000 --- a/.travis.yml +++ /dev/null @@ -1,19 +0,0 @@ -language: ruby - -rvm: - - 1.9.3 - - 2.0.0 - - 2.1.5 - - 2.2.1 - - ruby-head - - rbx-2 - -sudo: false - -cache: bundler - -matrix: - allow_failures: - - rvm: 1.9.3 - - rvm: ruby-head - - rvm: rbx-2