aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazuki Yamaguchi <k@rhe.jp>2020-02-26 16:11:53 +0900
committerGitHub <noreply@github.com>2020-02-26 16:11:53 +0900
commit26a54a47e33fe8627f3c41343fc623e54e4872cf (patch)
tree106469ae0da4c7bde9709214d2aa24e8d265da51
parent944121faa028c3f1c0cd41b634be5e5294a59cd6 (diff)
parent06b90278398ee1073c0c97f976605e7872e30500 (diff)
downloadruby-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.yml137
-rw-r--r--.github/workflows/ubuntu-macos.yml33
-rw-r--r--.github/workflows/windows.yml47
-rw-r--r--.travis.yml21
-rw-r--r--README.md3
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
diff --git a/README.md b/README.md
index 48ba4d39..a23135ee 100644
--- a/README.md
+++ b/README.md
@@ -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