CI #409
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# This workflow will download a prebuilt Ruby version, install dependencies and | |
# run tests with Rake | |
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby | |
name: CI | |
"on": | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master] | |
schedule: | |
- cron: '16 4 12 * *' | |
workflow_dispatch: | |
env: | |
CUCUMBER_PUBLISH_QUIET: true | |
RUBYOPTS: "--disable-did-you-mean" | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
ruby: ["3.0", "3.1", "3.2", "3.3"] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Install non-ruby dependencies | |
run: | | |
# Ensure all packages can be found | |
sudo apt-get update | |
# Provides libgirepository-1.0.so.1 | |
sudo apt-get install libgirepository-1.0-1 | |
# Provides source code for test libraries and tools to generate introspection data | |
sudo apt-get install gobject-introspection | |
# The regress.c test library needs cairo headers | |
sudo apt-get install libcairo2-dev | |
# Provides gir files for various libraries, needed for generating gir files | |
# for test libraries | |
sudo apt-get install libgirepository1.0-dev | |
# The following packages provide typelibs for various libraries | |
sudo apt-get install gir1.2-gtop-2.0 | |
sudo apt-get install gir1.2-gtk-3.0 | |
sudo apt-get install gir1.2-pango-1.0 | |
sudo apt-get install gir1.2-secret-1 | |
sudo apt-get install gir1.2-gstreamer-1.0 | |
sudo apt-get install gir1.2-gtksource-3.0 | |
# BUG: Missing dependency of gir1.2-harfbuzz-0.0 | |
sudo apt-get install libharfbuzz-gobject0 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: ${{ matrix.ruby }} | |
bundler-cache: true | |
- name: Run tests | |
run: bundle exec rake test:all | |
- name: Run features | |
run: bundle exec rake test:features | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Ruby | |
uses: ruby/setup-ruby@v1 | |
with: | |
ruby-version: "3.3" | |
bundler-cache: true | |
- name: Run RuboCop | |
run: bundle exec rubocop -P | |
- name: Check manifest | |
run: bundle exec rake manifest:check |