Skip to content

build

build #239

Workflow file for this run

name: build
on:
push:
pull_request:
branches:
- latest
- release
schedule:
- cron: '18 6 * * 2'
jobs:
matrix-builds:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: ['2.6', '2.7', '3.0', '3.1', '3.2', '3.3', 'jruby', 'truffleruby-head']
name: ruby ${{ matrix.ruby }}
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ruby/setup-ruby@b256bd96bb4867e7d23e92e087d9bb697270b725 # v1.163.0
with:
ruby-version: ${{ matrix.ruby }}
- name: Install Dependencies
run: |
bundle install
- name: Run Tests
run: bundle exec rake test
- name: Upload to Codecov
uses: codecov/codecov-action@84508663e988701840491b86de86b666e8a86bed # v4.3.0
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
with:
file: coverage/coverage.xml
- name: Build Gem
run: gem build wrapture.gemspec
- name: Install Gem
run: gem install wrapture
cpp:
runs-on: ubuntu-latest
name: c++ runtime tests
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ruby/setup-ruby@b256bd96bb4867e7d23e92e087d9bb697270b725 # v1.163.0
with:
ruby-version: '3.2'
- name: Install Ruby Dependencies
run: bundle install
- name: Run C++ Examples
run: bundle exec rake examples:cpp
python:
runs-on: ubuntu-latest
name: python runtime tests
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ruby/setup-ruby@b256bd96bb4867e7d23e92e087d9bb697270b725 # v1.163.0
with:
ruby-version: '3.3'
- name: Install Ruby Dependencies
run: bundle install
- uses: actions/setup-python@0a5c61591373683505ea898e09a3ea4f39ef2b9c # v5.0.0
with:
python-version: '3.12'
- name: Install Prereqs
run: pip3 install setuptools
- name: Run Python Tests
run: bundle exec rake test:python
- name: Run Python Examples
run: bundle exec rake examples:python
sonar-analysis:
runs-on: ubuntu-latest
name: SonarCloud analysis
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: sonarsource/sonarcloud-github-action@49e6cd3b187936a73b8280d59ffd9da69df63ec9 # v2.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
SONARQUBE_SCANNER_PARAMS: '{"sonar.host.url":"https://sonarcloud.io"}'
code-analysis:
runs-on: ubuntu-latest
name: ruby analysis
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
- uses: ruby/setup-ruby@b256bd96bb4867e7d23e92e087d9bb697270b725 # v1.163.0
with:
ruby-version: '3.3'
- name: Install Dependencies
run: bundle install
- name: Run Rubocop
run: bundle exec rubocop --parallel
- name: Check RBS
run: rbs -I sig/ validate
- name: Check RDoc Coverage
run: bundle exec rdoc --coverage-report lib