Skip to content

Continuous Integration #326

Continuous Integration

Continuous Integration #326

Workflow file for this run

name: Continuous Integration
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- main
- v*.*.x
tags:
- v*.*.*
pull_request:
types: [opened, synchronize]
branches:
- "*"
schedule:
- cron: "0 8 * * 5" # At 08:00 on Friday # https://crontab.guru/#0_8_*_*_5
jobs:
test-unit:
env:
MAKEFLAGS: -j2
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
ruby: ["2.3", "2.4", "2.5", "2.6", "2.7", "3.0", "3.1", "3.2", "head"]
runs-on: ${{ matrix.platform }}
steps:
- name: configure git crlf on windows
if: matrix.platform == 'windows-latest'
run: |
git config --system core.autocrlf false
git config --system core.eol lf
- uses: actions/checkout@v3
- uses: MSP-Greg/setup-ruby-pkgs@v1
with:
apt-get: _update_ build-essential cmake
mingw: _upgrade_ cmake
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: bundle exec rake test:unit
test-examples:
env:
MAKEFLAGS: -j2
strategy:
fail-fast: false
matrix:
platform: [ubuntu-latest, windows-latest, macos-latest]
ruby: ["3.1"]
runs-on: ${{ matrix.platform }}
steps:
- name: configure git crlf on windows
if: matrix.platform == 'windows-latest'
run: |
git config --system core.autocrlf false
git config --system core.eol lf
- uses: actions/checkout@v3
- uses: MSP-Greg/setup-ruby-pkgs@v1
with:
apt-get: _update_ build-essential cmake
mingw: _upgrade_ cmake
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- uses: actions/cache@v3
with:
path: examples/ports/archives
key: examples-${{ hashFiles('examples/Rakefile') }}
- run: bundle exec rake test:examples
fedora: # see https://github.com/flavorjones/mini_portile/issues/118
runs-on: ubuntu-latest
container:
image: fedora:35
steps:
- run: |
dnf group install -y "C Development Tools and Libraries"
dnf install -y ruby ruby-devel libyaml-devel git-all patch cmake xz
- uses: actions/checkout@v3
- uses: actions/cache@v3
with:
path: examples/ports/archives
key: examples-${{ hashFiles('examples/Rakefile') }}
- run: bundle install
- run: bundle exec rake test:unit
- run: bundle exec rake test:examples