-
-
Notifications
You must be signed in to change notification settings - Fork 896
126 lines (121 loc) · 4 KB
/
upstream.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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
name: upstream
concurrency:
group: "${{github.workflow}}-${{github.ref}}"
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- main
- v*.*.x
tags:
- v*.*.*
pull_request:
types: [opened, synchronize]
branches:
- '*'
schedule:
- cron: "0 8 * * 1,3,5" # At 08:00 on Monday, Wednesday, and Friday # https://crontab.guru/#0_8_*_*_1,3,5
jobs:
xmlsoft-head:
runs-on: ubuntu-latest
container:
image: flavorjones/nokogiri-test:mri-3.0
steps:
- uses: actions/checkout@v2
- name: Setup libxml2
run: |
git clone --depth=1 https://gitlab.gnome.org/GNOME/libxml2
cd libxml2
env NOCONFIGURE=t ./autogen.sh
- name: Setup libxslt
run: |
git clone --depth=1 https://gitlab.gnome.org/GNOME/libxslt
cd libxslt
env NOCONFIGURE=t ./autogen.sh
- name: "Run bundle install"
run: "bundle install --local || bundle install"
- name: "Compile against libxml2 and libxslt source directories"
run: "bundle exec rake compile -- --with-xml2-source-dir=${GITHUB_WORKSPACE}/libxml2 --with-xslt-source-dir=${GITHUB_WORKSPACE}/libxslt"
- run: "bundle exec rake test"
xmlsoft-head-valgrind:
needs: ["xmlsoft-head"]
runs-on: ubuntu-latest
container:
image: flavorjones/nokogiri-test:mri-3.0
steps:
- uses: actions/checkout@v2
- name: Setup libxml2
run: |
git clone --depth=1 https://gitlab.gnome.org/GNOME/libxml2
cd libxml2
env NOCONFIGURE=t ./autogen.sh
- name: Setup libxslt
run: |
git clone --depth=1 https://gitlab.gnome.org/GNOME/libxslt
cd libxslt
env NOCONFIGURE=t ./autogen.sh
- name: "Run bundle install"
run: "bundle install --local || bundle install"
- name: "Compile against libxml2 and libxslt source directories"
run: "bundle exec rake compile -- --with-xml2-source-dir=${GITHUB_WORKSPACE}/libxml2 --with-xslt-source-dir=${GITHUB_WORKSPACE}/libxslt"
- run: "bundle exec rake test:valgrind"
ruby-head:
strategy:
fail-fast: false
matrix:
plat: ["ubuntu", "windows", "macos"]
sys: ["enable", "disable"]
runs-on: ${{matrix.plat}}-latest
steps:
- name: configure git crlf
if: matrix.plat == 'windows'
run: |
git config --system core.autocrlf false
git config --system core.eol lf
- uses: actions/checkout@v2
- uses: MSP-Greg/setup-ruby-pkgs@ucrt
with:
ruby-version: "head"
apt-get: "libxml2-dev libxslt1-dev pkg-config"
mingw: "_upgrade_ libxml2 libxslt pkgconf"
bundler-cache: true
setup-ruby-ref: MSP-Greg/ruby-setup-ruby/00-win-ucrt
- uses: actions/cache@v2
if: matrix.sys == 'disable'
with:
path: ports/archives
key: tarballs-${{matrix.plat}}-${{hashFiles('**/dependencies.yml')}}
- run: bundle exec rake compile -- --${{matrix.sys}}-system-libraries
- run: bundle exec rake test
ruby-head-valgrind:
needs: ["ruby-head"]
strategy:
fail-fast: false
matrix:
sys: ["enable", "disable"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: MSP-Greg/setup-ruby-pkgs@v1
with:
ruby-version: "head"
apt-get: "libxml2-dev libxslt1-dev pkg-config valgrind"
bundler-cache: true
- uses: actions/cache@v2
if: matrix.sys == 'disable'
with:
path: ports/archives
key: tarballs-ubuntu-${{hashFiles('**/dependencies.yml')}}
- run: bundle exec rake compile -- --${{matrix.sys}}-system-libraries
- run: bundle exec rake test:valgrind
jruby-head:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: "jruby-head"
bundler-cache: true
- run: bundle exec rake compile
- run: bundle exec rake test