etscrivner/rbsecp256k1

View on GitHub
.github/workflows/spec.yml

Summary

Maintainability
Test Coverage
---
name: Spec

on:
  pull_request:
    branches:
      - master
  push:
    branches:
      - master

jobs:
  test:
    runs-on: ${{ matrix.os }}
    strategy:
      fail-fast: false
      matrix:
        os: [ubuntu-latest, macos-latest]
        ruby: ['2.7', '3.0', '3.1', '3.2']
    steps:
    - uses: actions/checkout@v3
    - uses: ruby/setup-ruby@v1
      with:
        ruby-version: ${{ matrix.ruby }}
        bundler-cache: false
    - name: APT dependencies (Ubuntu)
      run: |
        sudo apt update
        sudo apt install  build-essential automake pkg-config libtool libffi-dev libssl-dev libgmp-dev python3-dev libgmp10 valgrind
      if: startsWith(matrix.os, 'Ubuntu')
    - name: Homebrew dependencies (macOS)
      run: |
        brew update
        brew install automake libtool pkg-config gmp libffi
      if: startsWith(matrix.os, 'macOS')
    - name: Install Dependencies
      run: |
        make setup
        make build
    - name: Run Tests
      run: |
        make lint
        make test
    - name: Memcheck (Ubuntu)
      run: |
        make memcheck
      if: startsWith(matrix.os, 'Ubuntu') && matrix.ruby != '3.2'