aboutsummaryrefslogtreecommitdiffstats
path: root/.github/workflows/workflow.yml
blob: 02d44b95e013ac9a07e33f87df4de7fbb11a1027 (plain)
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
name: OpenSSL

on: [push, pull_request]

jobs:
  build:
    name: >-
      OS: ${{matrix.os}}  Ruby: ${{matrix.ruby}}
    runs-on: ${{matrix.os}}
    strategy:
      fail-fast: false
      matrix:
        os: [ 'ubuntu-18.04', 'macos' ]
        ruby: [ '2.6.x', '2.5.x', '2.4.x' ]
    steps:
      - name: repo checkout
        uses: actions/checkout@v2
      - name: load ruby
        uses: actions/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

  # tests MinGW Ruby 2.3 thru master
  mingw:
    name: >-
      OS: windows-latest  Ruby: ${{matrix.ruby}}
    runs-on: windows-latest
    strategy:
      fail-fast: false
      matrix:
        ruby: [ '9.9.x', '2.6.x', '2.5.x', '2.4.x', '2.3.x' ]
    steps:
      - name: repo checkout
        uses: actions/checkout@v2
      - name: load ruby, update gcc, install openssl
        uses: MSP-Greg/actions-ruby@master
        with:
          ruby-version: ${{ matrix.ruby }}
          base: update
          mingw: openssl
      - 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

  # tests RVM Ruby 2.3.8 and master
  rvm:
    name: >-
      OS: ubuntu rvm  Ruby: ${{ matrix.cfg.ruby }}
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        cfg:
          - { ruby: '2.3.8' , openssl: 'libssl1.0-dev' }
          - { ruby: '2.7.0' , openssl: ''              }
    steps:
      - uses: actions/checkout@v2
      - name: Set up RVM
        run: |
          curl -sSL https://get.rvm.io | bash
      - name: Set up Ruby
        run: |
          source $HOME/.rvm/scripts/rvm
          rvm install ${{ matrix.cfg.ruby }} --binary --autolibs=disable
          rvm --default use ${{ matrix.cfg.ruby }}
      - name: install openssl
        if: matrix.cfg.openssl != ''
        run: sudo apt-get -qy install ${{ matrix.cfg.openssl }}
      - name: depends
        run:  |
          source $HOME/.rvm/scripts/rvm
          rake install_dependencies
      - name: compile
        run:  |
          source $HOME/.rvm/scripts/rvm
          rake compile -- --enable-debug
      - name: test
        run:  |
          source $HOME/.rvm/scripts/rvm
          rake test TESTOPTS="-v --no-show-detail-immediately" OSSL_MDEBUG=1
        env:
          CI: true