Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

upgrade to libxml 2.9.12 #2234

Merged
merged 15 commits into from May 14, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
12 changes: 12 additions & 0 deletions CHANGELOG.md
Expand Up @@ -4,6 +4,18 @@ Nokogiri follows [Semantic Versioning](https://semver.org/), please see the [REA

---

## 1.11.4 / unreleased

### Security

[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)]


### Dependencies

* [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.)


## 1.11.3 / 2021-04-07

### Fixed
Expand Down
333 changes: 333 additions & 0 deletions concourse/nokogiri-v1.11.x.yml
@@ -0,0 +1,333 @@
#@ load("@ytt:template", "template")

#@ load("ruby.star", "cruby_versions")
#@ all_cruby_versions = []
#@ all_cruby_versions.extend(cruby_versions["supported"])
#@ all_cruby_versions.extend(cruby_versions["beta"])

#@ load("ruby.star", "jruby_versions")
#@ all_jruby_versions = []
#@ all_jruby_versions.extend(jruby_versions["supported"])
#@ all_jruby_versions.extend(jruby_versions["beta"])

#@ load("ruby.star", "truffleruby_versions")
#@ all_truffleruby_versions = []
#@ all_truffleruby_versions.extend(truffleruby_versions["supported"])
#@ all_truffleruby_versions.extend(truffleruby_versions["beta"])

---
#@ def registry_image(image_repo, image_tag):
platform: linux
image_resource:
type: registry-image
source:
repository: #@ image_repo
tag: #@ image_tag
#@ end

---
#@ def task_inputs():
- name: nokogiri
path: ci
- name: nokogiri
#@ end

---
% require "common_prelude.rb"

resources:
- name: nokogiri
type: git
icon: "github"
check_every: 5m
webhook_token: ((nokogiri-main-webhook-token))
source:
uri: https://github.com/sparklemotion/nokogiri/
branch: v1.11.x
ignore_paths:
- "*.md"
- "concourse/**"
- "suppressions/**"
- ".github/**"
- "Vagrantfile"


jobs:
#@ job_name = "rubocop"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
- task: rubocop
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic"))
inputs: #@ task_inputs()
run: {path: ci/concourse/tasks/rake-test/rubocop.sh}


#@ job_name = "cruby-on-vanilla-ubuntu"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: ["rubocop"]
- in_parallel:
- task: rake-test
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic"))
inputs: #@ task_inputs()
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
run: {path: ci/concourse/tasks/rake-test/run.sh}
- task: rake-test-32bit
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic32"))
inputs: #@ task_inputs()
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
run: {path: ci/concourse/tasks/rake-test/run.sh}


#@ for ruby_version in all_cruby_versions:
#@ job_name = "cruby-{}".format(ruby_version)
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: ["cruby-on-vanilla-ubuntu"]
- in_parallel:
- task: rake-test-system-libraries
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
inputs: #@ task_inputs()
params:
TEST_WITH_SYSTEM_LIBRARIES: t
#@ if ruby_version == cruby_versions["supported"][-1]:
CC_TEST_REPORTER_ID: ((code_climate_reporter_id_nokogiri))
GIT_BRANCH: main
#@ end
run: {path: ci/concourse/tasks/rake-test/run.sh}
- task: rake-test-vendored-libraries
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
inputs: #@ task_inputs()
run: {path: ci/concourse/tasks/rake-test/run.sh}
- task: rake-test-valgrind
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(ruby_version)))
inputs: #@ task_inputs()
params: {TEST_WITH_VALGRIND: t}
run: {path: ci/concourse/tasks/rake-test/run.sh}
#@ end


#@ for ruby_version in all_jruby_versions:
#@ job_name = "jruby-{}".format(ruby_version)
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: ["cruby-on-vanilla-ubuntu"]
- task: rake-test
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "jruby-{}".format(ruby_version)))
inputs: #@ task_inputs()
run: {path: ci/concourse/tasks/rake-test/run.sh}
#@ end


#@ job_name = "cruby-on-musl"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
- in_parallel:
- task: rake-test-system-libraries
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
inputs: #@ task_inputs()
run: {path: ci/concourse/tasks/rake-test/run.sh}
params: {TEST_WITH_SYSTEM_LIBRARIES: t}
- task: rake-test-valgrind
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
inputs: #@ task_inputs()
run: {path: ci/concourse/tasks/rake-test/run.sh}
params: {TEST_WITH_VALGRIND: t}


#@ job_name = "cruby-with-libxmlruby"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
- in_parallel:
- task: rake-test-system-libraries
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
inputs: #@ task_inputs()
params:
BUNDLE_GEMFILE: "Gemfile-libxml-ruby"
TEST_WITH_SYSTEM_LIBRARIES: t
run: {path: ci/concourse/tasks/rake-test/run.sh}
- task: rake-test-valgrind
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
inputs: #@ task_inputs()
params:
BUNDLE_GEMFILE: "Gemfile-libxml-ruby"
TEST_WITH_VALGRIND: t
run: {path: ci/concourse/tasks/rake-test/run.sh}


#@ job_name = "cruby-gem-test"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
- task: build
config:
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86_64-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
inputs: #@ task_inputs()
outputs: [{name: gems}]
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
- in_parallel:
- task: install-and-test
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-{}".format(cruby_versions["supported"][-1])))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
- task: install-and-test-on-musl
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}


#@ job_name = "cruby-native-gem-test"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
version: every
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
- task: build
config:
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86_64-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
inputs: #@ task_inputs()
outputs: [{name: gems}]
params: {BUILD_NATIVE_GEM: "x86_64-linux"}
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
- in_parallel:
<% $native_ruby_versions.each do |ruby_version| %>
- task: install-and-test-<%= ruby_version %>
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "mri-<%= ruby_version %>"))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
<% end %>
- task: install-and-test-on-musl
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine"))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}


#@ job_name = "cruby-native-gem-test-32bit"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
version: every
passed: #@ ["cruby-{}".format(ruby_version) for ruby_version in cruby_versions["supported"]]
- task: build
config:
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-mri-x86-linux", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
inputs: #@ task_inputs()
outputs: [{name: gems}]
params: {BUILD_NATIVE_GEM: "x86-linux"}
run: {path: ci/concourse/tasks/gem-test/gem-build.sh}
- in_parallel:
- task: install-and-test-on-vanilla-ubuntu-32bit
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "bionic32"))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}
- task: install-and-test-on-musl-32bit
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "alpine32"))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}


#@ job_name = "jruby-gem-test"
- name: #@ job_name
public: true
plan:
- get: nokogiri
trigger: true
passed: #@ ["jruby-{}".format(ruby_version) for ruby_version in jruby_versions["supported"]]
- task: build
config:
"_": #@ template.replace(registry_image("larskanis/rake-compiler-dock-jruby", "<%= RakeCompilerDock::IMAGE_VERSION %>"))
inputs: #@ task_inputs()
outputs: [{name: gems}]
run: {path: ci/concourse/tasks/gem-test/gem-build-java.sh}
- task: install-and-test
config:
"_": #@ template.replace(registry_image("flavorjones/nokogiri-test", "jruby-{}".format(jruby_versions["supported"][-1])))
inputs:
- name: nokogiri
path: ci
- name: nokogiri
- name: gems
run: {path: ci/concourse/tasks/gem-test/gem-install-and-test.sh}


- name: build-success
public: true
disable_manual_trigger: true
plan:
- get: nokogiri
trigger: true
version: every
passed:
- cruby-on-musl
- cruby-with-libxmlruby
- cruby-gem-test
- cruby-native-gem-test
- jruby-gem-test