.github/workflows/verify.yml
name: verify
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions
permissions:
actions: none
checks: none
contents: none
deployments: none
id-token: none
issues: none
discussions: none
packages: none
pages: none
pull-requests: none
repository-projects: none
security-events: none
statuses: none
on: [push, pull_request]
jobs:
verify:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- windows-latest
- ubuntu-latest
ruby:
- '2.7'
- '3.0'
- '3.1'
- '3.2'
runs-on: ${{ matrix.os }}
timeout-minutes: 25
name: ${{ matrix.os }} - Ruby ${{ matrix.ruby }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.ref }}
- name: Setup Ruby
env:
BUNDLE_WITHOUT: "coverage development"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: false
- name: Install system dependencies (Linux)
if: runner.os == 'Linux'
run: |
sudo apt-get install libpcap-dev
- name: Install system dependencies (Windows)
if: runner.os == 'Windows'
shell: pwsh
run: |
$script = "$(Get-Location)\script\installwinpcap.ps1"
Write-Host $script
. $script
- name: build
run: |
bundle install
rake gem
- name: test (Windows)
if: runner.os == 'Windows'
run: |
bundle exec rake
- name: test (Unix)
if: runner.os != 'Windows'
run: |
sudo --preserve-env=PATH env bundle exec rake