Tests #129
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Tests | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}" | |
| cancel-in-progress: true | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| schedule: | |
| - cron: "30 4 * * 4" | |
| env: | |
| RUBYOPT: "--enable-frozen-string-literal --debug-frozen-string-literal" | |
| jobs: | |
| build-cruby-gem: | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "4.0" | |
| bundler-cache: true | |
| - run: bundle exec rake gem | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: cruby-gem | |
| path: pkg/*.gem | |
| build-jruby-gem: | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "4.0" | |
| bundler-cache: true | |
| - run: bundle exec rake java:gem | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: jruby-gem | |
| path: pkg/*.gem | |
| precompile-aarch64-linux-gnu: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: aarch64-linux-gnu | |
| precompile-aarch64-linux-musl: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: aarch64-linux-musl | |
| precompile-arm-linux-gnu: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: arm-linux-gnu | |
| precompile-arm-linux-musl: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: arm-linux-musl | |
| precompile-x86_64-linux-gnu: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: x86_64-linux-gnu | |
| precompile-x86_64-linux-musl: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: x86_64-linux-musl | |
| precompile-arm64-darwin: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: arm64-darwin | |
| precompile-x86_64-darwin: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: x86_64-darwin | |
| precompile-x64-mingw-ucrt: | |
| uses: ./.github/workflows/precompile-gem.yml | |
| with: | |
| platform: x64-mingw-ucrt | |
| test-ubuntu: | |
| needs: "build-cruby-gem" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0", "truffleruby"] | |
| runs-on: "ubuntu-latest" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-macos: | |
| needs: "build-cruby-gem" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: "macos-14" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-windows-2022: | |
| needs: "build-cruby-gem" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: "windows-2022" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: ${{ matrix.ruby }} | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| shell: bash | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-freebsd: | |
| needs: "build-cruby-gem" | |
| strategy: | |
| fail-fast: false | |
| runs-on: ubuntu-latest | |
| env: | |
| MAKE: gmake | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-gem | |
| path: pkg | |
| - uses: vmactions/freebsd-vm@v1 | |
| with: | |
| envs: MAKE | |
| usesh: true | |
| copyback: false | |
| prepare: pkg install -y ruby devel/ruby-gems sysutils/rubygem-bundler shells/bash devel/gmake | |
| run: ./scripts/test-gem-install | |
| test-precompiled-aarch64-linux-gnu: | |
| needs: "precompile-aarch64-linux-gnu" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-aarch64-linux-gnu-gem | |
| path: pkg | |
| - name: Enable execution of multi-architecture containers by QEMU | |
| run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
| - run: | | |
| docker run --rm -v "$(pwd):/argon2id" -w /argon2id \ | |
| --platform=linux/arm64 \ | |
| ruby:${{ matrix.ruby }} \ | |
| ./scripts/test-gem-install | |
| test-precompiled-aarch64-linux-musl: | |
| needs: "precompile-aarch64-linux-musl" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-aarch64-linux-musl-gem | |
| path: pkg | |
| - name: Enable execution of multi-architecture containers by QEMU | |
| run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
| - run: | | |
| docker run --rm -v "$(pwd):/argon2id" -w /argon2id \ | |
| --platform=linux/arm64 \ | |
| ruby:${{ matrix.ruby }}-alpine \ | |
| ./scripts/test-gem-install | |
| test-precompiled-arm-linux-gnu: | |
| needs: "precompile-arm-linux-gnu" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-arm-linux-gnu-gem | |
| path: pkg | |
| - name: enable execution of multi-architecture containers by qemu | |
| run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
| - run: | | |
| docker run --rm -v "$(pwd):/argon2id" -w /argon2id \ | |
| --platform=linux/arm/v7 \ | |
| ruby:${{ matrix.ruby }} \ | |
| ./scripts/test-gem-install | |
| test-precompiled-arm-linux-musl: | |
| needs: "precompile-arm-linux-musl" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-arm-linux-musl-gem | |
| path: pkg | |
| - name: enable execution of multi-architecture containers by qemu | |
| run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes | |
| - run: | | |
| docker run --rm -v "$(pwd):/argon2id" -w /argon2id \ | |
| --platform=linux/arm/v7 \ | |
| ruby:${{ matrix.ruby }}-alpine \ | |
| ./scripts/test-gem-install | |
| test-precompiled-x86_64-linux-gnu: | |
| needs: "precompile-x86_64-linux-gnu" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-x86_64-linux-gnu-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-precompiled-x86_64-linux-musl: | |
| needs: "precompile-x86_64-linux-musl" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: ubuntu-latest | |
| container: | |
| image: "ruby:${{ matrix.ruby }}-alpine" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-x86_64-linux-musl-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| test-precompiled-arm64-darwin: | |
| needs: "precompile-arm64-darwin" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: macos-14 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-arm64-darwin-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-precompiled-x86_64-darwin: | |
| needs: "precompile-x86_64-darwin" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: "macos-15-intel" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-x86_64-darwin-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-jruby: | |
| needs: "build-jruby-gem" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["jruby-9.4", "jruby-10.0"] | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: jruby-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| test-precompiled-x64-mingw-ucrt: | |
| needs: "precompile-x64-mingw-ucrt" | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| ruby: ["3.1", "3.2", "3.3", "3.4", "4.0"] | |
| runs-on: windows-2022 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: MSP-Greg/setup-ruby-pkgs@v1 | |
| with: | |
| ruby-version: "${{ matrix.ruby }}" | |
| bundler-cache: true | |
| - uses: actions/download-artifact@v4 | |
| with: | |
| name: cruby-x64-mingw-ucrt-gem | |
| path: pkg | |
| - run: ./scripts/test-gem-install | |
| shell: bash | |
| env: | |
| BUNDLE_PATH: ${{ github.workspace }}/vendor/bundle | |
| ruby-memcheck: | |
| runs-on: "ubuntu-latest" | |
| env: | |
| BUNDLE_WITH: memcheck | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: ruby/setup-ruby-pkgs@v1 | |
| with: | |
| ruby-version: "4.0" | |
| apt-get: valgrind | |
| bundler-cache: true | |
| - run: bundle exec rake test:valgrind |