diff --git a/ruby4.0-quantile.yaml b/ruby4.0-quantile.yaml new file mode 100644 index 00000000000..c8651a3afaa --- /dev/null +++ b/ruby4.0-quantile.yaml @@ -0,0 +1,61 @@ +# Generated from http://github.com/matttproud/ruby_quantile_estimation +package: + name: ruby4.0-quantile + version: 0.2.1 + epoch: 0 + description: Graham Cormode and S. Muthukrishnan's Effective Computation of Biased Quantiles over Data Streams in ICDE’05 + copyright: + - license: Apache-2.0 + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: fetch + with: + expected-sha256: a31b7ae352f41563b42ac5a8bcb67d182c1d1aff03da77cc9e99b7d9da79f371 + uri: https://github.com/matttproud/ruby_quantile_estimation/archive/refs/tags/v${{package.version}}.tar.gz + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: quantile + +update: + enabled: true + github: + identifier: matttproud/ruby_quantile_estimation + 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 + with: + require: | + quantile + quantile/estimator + quantile/quantile + quantile/version diff --git a/ruby4.0-rails-8.1.yaml b/ruby4.0-rails-8.1.yaml new file mode 100644 index 00000000000..654d44a038a --- /dev/null +++ b/ruby4.0-rails-8.1.yaml @@ -0,0 +1,189 @@ +package: + name: ruby4.0-rails-8.1 + version: "8.1.1" + epoch: 0 + description: Rails is a web-application framework that includes everything needed to create database-backed web applications according to the Model-View-Controller (MVC) pattern. + copyright: + - license: MIT + dependencies: + provides: + - rails=${{package.full-version}} + - ruby${{vars.rubyMM}}-rails=${{package.full-version}} + runtime: + - gcc + - git + - glibc-dev + - make + - ruby${{vars.rubyMM}}-bundler + - ruby${{vars.rubyMM}}-net-imap + - ruby-${{vars.rubyMM}}-dev + - tzdata + +environment: + contents: + packages: + - gcc + - glibc-dev + - make + - ruby${{vars.rubyMM}}-net-imap + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + - yaml-dev + +vars: + gem: rails + +pipeline: + - uses: git-checkout + with: + expected-commit: 90a1eaa1b30ba1f2d524e197460e549c03cf5698 + repository: https://github.com/rails/rails + tag: v${{package.version}} + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - name: Custom install + runs: | + mkdir -p ${{targets.contextdir}}/usr/bin + gem install ${{vars.gem}}-${{package.version}}.gem \ + --bindir /tmp/bin \ + --install-dir ${{targets.contextdir}}/usr/share/ruby/gems/${{vars.rubyMM}} \ + --no-document \ + --verbose \ + --version ${{package.version}} + + # These are the binaries that rails provides that don't overlap with those already provided by ruby + for bin in nokogiri rackup rails thor; do + mv /tmp/bin/$bin ${{targets.contextdir}}/usr/bin/ + done + + - uses: ruby/clean + +subpackages: + - name: ${{package.name}}-compat + pipeline: + - runs: | + # Ruby expects user-installed gems/binaries in /usr/local/bundle + mkdir -p ${{targets.contextdir}}/usr/share/ruby/gems/${{vars.rubyMM}}/bin + for bin in nokogiri rackup rails thor; do + ln -sf /usr/bin/$bin ${{targets.contextdir}}/usr/share/ruby/gems/${{vars.rubyMM}}/bin/$bin + done + + mkdir -p ${{targets.contextdir}}/usr/local + ln -sf /usr/share/ruby/gems/${{vars.rubyMM}} ${{targets.contextdir}}/usr/local/bundle + +test: + environment: + environment: + GEM_HOME: /usr/local/bundle + contents: + packages: + - ${{package.name}}-compat + - ruby${{vars.rubyMM}}-psych + - pkgconf + pipeline: + - name: Test installation + runs: rails --version + - name: Test symlinks + runs: | + $GEM_HOME/bin/rails --version | grep ${{package.version}} + + # New gems should go to $GEM_HOME which is linked to /usr/share/ruby/gems/... + gem install faraday # random gem not included in rails + gem install sidekiq + ls /usr/share/ruby/gems/${{vars.rubyMM}}/gems | grep faraday + - name: Test new app creation / run server + uses: test/daemon-check-output + with: + setup: rails new test-app + start: test-app/bin/rails server + expected_output: | + Booting Puma + Rails ${{package.version}} application starting in development + Puma starting in single mode + Listening on http://127.0.0.1:3000 + error_strings: | + "msg":"error" + "level":"error" + "panic" + "fatal" + failed + Error: + error: + denied + - name: Test basic rails commands + runs: | + rails new test-app + cd test-app + + # Test creating a database model + bin/rails generate model Product name:string + ls db/migrate | grep create_products.rb + ls app/models | grep product.rb + ls test/models | grep product_test.rb + ls test/fixtures | grep products.yml + + # Test a db migration + bin/rails db:migrate + + # Test creating a controller + bin/rails generate controller Products index + ls app/controllers | grep products_controller.rb + ls app/views/products | grep index.html.erb + ls test/controllers | grep products_controller_test.rb + ls app/helpers | grep products_helper.rb + + # Test running generated tests + bin/rails test + + # Test the rails console startup + bin/rails console + + # Test routes + bin/rails routes + + # Test creating authentication + bin/rails generate authentication + ls db/migrate | grep create_users.rb + ls db/migrate | grep create_sessions.rb + ls test/models | grep user_test.rb + ls test/fixtures | grep users.yml + + bin/rails db:migrate # should create the users and sessions tables + + # Test enabling caching in dev + bin/rails dev:cache | grep "caching enabled for development mode." + + # Test installing action text + bin/rails action_text:install + ls app/assets/stylesheets | grep actiontext.css + ls app/views/layouts/action_text/contents | grep content.html.erb + ls test/fixtures/action_text | grep rich_texts.yml + + # Test completing action text installation + bundle install + bin/rails db:migrate # should create the action text and active storage tables + + # Test built-in linter rubocop + bin/rubocop | grep "no offenses detected" + + # Test built-in security scanner brakeman + bin/brakeman | grep "No warnings found" + +update: + enabled: true + ignore-regex-patterns: + - 'rc\d+$' + github: + identifier: rails/rails + strip-prefix: v + tag-filter: v8.1. + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-redis-client.yaml b/ruby4.0-redis-client.yaml new file mode 100644 index 00000000000..1c74a5f537b --- /dev/null +++ b/ruby4.0-redis-client.yaml @@ -0,0 +1,156 @@ +# Generated from https://github.com/redis-rb/redis-client +package: + name: ruby4.0-redis-client + version: "0.26.2" + epoch: 0 + description: Simple low-level client for Redis 6+ + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-connection_pool + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: d51cf59ebe7c03b6e6f4d571392bc5ecfdadedd6 + repository: https://github.com/redis-rb/redis-client + 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: redis-client + +update: + enabled: true + github: + identifier: redis-rb/redis-client + 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}}-connection_pool + pipeline: + - name: Basic require test + runs: ruby -e "require 'redis-client'; puts 'Redis client loaded successfully!'" + - name: Test configuration and url parsing + runs: | + ruby <<-EOF + require 'redis-client' + + # Test basic configuration + begin + config = RedisClient.config( + host: "localhost", + port: 6379, + connect_timeout: 0.5 + ) + puts "Basic configuration successful" + + # Verify config attributes + raise "Invalid host" unless config.host == "localhost" + raise "Invalid port" unless config.port == 6379 + raise "Invalid connect_timeout" unless config.connect_timeout == 0.5 + puts "Configuration attributes verified" + rescue => e + raise "Configuration test failed: #{e.message}" + end + + # Test URL parsing + begin + url_config = RedisClient.config(url: "redis://127.0.0.1:6380/1") + raise "Invalid host from URL" unless url_config.host == "127.0.0.1" + raise "Invalid port from URL" unless url_config.port == 6380 + raise "Invalid db from URL" unless url_config.db == 1 + puts "URL parsing successful" + rescue => e + raise "URL parsing test failed: #{e.message}" + end + + puts "Configuration tests passed!" + EOF + - name: Test connection pool integration + runs: | + ruby <<-EOF + require 'redis-client' + require 'connection_pool' + + begin + # Create a connection pool + pool = ConnectionPool.new(size: 2, timeout: 1) do + RedisClient.new( + host: "localhost", + port: 6379, + connect_timeout: 0.1, + reconnect_attempts: 0 + ) + end + + puts "Connection pool creation successful" + rescue => e + # Only fail if it's not a connection error + unless e.message.include?("connect") + raise "Connection pool test failed: #{e.message}" + end + puts "Expected connection error caught, pool creation verified" + end + + puts "Pool tests completed!" + EOF + - name: Test client interface + runs: | + ruby <<-EOF + require 'redis-client' + + begin + client = RedisClient.new( + host: "localhost", + port: 6379, + connect_timeout: 0.1 + ) + + # Verify basic interface methods + raise "Missing call method" unless client.respond_to?(:call) + raise "Missing call_once method" unless client.respond_to?(:call_once) + raise "Missing connect method" unless client.respond_to?(:connect) + + puts "Client interface verification successful" + rescue => e + if e.message.include?("connect") + puts "Expected connection error, interface verified" + else + raise "Client interface test failed: #{e.message}" + end + end + + puts "Interface tests passed!" + EOF diff --git a/ruby4.0-redis-namespace.yaml b/ruby4.0-redis-namespace.yaml new file mode 100644 index 00000000000..393e849a009 --- /dev/null +++ b/ruby4.0-redis-namespace.yaml @@ -0,0 +1,62 @@ +package: + name: ruby4.0-redis-namespace + version: 1.11.0 + epoch: 0 + description: Adds a Redis::Namespace class which can be used to namespace calls to Redis. This is useful when using a single instance of Redis with multiple, different applications. + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-redis + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: 313909f8d39869e4329c821988f412eeb9e53541 + repository: https://github.com/resque/redis-namespace + 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: redis-namespace + +update: + enabled: true + github: + identifier: resque/redis-namespace + 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: | + redis-namespace + redis/namespace + redis/namespace/version diff --git a/ruby4.0-redis.yaml b/ruby4.0-redis.yaml new file mode 100644 index 00000000000..ebe872a49ac --- /dev/null +++ b/ruby4.0-redis.yaml @@ -0,0 +1,84 @@ +# Generated from https://github.com/redis/redis-rb/tree/v5.0.8 +package: + name: ruby4.0-redis + version: "5.4.1" + epoch: 0 + description: A Ruby client that tries to match Redis API one-to-one, while still providing an idiomatic interface. + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-redis-client + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: 6784a3204be44d4ca7891a901295e4a4007a13a5 + repository: https://github.com/redis/redis-rb + 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: redis + +update: + enabled: true + github: + identifier: redis/redis-rb + 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 + with: + require: | + redis + redis/commands + redis/distributed + redis/errors + redis/hash_ring + redis/subscribe + redis/version + redis/commands/bitmaps + redis/commands/cluster + redis/commands/connection + redis/commands/geo + redis/commands/hashes + redis/commands/hyper_log_log + redis/commands/keys + redis/commands/lists + redis/commands/pubsub + redis/commands/scripting + redis/commands/server + redis/commands/sets + redis/commands/sorted_sets + redis/commands/streams + redis/commands/strings + redis/commands/transactions diff --git a/ruby4.0-rubyzip.yaml b/ruby4.0-rubyzip.yaml new file mode 100644 index 00000000000..59f3d2b5062 --- /dev/null +++ b/ruby4.0-rubyzip.yaml @@ -0,0 +1,76 @@ +# Generated from https://github.com/rubyzip/rubyzip/tree/v2.3.2 +package: + name: ruby4.0-rubyzip + version: "3.2.2" + epoch: 0 + description: rubyzip is a ruby module for reading and writing zip files + copyright: + - license: BSD-2-Clause + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: db674236b1b0b1a42032aff1c3ba07063a329253 + repository: https://github.com/rubyzip/rubyzip + 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: rubyzip + +update: + enabled: true + ignore-regex-patterns: + - show + github: + identifier: rubyzip/rubyzip + 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 + with: + require: | + zip + zip/central_directory + zip/compressor + zip/constants + zip/decompressor + zip/dos_time + zip/entry + zip/entry_set + zip/errors + zip/extra_field + zip/filesystem + zip/ioextras + zip/null_decompressor + zip/version + zip/crypto/decrypted_io + zip/crypto/encryption diff --git a/ruby4.0-sidekiq.yaml b/ruby4.0-sidekiq.yaml new file mode 100644 index 00000000000..34751e5c7d0 --- /dev/null +++ b/ruby4.0-sidekiq.yaml @@ -0,0 +1,69 @@ +# Generated from https://github.com/sidekiq/sidekiq +package: + name: ruby4.0-sidekiq + version: "8.1.0" + epoch: 0 + description: Simple, efficient background processing for Ruby. + copyright: + - license: LGPL-3.0-or-later + dependencies: + runtime: + - ruby${{vars.rubyMM}}-concurrent-ruby + - ruby${{vars.rubyMM}}-connection_pool + - ruby${{vars.rubyMM}}-rack + - ruby${{vars.rubyMM}}-redis-client + - 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: bb172d9b2b17a086c9cfa2763f58eb0b89937a77 + repository: https://github.com/sidekiq/sidekiq + tag: v${{package.version}} + + - uses: ruby/unlock-spec + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: sidekiq + +update: + enabled: true + github: + identifier: sidekiq/sidekiq + strip-prefix: v + use-tag: true + +test: + pipeline: + # AUTOGENERATED + - runs: | + sidekiq --version + sidekiqmon --version + sidekiqmon --help + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-sin_lru_redux.yaml b/ruby4.0-sin_lru_redux.yaml new file mode 100644 index 00000000000..29368d2ce66 --- /dev/null +++ b/ruby4.0-sin_lru_redux.yaml @@ -0,0 +1,114 @@ +package: + name: ruby4.0-sin_lru_redux + version: "2.5.2" + epoch: 0 + description: Efficient and thread-safe LRU cache. + copyright: + - license: MIT + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + repository: https://github.com/cadenza-tech/sin_lru_redux.git + tag: v${{package.version}} + expected-commit: 1a802823410bc9fb19ae132834b28bdd3210bb29 + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: sin_lru_redux + +update: + enabled: true + github: + identifier: cadenza-tech/sin_lru_redux + strip-prefix: v + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM + +test: + pipeline: + - name: Verify library import + runs: ruby -e "require 'lru_redux'" + - name: Basic functionality test (adapted from project README) + runs: | + ruby -e ' + require "lru_redux" + + # non thread safe + cache = LruRedux::Cache.new(100) + cache[:a] = "1" + cache[:b] = "2" + + raise "Access failed" unless cache.to_a == [[:b, "2"], [:a, "1"]] + + # note the order matters here, last accessed is first + cache[:a] # a pushed to front + # "1" + raise "Access failed" unless cache.to_a == [[:a, "1"], [:b, "2"]] + + cache.delete(:a) + raise "Delete failed" unless cache.to_a == [[:b, "2"]] + + cache.max_size = 200 # cache now stores 200 items + cache.clear # cache has no items + + cache.getset(:a) { 1 } + raise "Getset failed" unless cache.to_a == [[:a, 1]] + + # already set so don"t call block + cache.getset(:a) { 99 } + raise "Getset unexpectedly updated" unless cache.to_a == [[:a, 1]] + ' + - name: Basic threadsafe functionality test (adapted from project README) + runs: | + ruby -e ' + require "lru_redux" + + cache = LruRedux::ThreadSafeCache.new(100) + cache[:a] = "1" + cache[:b] = "2" + + raise "Access failed" unless cache.to_a == [[:b, "2"], [:a, "1"]] + + # note the order matters here, last accessed is first + cache[:a] # a pushed to front + # "1" + raise "Access failed" unless cache.to_a == [[:a, "1"], [:b, "2"]] + + cache.delete(:a) + raise "Delete failed" unless cache.to_a == [[:b, "2"]] + + cache.max_size = 200 # cache now stores 200 items + cache.clear # cache has no items + + cache.getset(:a) { 1 } + raise "Getset failed" unless cache.to_a == [[:a, 1]] + + # already set so don"t call block + cache.getset(:a) { 99 } + raise "Getset unexpectedly updated" unless cache.to_a == [[:a, 1]] + ' diff --git a/ruby4.0-sinatra.yaml b/ruby4.0-sinatra.yaml new file mode 100644 index 00000000000..2848b34991d --- /dev/null +++ b/ruby4.0-sinatra.yaml @@ -0,0 +1,99 @@ +# Generated from https://github.com/sinatra/sinatra +package: + name: ruby4.0-sinatra + version: "4.2.1" + epoch: 0 + description: Sinatra is a DSL for quickly creating web applications in Ruby with minimal effort. + copyright: + - license: MIT + dependencies: + runtime: + - ruby${{vars.rubyMM}}-mustermann + - ruby${{vars.rubyMM}}-puma + - ruby${{vars.rubyMM}}-rack + - ruby${{vars.rubyMM}}-rack-protection + - ruby${{vars.rubyMM}}-rack-session + - ruby${{vars.rubyMM}}-rackup + - ruby${{vars.rubyMM}}-tilt + +environment: + contents: + packages: + - build-base + - busybox + - ca-certificates-bundle + - git + - ruby-${{vars.rubyMM}} + - ruby-${{vars.rubyMM}}-dev + +pipeline: + - uses: git-checkout + with: + expected-commit: 599a007a779dc9940e49f34e9077220f4c209f4b + repository: https://github.com/sinatra/sinatra + tag: v${{package.version}} + + - uses: ruby/unlock-spec + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: sinatra + +test: + environment: + contents: + packages: + - curl + pipeline: + - runs: | + ruby -e 'require "sinatra"' > /dev/null 2>&1 & + cat << EOF > result.txt + + + + + + +

