Skip to content

Commit 9285251

Browse files
authored
Merge pull request #2234 from sparklemotion/2233-upgrade-to-libxml-2-9-12
upgrade to libxml 2.9.12
2 parents d244fb8 + 5436f61 commit 9285251

20 files changed

+1116
-393
lines changed

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,18 @@ Nokogiri follows [Semantic Versioning](https://semver.org/), please see the [REA
44

55
---
66

7+
## 1.11.4 / unreleased
8+
9+
### Security
10+
11+
[CRuby] Vendored libxml2 upgraded to v2.9.12 which addresses [CVE-2021-3541](https://blog.hartwork.org/posts/cve-2021-3541-parameter-laughs-fixed-in-libxml2-2-9-11/). [[#2233](https://github.com/sparklemotion/nokogiri/issues/2233)]
12+
13+
14+
### Dependencies
15+
16+
* [CRuby] vendored libxml2 is updated from 2.9.10 to 2.9.12. (Note that 2.9.11 was skipped because it was superseded by 2.9.12 a few hours after its release.)
17+
18+
719
## 1.11.3 / 2021-04-07
820

921
### Fixed

concourse/nokogiri-v1.11.x.yml

Lines changed: 333 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,333 @@
1+
#@ load("@ytt:template", "template")
2+
3+
#@ load("ruby.star", "cruby_versions")
4+
#@ all_cruby_versions = []
5+
#@ all_cruby_versions.extend(cruby_versions["supported"])
6+
#@ all_cruby_versions.extend(cruby_versions["beta"])
7+
8+
#@ load("ruby.star", "jruby_versions")
9+
#@ all_jruby_versions = []
10+
#@ all_jruby_versions.extend(jruby_versions["supported"])
11+
#@ all_jruby_versions.extend(jruby_versions["beta"])
12+
13+
#@ load("ruby.star", "truffleruby_versions")
14+
#@ all_truffleruby_versions = []
15+
#@ all_truffleruby_versions.extend(truffleruby_versions["supported"])
16+
#@ all_truffleruby_versions.extend(truffleruby_versions["beta"])
17+
18+
---
19+
#@ def registry_image(image_repo, image_tag):
20+
platform: linux
21+
image_resource:
22+
type: registry-image
23+
source:
24+
repository: #@ image_repo
25+
tag: #@ image_tag
26+
#@ end
27+
28+
---
29+
#@ def task_inputs():
30+
- name: nokogiri
31+
path: ci
32+
- name: nokogiri
33+
#@ end
34+
35+
---
36+
% require "common_prelude.rb"
37+
38+
resources:
39+
- name: nokogiri
40+
type: git
41+
icon: "github"
42+
check_every: 5m
43+
webhook_token: ((nokogiri-main-webhook-token))
44+
source:
45+
uri: https://github.com/sparklemotion/nokogiri/
46+
branch: v1.11.x
47+
ignore_paths:
48+
- "*.md"
49+
- "concourse/**"
50+
- "suppressions/**"
51+
- ".github/**"
52+
- "Vagrantfile"
53+
54+
55+
jobs:
56+
#@ job_name = "rubocop"
57+
- name: #@ job_name
58+
public: true
59+
plan:
60+
- get: nokogiri
61+
trigger: true
62+
- task: rubocop
63+
config:
64+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic"))
65+
inputs: #@ task_inputs()
66+
run: {path: ci/concourse/tasks/rake-test/rubocop.sh}
67+
68+
69+
#@ job_name = "cruby-on-vanilla-ubuntu"
70+
- name: #@ job_name
71+
public: true
72+
plan:
73+
- get: nokogiri
74+
trigger: true
75+
passed: ["rubocop"]
76+
- in_parallel:
77+
- task: rake-test
78+
config:
79+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic"))
80+
inputs: #@ task_inputs()
81+
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
82+
run: {path: ci/concourse/tasks/rake-test/run.sh}
83+
- task: rake-test-32bit
84+
config:
85+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic32"))
86+
inputs: #@ task_inputs()
87+
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
88+
run: {path: ci/concourse/tasks/rake-test/run.sh}
89+
90+
91+
#@ for ruby_version in all_cruby_versions:
92+
#@ job_name = "cruby-{}".format(ruby_version)
93+
- name: #@ job_name
94+
public: true
95+
plan:
96+
- get: nokogiri
97+
trigger: true
98+
passed: ["cruby-on-vanilla-ubuntu"]
99+
- in_parallel:
100+
- task: rake-test-system-libraries
101+
config:
102+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
103+
inputs: #@ task_inputs()
104+
params:
105+
TEST_WITH_SYSTEM_LIBRARIES: t
106+
#@ if ruby_version == cruby_versions["supported"][-1]:
107+
CC_TEST_REPORTER_ID: ((code_climate_reporter_id_nokogiri))
108+
GIT_BRANCH: main
109+
#@ end
110+
run: {path: ci/concourse/tasks/rake-test/run.sh}
111+
- task: rake-test-vendored-libraries
112+
config:
113+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
114+
inputs: #@ task_inputs()
115+
run: {path: ci/concourse/tasks/rake-test/run.sh}
116+
- task: rake-test-valgrind
117+
config:
118+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
119+
inputs: #@ task_inputs()
120+
params: {TEST_WITH_VALGRIND: t}
121+
run: {path: ci/concourse/tasks/rake-test/run.sh}
122+
#@ end
123+
124+
125+
#@ for ruby_version in all_jruby_versions:
126+
#@ job_name = "jruby-{}".format(ruby_version)
127+
- name: #@ job_name
128+
public: true
129+
plan:
130+
- get: nokogiri
131+
trigger: true
132+
passed: ["cruby-on-vanilla-ubuntu"]
133+
- task: rake-test
134+
config:
135+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "jruby-{}".format(ruby_version)))
136+
inputs: #@ task_inputs()
137+
run: {path: ci/concourse/tasks/rake-test/run.sh}
138+
#@ end
139+
140+
141+
#@ job_name = "cruby-on-musl"
142+
- name: #@ job_name
143+
public: true
144+
plan:
145+
- get: nokogiri
146+
trigger: true
147+
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
148+
- in_parallel:
149+
- task: rake-test-system-libraries
150+
config:
151+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
152+
inputs: #@ task_inputs()
153+
run: {path: ci/concourse/tasks/rake-test/run.sh}
154+
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
155+
- task: rake-test-valgrind
156+
config:
157+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
158+
inputs: #@ task_inputs()
159+
run: {path: ci/concourse/tasks/rake-test/run.sh}
160+
params: {TEST_WITH_VALGRIND: t}
161+
162+
163+
#@ job_name = "cruby-with-libxmlruby"
164+
- name: #@ job_name
165+
public: true
166+
plan:
167+
- get: nokogiri
168+
trigger: true
169+
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
170+
- in_parallel:
171+
- task: rake-test-system-libraries
172+
config:
173+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
174+
inputs: #@ task_inputs()
175+
params:
176+
BUNDLE_GEMFILE: "Gemfile-libxml-ruby"
177+
TEST_WITH_SYSTEM_LIBRARIES: t
178+
run: {path: ci/concourse/tasks/rake-test/run.sh}
179+
- task: rake-test-valgrind
180+
config:
181+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
182+
inputs: #@ task_inputs()
183+
params:
184+
BUNDLE_GEMFILE: "Gemfile-libxml-ruby"
185+
TEST_WITH_VALGRIND: t
186+
run: {path: ci/concourse/tasks/rake-test/run.sh}
187+
188+
189+
#@ job_name = "cruby-gem-test"
190+
- name: #@ job_name
191+
public: true
192+
plan:
193+
- get: nokogiri
194+
trigger: true
195+
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
196+
- task: build
197+
config:
198+
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86_64-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
199+
inputs: #@ task_inputs()
200+
outputs: [{name: gems}]
201+
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
202+
- in_parallel:
203+
- task: install-and-test
204+
config:
205+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
206+
inputs:
207+
- name: nokogiri
208+
path: ci
209+
- name: nokogiri
210+
- name: gems
211+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
212+
- task: install-and-test-on-musl
213+
config:
214+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
215+
inputs:
216+
- name: nokogiri
217+
path: ci
218+
- name: nokogiri
219+
- name: gems
220+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
221+
222+
223+
#@ job_name = "cruby-native-gem-test"
224+
- name: #@ job_name
225+
public: true
226+
plan:
227+
- get: nokogiri
228+
trigger: true
229+
version: every
230+
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
231+
- task: build
232+
config:
233+
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86_64-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
234+
inputs: #@ task_inputs()
235+
outputs: [{name: gems}]
236+
params: {BUILD_NATIVE_GEM: "x86_64-linux"}
237+
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
238+
- in_parallel:
239+
<% $native_ruby_versions.each do |ruby_version| %>
240+
- task: install-and-test-<%= ruby_version %>
241+
config:
242+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-<%= ruby_version %>"))
243+
inputs:
244+
- name: nokogiri
245+
path: ci
246+
- name: nokogiri
247+
- name: gems
248+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
249+
<% end %>
250+
- task: install-and-test-on-musl
251+
config:
252+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
253+
inputs:
254+
- name: nokogiri
255+
path: ci
256+
- name: nokogiri
257+
- name: gems
258+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
259+
260+
261+
#@ job_name = "cruby-native-gem-test-32bit"
262+
- name: #@ job_name
263+
public: true
264+
plan:
265+
- get: nokogiri
266+
trigger: true
267+
version: every
268+
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
269+
- task: build
270+
config:
271+
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
272+
inputs: #@ task_inputs()
273+
outputs: [{name: gems}]
274+
params: {BUILD_NATIVE_GEM: "x86-linux"}
275+
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
276+
- in_parallel:
277+
- task: install-and-test-on-vanilla-ubuntu-32bit
278+
config:
279+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic32"))
280+
inputs:
281+
- name: nokogiri
282+
path: ci
283+
- name: nokogiri
284+
- name: gems
285+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
286+
- task: install-and-test-on-musl-32bit
287+
config:
288+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine32"))
289+
inputs:
290+
- name: nokogiri
291+
path: ci
292+
- name: nokogiri
293+
- name: gems
294+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
295+
296+
297+
#@ job_name = "jruby-gem-test"
298+
- name: #@ job_name
299+
public: true
300+
plan:
301+
- get: nokogiri
302+
trigger: true
303+
passed: #@ ["jruby-{}".format(ruby_version) for ruby_version in jruby_versions["supported"]]
304+
- task: build
305+
config:
306+
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-jruby", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
307+
inputs: #@ task_inputs()
308+
outputs: [{name: gems}]
309+
run: {path: ci/concourse/tasks/gem-test/gem-build-java.sh}
310+
- task: install-and-test
311+
config:
312+
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "jruby-{}".format(jruby_versions["supported"][-1])))
313+
inputs:
314+
- name: nokogiri
315+
path: ci
316+
- name: nokogiri
317+
- name: gems
318+
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
319+
320+
321+
- name: build-success
322+
public: true
323+
disable_manual_trigger: true
324+
plan:
325+
- get: nokogiri
326+
trigger: true
327+
version: every
328+
passed:
329+
- cruby-on-musl
330+
- cruby-with-libxmlruby
331+
- cruby-gem-test
332+
- cruby-native-gem-test
333+
- jruby-gem-test

0 commit comments

Comments
 (0)