# Generated from minitest-distributed-0.2.4.gem by gem2rpm -*- rpm-spec -*- %global gem_name minitest-distributed Name: rubygem-%{gem_name} Version: 0.2.4 Release: 1%{?dist} Summary: Distributed test executor plugin for Minitest License: MIT URL: https://github.com/Shopify/minitest-distributed Source0: https://rubygems.org/gems/%{gem_name}-%{version}.gem BuildRequires: ruby(release) BuildRequires: rubygems-devel BuildRequires: ruby >= 2.3.0 BuildArch: noarch %description minitest-distributed is a plugin for minitest for executing tests on a distributed set of unreliable workers. When a test suite grows large enough, it inevitable gets too slow to run on a single machine to give timely feedback to developers. This plugins combats this issue by distributing the full test suite to a set of workers. Every worker is a consuming from a single queue, so the tests get evenly distributed and all workers will finish around the same time. Redis is used as coordinator, but when using this plugin without having access to Redis, it will use an in-memory coordinator. Using multiple (virtual) machines for a test run is an (additional) source of flakiness. To combat flakiness, minitest-distributed implements resiliency patterns, like re-running a test on a different worker on failure, and a circuit breaker for misbehaving workers. %package doc Summary: Documentation for %{name} Requires: %{name} = %{version}-%{release} BuildArch: noarch %description doc Documentation for %{name}. %prep %setup -q -n %{gem_name}-%{version} %build # Create the gem as gem install only works on a gem file gem build ../%{gem_name}-%{version}.gemspec # %%gem_install compiles any C extensions and installs the gem into ./%%gem_dir # by default, so that we can move it into the buildroot in %%install %gem_install %install mkdir -p %{buildroot}%{gem_dir} cp -a .%{gem_dir}/* \ %{buildroot}%{gem_dir}/ %check pushd .%{gem_instdir} # Run the test suite. popd %files %dir %{gem_instdir} %{gem_instdir}/.github %exclude %{gem_instdir}/.gitignore %exclude %{gem_instdir}/.rubocop.yml %{gem_instdir}/CODE_OF_CONDUCT.md %license %{gem_instdir}/LICENSE.txt %{gem_instdir}/bin %{gem_libdir} %{gem_instdir}/sorbet %exclude %{gem_cache} %{gem_spec} %files doc %doc %{gem_docdir} %{gem_instdir}/Gemfile %doc %{gem_instdir}/README.md %{gem_instdir}/Rakefile %{gem_instdir}/minitest-distributed.gemspec %changelog * Tue Sep 14 2021 mockbuilder - 0.2.4-1 - Initial package