diff --git a/concourse/common_prelude.rb b/concourse/common_prelude.rb index 9889cdf216..6425da960f 100644 --- a/concourse/common_prelude.rb +++ b/concourse/common_prelude.rb @@ -6,3 +6,6 @@ "suppressions/**", ".github/**", ].to_json + +cross_rubies_path = File.join(File.dirname(__FILE__), "..", ".cross_rubies") +$native_ruby_versions = File.read(cross_rubies_path).split("\n").map { |line| line.split(":").first.split(".").take(2).join(".") }.uniq.sort diff --git a/concourse/nokogiri-pr.yml b/concourse/nokogiri-pr.yml index 55b4b9c4b3..01ae4c0b88 100644 --- a/concourse/nokogiri-pr.yml +++ b/concourse/nokogiri-pr.yml @@ -350,6 +350,62 @@ jobs: path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - name: native-gem-test + public: true + on_failure: { in_parallel: [*notify_failure_to_irc, *notify_failure_to_pr] } + plan: + - get: ci + - get: nokogiri-pr + trigger: true + version: every + passed: ["gate-2"] + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "larskanis/rake-compiler-dock-mri-x86_64-linux", tag: "<%= RakeCompilerDock::IMAGE_VERSION %>"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + outputs: + - name: gems + params: + BUILD_NATIVE_GEM: t + 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: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-<%= ruby_version %>"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh +% end + - task: install-and-test-on-musl + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "alpine"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + + - name: gem-test-java public: true on_failure: { in_parallel: [*notify_failure_to_irc, *notify_failure_to_pr] } diff --git a/concourse/nokogiri-pr.yml.generated b/concourse/nokogiri-pr.yml.generated index 9a1b2fecde..b8903077ed 100644 --- a/concourse/nokogiri-pr.yml.generated +++ b/concourse/nokogiri-pr.yml.generated @@ -569,6 +569,99 @@ jobs: path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - name: native-gem-test + public: true + on_failure: { in_parallel: [*notify_failure_to_irc, *notify_failure_to_pr] } + plan: + - get: ci + - get: nokogiri-pr + trigger: true + version: every + passed: ["gate-2"] + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "larskanis/rake-compiler-dock-mri-x86_64-linux", tag: "1.0.0"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + outputs: + - name: gems + params: + BUILD_NATIVE_GEM: t + run: + path: ci/concourse/tasks/gem-test/gem-build.sh + - in_parallel: + - task: install-and-test-2.4 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.4"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.5 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.5"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.6 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.6"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.7 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.7"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-on-musl + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "alpine"} + inputs: + - name: ci + - name: nokogiri-pr + path: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + + - name: gem-test-java public: true on_failure: { in_parallel: [*notify_failure_to_irc, *notify_failure_to_pr] } diff --git a/concourse/nokogiri.yml b/concourse/nokogiri.yml index da90756fd6..a8f53047be 100644 --- a/concourse/nokogiri.yml +++ b/concourse/nokogiri.yml @@ -311,6 +311,59 @@ jobs: path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - name: native-gem-test + public: true + on_failure: *notify_failure_to_irc + plan: + - get: ci + - get: nokogiri + trigger: true + version: every + passed: ["gate-2"] + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "larskanis/rake-compiler-dock-mri-x86_64-linux", tag: "<%= RakeCompilerDock::IMAGE_VERSION %>"} + inputs: + - name: ci + - name: nokogiri + outputs: + - name: gems + params: + BUILD_NATIVE_GEM: t + 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: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-<%= ruby_version %>"} + inputs: + - name: 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: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "alpine"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + + - name: gem-test-java public: true on_failure: *notify_failure_to_irc diff --git a/concourse/nokogiri.yml.generated b/concourse/nokogiri.yml.generated index 02c895d38a..c7f2f1879d 100644 --- a/concourse/nokogiri.yml.generated +++ b/concourse/nokogiri.yml.generated @@ -508,6 +508,93 @@ jobs: path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - name: native-gem-test + public: true + on_failure: *notify_failure_to_irc + plan: + - get: ci + - get: nokogiri + trigger: true + version: every + passed: ["gate-2"] + - task: build + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "larskanis/rake-compiler-dock-mri-x86_64-linux", tag: "1.0.0"} + inputs: + - name: ci + - name: nokogiri + outputs: + - name: gems + params: + BUILD_NATIVE_GEM: t + run: + path: ci/concourse/tasks/gem-test/gem-build.sh + - in_parallel: + - task: install-and-test-2.4 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.4"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.5 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.5"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.6 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.6"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-2.7 + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "mri-2.7"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + - task: install-and-test-on-musl + config: + platform: linux + image_resource: + type: registry-image + source: {repository: "flavorjones/nokogiri-test", tag: "alpine"} + inputs: + - name: ci + - name: nokogiri + - name: gems + run: + path: ci/concourse/tasks/gem-test/gem-install-and-test.sh + + - name: gem-test-java public: true on_failure: *notify_failure_to_irc