diff --git a/ruby4.0-systemd-journal.yaml b/ruby4.0-systemd-journal.yaml new file mode 100644 index 00000000000..745a2ce00a2 --- /dev/null +++ b/ruby4.0-systemd-journal.yaml @@ -0,0 +1,60 @@ +package: + name: ruby4.0-systemd-journal + version: "2.1.1" + epoch: 0 + description: Provides the ability to navigate and read entries from the systemd journal in ruby, as well as write events to the journal. + copyright: + - license: MIT + dependencies: + runtime: + - libsystemd # libsystemd.so.0 is dlopened + - ruby${{vars.rubyMM}}-ffi + - ruby-${{vars.rubyMM}} + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +vars: + gem: systemd-journal + +pipeline: + - uses: git-checkout + with: + expected-commit: aa663188dacc03eae1c41d07d5a43fe4c6291480 + repository: https://github.com/ledbettj/systemd-journal + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +test: + pipeline: + - runs: | + ruby -e "require 'systemd/journal'" + - uses: test/tw/ldd-check + +update: + enabled: true + github: + identifier: ledbettj/systemd-journal + strip-prefix: v + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-thor.yaml b/ruby4.0-thor.yaml new file mode 100644 index 00000000000..fdad3796448 --- /dev/null +++ b/ruby4.0-thor.yaml @@ -0,0 +1,92 @@ +# Generated from https://github.com/rails/thor/tree/v1.3.2 +package: + name: ruby4.0-thor + version: "1.4.0" + epoch: 0 + description: Thor is a toolkit for building powerful command-line interfaces. + copyright: + - license: MIT + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/rails/thor.git + tag: v${{package.version}} + expected-commit: 518ae0f49bb1c3dc2226607c07da74b591759ed0 + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +update: + enabled: true + github: + identifier: rails/thor + strip-prefix: v + use-tag: true + tag-filter: v + +vars: + gem: thor + +test: + pipeline: + - uses: test/tw/gem-check + with: + require: | + thor + thor/actions + thor/base + thor/command + thor/error + thor/group + thor/invocation + thor/line_editor + thor/nested_context + thor/parser + thor/rake_compat + thor/runner + thor/shell + thor/util + thor/version + thor/actions/create_file + thor/actions/create_link + thor/actions/directory + thor/actions/empty_directory + thor/actions/file_manipulation + thor/actions/inject_into_file + thor/core_ext/hash_with_indifferent_access + thor/line_editor/basic + thor/parser/argument + thor/parser/arguments + thor/shell/basic + thor/shell/color + thor/shell/column_printer + thor/shell/html + thor/shell/lcs_diff + thor/shell/table_printer + thor/shell/terminal + thor/shell/wrapped_printer + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-thread_safe.yaml b/ruby4.0-thread_safe.yaml new file mode 100644 index 00000000000..c1500c8efb3 --- /dev/null +++ b/ruby4.0-thread_safe.yaml @@ -0,0 +1,56 @@ +# Generated from https://github.com/ruby-concurrency/thread_safe +package: + name: ruby4.0-thread_safe + version: 0.3.6 + epoch: 0 + description: A collection of data structures and utilities to make thread-safe programming in Ruby easier + copyright: + - license: Apache-2.0 + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: ccfd11b76d6cf74ba0e19278fba9ba1b7f5ea5ca + repository: https://github.com/ruby-concurrency/thread_safe + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: thread_safe + +update: + enabled: true + github: + identifier: ruby-concurrency/thread_safe + strip-prefix: v + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check diff --git a/ruby4.0-tilt.yaml b/ruby4.0-tilt.yaml new file mode 100644 index 00000000000..0a4ef039b41 --- /dev/null +++ b/ruby4.0-tilt.yaml @@ -0,0 +1,61 @@ +# Generated from https://github.com/jeremyevans/tilt +package: + name: ruby4.0-tilt + version: "2.6.1" + epoch: 0 + description: Generic interface to multiple Ruby template engines + copyright: + - license: MIT + dependencies: + runtime: + - ruby-${{vars.rubyMM}} + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: 0697fe45e5b7ff2fabd947e7ae55d1312e1ec5ef + repository: https://github.com/jeremyevans/tilt + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: tilt + +update: + enabled: true + github: + identifier: jeremyevans/tilt + strip-prefix: v + use-tag: true + +test: + pipeline: + # AUTOGENERATED + - runs: | + tilt --help + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-treetop.yaml b/ruby4.0-treetop.yaml new file mode 100644 index 00000000000..02fd38040fc --- /dev/null +++ b/ruby4.0-treetop.yaml @@ -0,0 +1,62 @@ +# Generated from https://github.com/cjheath/treetop +package: + name: ruby4.0-treetop + version: "1.6.14" + epoch: 0 + description: A Parsing Expression Grammar (PEG) Parser generator DSL for Ruby + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-polyglot + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: 25bd9f65ef0eb47be7d7e7374cfcfee751df7842 + repository: https://github.com/cjheath/treetop + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: treetop + +update: + enabled: true + github: + identifier: cjheath/treetop + strip-prefix: v + use-tag: true + +test: + pipeline: + # AUTOGENERATED + - runs: | + tt --version + tt --help + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-tzinfo-data.yaml b/ruby4.0-tzinfo-data.yaml new file mode 100644 index 00000000000..3f0183e94be --- /dev/null +++ b/ruby4.0-tzinfo-data.yaml @@ -0,0 +1,63 @@ +package: + name: ruby4.0-tzinfo-data + version: "1.2025.3" + epoch: 0 + description: TZInfo::Data contains data from the IANA Time Zone database packaged as Ruby modules for use with TZInfo. + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-tzinfo + - ruby-${{vars.rubyMM}} + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +vars: + gem: tzinfo-data + +pipeline: + - uses: git-checkout + with: + expected-commit: 984750ce9786584ec0cc7948dc41b601cda66ac4 + repository: https://github.com/tzinfo/tzinfo-data + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +update: + enabled: true + github: + identifier: tzinfo/tzinfo-data + strip-prefix: v + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check + with: + require: | + tzinfo/data + tzinfo/data/tzdataparser + tzinfo/data/version diff --git a/ruby4.0-validate_email.yaml b/ruby4.0-validate_email.yaml new file mode 100644 index 00000000000..7c9815811e6 --- /dev/null +++ b/ruby4.0-validate_email.yaml @@ -0,0 +1,59 @@ +package: + name: ruby4.0-validate_email + version: 0.1.6 + epoch: 0 + description: Library for validating email addresses in Rails 3 models. + dependencies: + runtime: + - ruby${{vars.rubyMM}}-activemodel + - ruby${{vars.rubyMM}}-mail + copyright: + - license: MIT + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/perfectline/validates_email + tag: v${{package.version}} + expected-commit: 25a5efcd7b4daa6445d3be9e8ba103b174ba9e4b + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: validate_email + +update: + enabled: true + github: + identifier: perfectline/validates_email + strip-prefix: v + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check diff --git a/ruby4.0-validate_url.yaml b/ruby4.0-validate_url.yaml new file mode 100644 index 00000000000..d3bcfdc338e --- /dev/null +++ b/ruby4.0-validate_url.yaml @@ -0,0 +1,58 @@ +package: + name: ruby4.0-validate_url + version: 1.0.15 + epoch: 0 + description: Library for validating urls in Rails. + dependencies: + runtime: + - ruby${{vars.rubyMM}}-activemodel + - ruby${{vars.rubyMM}}-public_suffix + copyright: + - license: MIT + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + # This is a workaround as validate_url stopped tagging releases + # after their 1.0.5 release. It is adapted from our git-checkout + # pipeline as of 2023-07-24. + - uses: fetch + with: + # This commit is the 1.0.15 release + uri: https://github.com/perfectline/validates_url/archive/9c8a33558bba162fcc8c23732ba5b6e47fceaf86.tar.gz + expected-sha512: 3e5af128a911c5eb7c7c8b128f8834000aa540105c4ba5d4b6ff30ae7c11038c1e7ad73afc3c03e28260b4167954967a3db4f73fb8a4dc083b95b5cce6767572 + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: validate_url + +update: + enabled: false + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check diff --git a/ruby4.0-version_gem.yaml b/ruby4.0-version_gem.yaml new file mode 100644 index 00000000000..08aa7412111 --- /dev/null +++ b/ruby4.0-version_gem.yaml @@ -0,0 +1,56 @@ +package: + name: ruby4.0-version_gem + version: "1.1.9" + epoch: 0 + description: Versions are good. Versions are cool. Versions will win. + copyright: + - license: MIT + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: a5d93f50d06af9ded2b1afeafeccf0cb74cf196b + tag: v${{package.version}} + repository: https://gitlab.com/oauth-xx/version_gem + + - runs: sed -i '/signing_key/d' ${{vars.gem}}.gemspec + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: version_gem + +update: + enabled: true + git: + strip-prefix: v + tag-filter-prefix: v + +test: + pipeline: + - runs: ruby -e "require 'version_gem'" + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-webfinger.yaml b/ruby4.0-webfinger.yaml new file mode 100644 index 00000000000..cfa9abb21ce --- /dev/null +++ b/ruby4.0-webfinger.yaml @@ -0,0 +1,59 @@ +package: + name: ruby4.0-webfinger + version: 2.1.2 + epoch: 0 + description: Ruby WebFinger client library + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-activesupport + - ruby${{vars.rubyMM}}-faraday + - ruby${{vars.rubyMM}}-faraday-follow_redirects + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/nov/webfinger + tag: v${{package.version}} + expected-commit: a79f140bcd5a0ac2140eefed5316e572625a0563 + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: webfinger + +update: + enabled: true + github: + identifier: nov/webfinger + strip-prefix: v + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check diff --git a/ruby4.0-webrick.yaml b/ruby4.0-webrick.yaml new file mode 100644 index 00000000000..07237deec0c --- /dev/null +++ b/ruby4.0-webrick.yaml @@ -0,0 +1,92 @@ +package: + name: ruby4.0-webrick + version: "1.9.2" + epoch: 0 + description: WEBrick is an HTTP server toolkit that can be configured as an HTTPS server, a proxy server, and a virtual-host server. + copyright: + - license: Ruby + - license: BSD-2-Clause + dependencies: + runtime: + - ruby-${{vars.rubyMM}} + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +vars: + gem: webrick + +pipeline: + - uses: git-checkout + with: + expected-commit: b1684cecf9eb87cb2ae20fd52fbb80cf3e859c8a + repository: https://github.com/ruby/webrick + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +update: + enabled: true + github: + identifier: ruby/webrick + strip-prefix: v + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - uses: test/tw/gem-check + with: + require: | + webrick + webrick/accesslog + webrick/cgi + webrick/compat + webrick/config + webrick/cookie + webrick/htmlutils + webrick/httpauth + webrick/httpproxy + webrick/httprequest + webrick/httpresponse + webrick/https + webrick/httpserver + webrick/httpservlet + webrick/httpstatus + webrick/httputils + webrick/httpversion + webrick/log + webrick/server + webrick/ssl + webrick/utils + webrick/version + webrick/httpauth/basicauth + webrick/httpauth/digestauth + webrick/httpauth/htdigest + webrick/httpauth/htgroup + webrick/httpauth/htpasswd + webrick/httpauth/userdb + webrick/httpservlet/abstract + webrick/httpservlet/cgihandler + webrick/httpservlet/erbhandler + webrick/httpservlet/prochandler diff --git a/ruby4.0-yajl-ruby.yaml b/ruby4.0-yajl-ruby.yaml new file mode 100644 index 00000000000..8076650bda0 --- /dev/null +++ b/ruby4.0-yajl-ruby.yaml @@ -0,0 +1,112 @@ +#nolint:valid-pipeline-git-checkout-commit,valid-pipeline-git-checkout-tag +package: + name: ruby4.0-yajl-ruby + version: 1.4.3 + epoch: 0 + description: ruby C bindings for Yajl library + copyright: + - license: MIT + dependencies: + runtime: + - ruby-${{vars.rubyMM}} + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +vars: + gem: yajl-ruby + # The latest releases of yajl-ruby were released on rubygems.org but a tag + # was not created in the repo itself. https://github.com/brianmario/yajl-ruby + # + # This commit matches the 1.4.3 release on rubygems.org so it's used to check + # the repository out and build the 1.4.3 version of yajl-ruby + # https://github.com/brianmario/yajl-ruby/issues/216 + commit: 63760720e58d8cb818d59ae6c4f3d96760cd7854 + +pipeline: + # This package _also_ makes use of `git ls-files` in it's gemspec so the git + # repo must be checked out in order for the gem to build with all files. + - uses: git-checkout + with: + branch: master + destination: ${{vars.gem}} + repository: https://github.com/brianmario/yajl-ruby + depth: -1 + + - working-directory: ${{vars.gem}} + pipeline: + # NOTE: See the vars.commit comment + - runs: git checkout ${{vars.commit}} + - uses: ruby/build + with: + gem: ${{vars.gem}} + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + - uses: ruby/clean + +update: + enabled: true + manual: true # update fails while we are using a commit rather than tag + github: + identifier: brianmario/yajl-ruby + strip-prefix: v + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + environment: + contents: + packages: + - ruby-${{vars.rubyMM}} + pipeline: + - uses: test/tw/gem-check + with: + require: | + yajl + yajl/json_gem + yajl/json_gem/encoding + yajl/json_gem/parsing + yajl/version + - name: Verify library loading + runs: | + ruby -e "require 'yajl'; puts 'Successfully loaded yajl-ruby library'" + - name: Basic JSON parsing and encoding test + runs: | + ruby <<-EOF + require 'yajl' + + # Test parsing JSON + json_string = '{"test": "value", "numbers": [1, 2, 3]}' + parsed = Yajl::Parser.parse(json_string) + + # Verify parsing worked correctly + raise "Parsing failed: expected 'value', got '\#{parsed['test']}'" unless parsed['test'] == 'value' + raise "Array parsing failed" unless parsed['numbers'].is_a?(Array) && parsed['numbers'] == [1, 2, 3] + puts "JSON parsing test passed!" + + # Test encoding + hash = {"hello" => "world", "array" => [1, 2, "three"]} + encoded = Yajl::Encoder.encode(hash) + + # Verify we can parse what we encoded + decoded = Yajl::Parser.parse(encoded) + raise "Round-trip encoding test failed" unless decoded == hash + puts "JSON encoding test passed!" + + puts "All yajl-ruby tests passed successfully!" + EOF + - uses: test/tw/ldd-check