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
|
name: CI
on:
push:
pull_request:
jobs:
build:
runs-on: ubuntu-latest
container:
image: ubuntu:24.04
strategy:
fail-fast: false
matrix:
ruby:
- head
- '3.4'
- '3.3'
- '3.2'
- '3.1'
- '3.0'
- '2.7'
- '2.6'
- jruby-head
continue-on-error: ${{ matrix.ruby == 'head' || matrix.ruby == 'jruby-head' }}
name: Ruby ${{ matrix.ruby }}
env:
JRUBY_OPTS: "--debug"
HTTP_STATUS_SERVICE: "http://httpstatus"
HOME: "/home/runner/" # Needed for ruby-head
services:
httpstatus:
image: ghcr.io/aaronpowell/httpstatus:f1c763d1f33cd10566f18ec190fc853895bdbdd7
env:
ASPNETCORE_URLS: "http://+:80"
steps:
- name: Make sure home directory exists
run: |
mkdir -p ${HOME}
- name: Install Apt Packages needed for setup-ruby
run: |
apt update
apt-get install -y --no-install-recommends \
build-essential \
ca-certificates \
cmake \
curl \
git \
libffi-dev \
libyaml-dev \
libreadline-dev \
libssl-dev \
openssl \
zlib1g-dev \
libcurl4-openssl-dev
- name: prepare java environment for jruby
if: matrix.ruby == 'jruby-head'
run: |
apt-get install -y openjdk-21-jdk
java -version
- uses: actions/checkout@v5
- uses: ruby/setup-ruby@v1
continue-on-error: false
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 1
rubygems: 'latest'
bundler: 'latest'
- run: |
bundle exec rake
|