-
Notifications
You must be signed in to change notification settings - Fork 14
78 lines (67 loc) · 2.29 KB
/
ruby.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
# 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