1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
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
|