diff options
author | Kazuki Yamaguchi <k@rhe.jp> | 2020-02-26 16:11:53 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-26 16:11:53 +0900 |
commit | 26a54a47e33fe8627f3c41343fc623e54e4872cf (patch) | |
tree | 106469ae0da4c7bde9709214d2aa24e8d265da51 | |
parent | 944121faa028c3f1c0cd41b634be5e5294a59cd6 (diff) | |
parent | 06b90278398ee1073c0c97f976605e7872e30500 (diff) | |
download | ruby-openssl-26a54a47e33fe8627f3c41343fc623e54e4872cf.tar.gz |
Merge pull request #351 from rhenium/ky/actions-update
.github/workflows: test against different OpenSSL versions
-rw-r--r-- | .github/workflows/test.yml | 137 | ||||
-rw-r--r-- | .github/workflows/ubuntu-macos.yml | 33 | ||||
-rw-r--r-- | .github/workflows/windows.yml | 47 | ||||
-rw-r--r-- | .travis.yml | 21 | ||||
-rw-r--r-- | README.md | 3 |
5 files changed, 138 insertions, 103 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 00000000..c8d24472 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,137 @@ +name: CI + +on: [push, pull_request] + +jobs: + test: + name: >- + ${{ matrix.os }} ${{ matrix.ruby }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest, macos-latest ] + ruby: [ head, 2.7, 2.6, 2.5, 2.4, 2.3 ] + steps: + - name: repo checkout + uses: actions/checkout@v2 + + - name: load ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + + - name: depends + run: rake install_dependencies + + - name: compile + run: rake compile -- --enable-debug + + - name: test + run: rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1 + + test-windows: + name: >- + ${{ matrix.os }} ${{ matrix.ruby }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ windows-latest ] + ruby: [ mswin, mingw, 2.7, 2.6, 2.5, 2.4, 2.3 ] + steps: + - name: repo checkout + uses: actions/checkout@v2 + + - name: load ruby, update gcc, install openssl + uses: MSP-Greg/actions-ruby@mswin + with: + ruby-version: ${{ matrix.ruby }} + base: update + mingw: openssl + + - name: depends + run: rake install_dependencies + + - name: compile + shell: cmd + env: + RVERS: ${{ matrix.ruby }} + run: | + if "%RVERS%" == "mswin" ( + call "%VCVARS%" + rake compile -- --with-openssl-dir=C:/openssl-win --enable-debug + ) else ( + if "%RVERS%" == "2.3" ( + rake compile -- --with-openssl-dir=C:/openssl-win --enable-debug + ) else ( + rake compile -- --enable-debug + ) + ) + + - name: test + run: rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1 + + test-openssls: + name: >- + ${{ matrix.openssl }} + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ ubuntu-latest ] + ruby: [ 2.7 ] + openssl: + - openssl-1.0.1u # EOL + - openssl-1.0.2u # EOL + - openssl-1.1.0l # EOL + - openssl-1.1.1d + # - libressl-2.3.7 # EOL + # - libressl-2.4.5 # EOL + # - libressl-2.5.5 # EOL + # - libressl-2.6.5 # EOL + - libressl-2.7.5 # EOL + - libressl-2.8.3 # EOL + - libressl-2.9.2 + - libressl-3.0.2 + steps: + - name: repo checkout + uses: actions/checkout@v2 + + - name: prepare openssl + run: | + mkdir -p tmp/build-openssl && cd tmp/build-openssl + case ${{ matrix.openssl }} in + openssl-*) + curl -OL https://ftp.openssl.org/source/${{ matrix.openssl }}.tar.gz + tar xf ${{ matrix.openssl }}.tar.gz && cd ${{ matrix.openssl }} + # shared is required for 1.0.x. + ./Configure --prefix=$HOME/.openssl/${{ matrix.openssl }} \ + shared linux-x86_64 + make depend + ;; + libressl-*) + curl -OL https://ftp.openbsd.org/pub/OpenBSD/LibreSSL/${{ matrix.openssl }}.tar.gz + tar xf ${{ matrix.openssl }}.tar.gz && cd ${{ matrix.openssl }} + ./configure --prefix=$HOME/.openssl/${{ matrix.openssl }} + ;; + *) + false + ;; + esac + make -j4 + make install_sw + + - name: load ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ matrix.ruby }} + + - name: depends + run: rake install_dependencies + + - name: compile + run: rake compile -- --enable-debug --with-openssl-dir=$HOME/.openssl/${{ matrix.openssl }} + + - name: test + run: rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1 diff --git a/.github/workflows/ubuntu-macos.yml b/.github/workflows/ubuntu-macos.yml deleted file mode 100644 index 1a45c365..00000000 --- a/.github/workflows/ubuntu-macos.yml +++ /dev/null @@ -1,33 +0,0 @@ -name: Ubuntu-macOS - -on: [push, pull_request] - -jobs: - build: - name: >- - ${{ matrix.ruby }} ${{ matrix.os }} - runs-on: ${{ matrix.os }} - strategy: - fail-fast: false - matrix: - os: [ 'ubuntu-18.04', 'macos' ] - ruby: [ ruby-head, 2.7, 2.6, 2.5, 2.4, 2.3 ] - steps: - - name: repo checkout - uses: actions/checkout@v2 - - - name: load ruby - uses: ruby/setup-ruby@v1 - with: - ruby-version: ${{ matrix.ruby }} - - - name: depends - run: rake install_dependencies - - - name: compile - run: rake compile -- --enable-debug - - - name: test - run: rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1 - env: - CI: true diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 1638d25d..00000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,47 +0,0 @@ -name: Windows - -on: [push, pull_request] - -jobs: - windows: - name: >- - ${{ matrix.ruby }} windows-latest - runs-on: windows-latest - strategy: - fail-fast: false - matrix: - ruby: [ mswin, mingw, 2.7, 2.6, 2.5, 2.4, 2.3 ] - steps: - - name: repo checkout - uses: actions/checkout@v2 - - - name: load ruby, update gcc, install openssl - uses: MSP-Greg/actions-ruby@mswin - with: - ruby-version: ${{ matrix.ruby }} - base: update - mingw: openssl - - - name: depends - run: rake install_dependencies - - - name: compile - shell: cmd - env: - RVERS: ${{ matrix.ruby }} - run: | - if "%RVERS%" == "mswin" ( - call "%VCVARS%" - rake compile -- --with-openssl-dir=C:/openssl-win --enable-debug - ) else ( - if "%RVERS%" == "2.3" ( - rake compile -- --with-openssl-dir=C:/openssl-win --enable-debug - ) else ( - rake compile -- --enable-debug - ) - ) - - - name: test - run: rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1 - env: - CI: true diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 4447352f..00000000 --- a/.travis.yml +++ /dev/null @@ -1,21 +0,0 @@ -language: c -sudo: required -dist: xenial -services: - - docker -install: -script: - - docker -v - - docker-compose -v - - docker-compose build --no-cache - - docker-compose run test -matrix: - fast_finish: true - include: - - env: RUBY_VERSION=ruby-2.4 OPENSSL_VERSION=openssl-1.0.2 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=openssl-1.0.1 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=openssl-1.0.2 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=openssl-1.1.0 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=libressl-2.5 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=libressl-2.6 - - env: RUBY_VERSION=ruby-2.5 OPENSSL_VERSION=libressl-2.7 @@ -1,7 +1,6 @@ # OpenSSL for Ruby -[![Actions Status](https://github.com/ruby/openssl/workflows/OpenSSL/badge.svg)](https://github.com/ruby/openssl/actions?workflow=OpenSSL) -[![Build Status](https://travis-ci.org/ruby/openssl.svg?branch=master)](https://travis-ci.org/ruby/openssl) +[![Actions Status](https://github.com/ruby/openssl/workflows/CI/badge.svg)](https://github.com/ruby/openssl/actions?workflow=CI) OpenSSL provides SSL, TLS and general purpose cryptography. It wraps the |