-
-
Notifications
You must be signed in to change notification settings - Fork 903
98 lines (97 loc) · 3.49 KB
/
downstream.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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
name: downstream
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
cancel-in-progress: true
on:
workflow_dispatch:
schedule:
- cron: "0 8 * * 1,3,5" # At 08:00 on Monday, Wednesday, and Friday # https://crontab.guru/#0_8_*_*_1,3,5
push:
branches:
- main
- v*.*.x
tags:
- v*.*.*
pull_request:
types: [opened, synchronize]
branches:
- '*'
jobs:
downstream:
name: downstream-${{matrix.name}}
strategy:
fail-fast: false
matrix:
include:
- url: https://github.com/flavorjones/loofah
name: loofah
command: "bundle exec rake test"
ruby: "3.3"
- url: https://github.com/rails/rails-html-sanitizer
name: rails-html-sanitizer
command: "bundle exec rake test"
ruby: "3.3"
# # pending a fix for https://github.com/sparklemotion/nokogiri/pull/3348
# - url: https://github.com/rgrove/sanitize
# name: sanitize
# command: "bundle exec rake test"
# ruby: "3.3"
- url: https://github.com/ebeigarts/signer
name: signer
command: "bundle exec rake spec"
ruby: "3.2"
- url: https://github.com/WinRb/Viewpoint
name: viewpoint
command: "bundle exec rspec spec"
ruby: "3.1"
- url: https://github.com/rails/rails
name: xmlmini
command: "cd activesupport && bundle exec rake test TESTOPTS=-n/XmlMini/"
ruby: "3.3"
- url: https://github.com/pythonicrubyist/creek
name: creek
command: "bundle exec rake spec"
ruby: "3.2"
- url: https://github.com/SAML-Toolkits/ruby-saml
name: ruby-saml
command: "bundle exec rake test MT_COMPAT=t"
ruby: "3.2"
- url: https://github.com/sparklemotion/mechanize
name: mechanize
command: "bundle exec rake test"
ruby: "3.3"
- url: https://github.com/stimulusreflex/stimulus_reflex
name: stimulus_reflex
command: "bundle exec rake test"
ruby: "3.3"
# - url: https://github.com/instructure/nokogiri-xmlsec-instructure
# name: nokogiri-xmlsec-instructure
# precommand: "apt install -y libxmlsec1-dev"
# command: "bundle exec rake compile rspec"
runs-on: ubuntu-latest
container:
image: ghcr.io/sparklemotion/nokogiri-test:mri-${{matrix.ruby}}
steps:
- uses: actions/checkout@v4
with:
submodules: true
- uses: actions/cache@v4
with:
path: ports
key: ports-ubuntu-${{matrix.ruby}}-${{hashFiles('dependencies.yml', 'patches/**/*.patch', 'ext/nokogiri/extconf.rb')}}
- if: matrix.precommand
run: ${{matrix.precommand}}
- run: gem install bundler -v ">= 2.3.22" # for "add --path"
- run: bundle install --local || bundle install
- run: bundle exec rake compile
- run: git clone --depth=1 ${{matrix.url}} ${{matrix.name}}
- name: ${{matrix.name}} test suite
working-directory: ${{matrix.name}}
run: |
bundle remove nokogiri || true
bundle add nokogiri --path=".."
if grep "add_development_dependency.*\bbundler\b" *gemspec ; then
sed -i 's/.*add_development_dependency.*\bbundler\b.*//' *gemspec
fi
bundle install --local || bundle install
${{matrix.command}}