Sinatra doesn’t know this ditty.

+ +
+ Try this: +
get '/' do
+          "Hello World"
+        end
+        
+
+ + + EOF + + sleep 1 && curl 127.0.0.1:4567 > actual.txt + + diff actual.txt result.txt + +update: + enabled: true + github: + identifier: sinatra/sinatra + strip-prefix: v + use-tag: true + +var-transforms: + - from: ${{package.name}} + match: ^ruby(\d\.\d+)-.* + replace: $1 + to: rubyMM diff --git a/ruby4.0-stud.yaml b/ruby4.0-stud.yaml new file mode 100644 index 00000000000..d71b65799b9 --- /dev/null +++ b/ruby4.0-stud.yaml @@ -0,0 +1,67 @@ +# Generated from https://github.com/jordansissel/ruby-stud +package: + name: ruby4.0-stud + version: 0.0.23 + epoch: 0 + description: Common software patterns I use frequently. + 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/jordansissel/ruby-stud + tag: v${{package.version}} + expected-commit: 19b1e34f75637c502b150ce203741ce7db1b9d12 + + - uses: ruby/build + with: + gem: ${{vars.gem}} + + - uses: ruby/install + with: + gem: ${{vars.gem}} + version: ${{package.version}} + + - uses: ruby/clean + +vars: + gem: stud + +update: + enabled: true + github: + identifier: jordansissel/ruby-stud + 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 + with: + require: | + stud/buffer + stud/interval + stud/pool + stud/secret + stud/task + stud/temporary + stud/trap + stud/try + stud/with 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-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