From Fedora Project Wiki
m (Fix indentation)
(Enhancements.)
Line 2: Line 2:


== Summary ==
== Summary ==
Rubygem-cucumber 7.1.0 is the latest version of the popular integration BDD test suite for Ruby.
Rubygem-cucumber 7.1.0 is the latest version of the popular integration BDD test framework for Ruby.


== Owner ==
== Owner ==
Line 30: Line 30:


== Detailed Description ==
== Detailed Description ==
Fedora is currently lagging behind on the Ruby cucumber test suite and as a result on new features and bug fixes. Therefore the rubygem-cucumber library stack will be updated to version 7.1.0, ensuring that Fedora has the newest Ruby cucumber test suite available.   
Fedora is currently lagging behind on the Ruby Cucumber library which underwent internal restructuration. Therefore the rubygem-cucumber library stack will be updated to version 7.1.0, ensuring that Fedora has the newest Ruby Cucumber available.   


== Benefit to Fedora ==
== Benefit to Fedora ==
This update will bring Rule and Rule tags, new hooks, and better plugin support into Fedora as well as other improvements like bug fixes and features in the dependencies that are part of the Cucumber project.
This update will bring Rule and Rule tags, new hooks, and better plugin support into Fedora as well as bug fixes and other improvements.


== Scope ==
== Scope ==
Line 39: Line 39:
* rubygem-cucumber and its dependencies will be updated.
* rubygem-cucumber and its dependencies will be updated.
* Build rubygem-cucumber update and dependencies in sidetag.
* Build rubygem-cucumber update and dependencies in sidetag.
* Rebuild packages that depend on rubygem-cucumber and fix any that begin to fail as a result. <!-- not sure if there will be any failures, TODO: maybe delete? -->
* Rebuild packages that depend on rubygem-cucumber and fix any that begin to fail as a result.


* Other developers: TODO <!-- not sure what would they be doing... fixing failures? AFAICT it is pretty backwards-compatible regarding Gherkin specs... -->
* Other developers: N/A
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
* Release engineering: [https://pagure.io/releng/issues #Releng issue number] <!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
<!-- Does this feature require coordination with release engineering (e.g. changes to installer image generation or update package delivery)?  Is a mass rebuild required?  include a link to the releng issue.  
Line 50: Line 50:


* Alignment with Objectives:  
* Alignment with Objectives:  
<!-- Does your proposal align with the current Fedora Objectives: https://docs.fedoraproject.org/en-US/project/objectives/ ? It's okay if it doesn't, but it's something to consider -->


== Upgrade/compatibility impact ==
== Upgrade/compatibility impact ==
Upon upgrade it should still work for all users.
Upon upgrade it should still work for all users.
The only exception being the HTML output formatter which is currently not planned on being packaged.
The only exception is the HTML output formatter which is currently not planned on being packaged due to minified JS present in the distributed gem.


<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
Line 60: Line 59:


== How To Test ==
== How To Test ==
<!-- This does not need to be a full-fledged document. Describe the dimensions of tests that this change implementation is expected to pass when it is done.  If it needs to be tested with different hardware or software configurations, indicate them.  The more specific you can be, the better the community testing can be.
Remember that you are writing this how to for interested testers to use to check out your change implementation - documenting what you do for testing is OK, but it's much better to document what *I* can do to test your change.
A good "how to test" should answer these four questions:
0. What special hardware / data / etc. is needed (if any)?
1. How do I prepare my system to test this change? What packages
need to be installed, config files edited, etc.?
2. What specific actions do I perform to check that the change is
working like it's supposed to?
3. What are the expected results of those actions?
-->
Tests that are running under rubygem-cucumber 3 are expected to run under rubygem-cucumber 7 as well.
Tests that are running under rubygem-cucumber 3 are expected to run under rubygem-cucumber 7 as well.


1. Prepare:
1. Prepare:
To test using DNF, simply run
To test using DNF, enable the copr repository containing the newest cucumber build and install it:
  dnf copr enable pvalena/rubygems
   dnf install rubygem-cucumber
   dnf install rubygem-cucumber


2. Running the tests
2. Running the tests
Find a project that uses rubygem-cucumber 7.1.0 test implementation, and in that project run:
Find a project that uses rubygem-cucumber for testing, and in that project run:
   $ cucumber
   $ cucumber


3. Checking the results
3. Checking the results
All tests should proceed as they do upstream without crashing.
All tests should proceed as they do upstream without crashing.
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->


== User Experience ==
== User Experience ==
Line 92: Line 77:


== Dependencies ==
== Dependencies ==
* There are several packages, which depend on the rubygem-cucumber test suite as their Build requirement.
* There are several packages, which depend on the rubygem-cucumber test suite as their build requirement.
* These need to be updated: (none)
* These need to be updated: (none)
* Following gems don't support rubygem-cucumber 7.1.0 right now and would be broken by the update: (none)
* Following gems don't support rubygem-cucumber 7.1.0 right now and would be broken by the update: (none)
Line 106: Line 91:


== Documentation ==
== Documentation ==
<!-- REQUIRED FOR SYSTEM WIDE CHANGES -->
https://cucumber.io/docs/cucumber/
N/A (not a System Wide Change)


== Release Notes ==
== Release Notes ==
<!-- The Fedora Release Notes inform end-users about what is new in the release.  Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ -->
See the upstream changelog for a more detailed overview of what changed: https://github.com/cucumber/cucumber-ruby/blob/v7.1.0/CHANGELOG.md
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need.  This information forms the basis of the release notes edited by the documentation team and shipped with the release.
 
Release Notes are not required for initial draft of the Change Proposal but has to be completed by the Change Freeze.
-->
Users can use 'dnf install rubygem-cucumber' to install rubygem-cucumber.

Revision as of 16:16, 22 October 2021

Rubygem Cucumber 7.1.0

Summary

Rubygem-cucumber 7.1.0 is the latest version of the popular integration BDD test framework for Ruby.

Owner

Current status

  • Targeted release: Fedora Linux 36
  • Last updated: 2021-10-22
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Fedora is currently lagging behind on the Ruby Cucumber library which underwent internal restructuration. Therefore the rubygem-cucumber library stack will be updated to version 7.1.0, ensuring that Fedora has the newest Ruby Cucumber available.

Benefit to Fedora

This update will bring Rule and Rule tags, new hooks, and better plugin support into Fedora as well as bug fixes and other improvements.

Scope

  • Proposal owners:
  • rubygem-cucumber and its dependencies will be updated.
  • Build rubygem-cucumber update and dependencies in sidetag.
  • Rebuild packages that depend on rubygem-cucumber and fix any that begin to fail as a result.
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

Upon upgrade it should still work for all users. The only exception is the HTML output formatter which is currently not planned on being packaged due to minified JS present in the distributed gem.


How To Test

Tests that are running under rubygem-cucumber 3 are expected to run under rubygem-cucumber 7 as well.

1. Prepare: To test using DNF, enable the copr repository containing the newest cucumber build and install it:

 dnf copr enable pvalena/rubygems
 dnf install rubygem-cucumber

2. Running the tests Find a project that uses rubygem-cucumber for testing, and in that project run:

 $ cucumber

3. Checking the results All tests should proceed as they do upstream without crashing.

User Experience

  • New rubygem-cucumber version 7.1.0 available

Dependencies

  • There are several packages, which depend on the rubygem-cucumber test suite as their build requirement.
  • These need to be updated: (none)
  • Following gems don't support rubygem-cucumber 7.1.0 right now and would be broken by the update: (none)

Contingency Plan

  • Contingency Plan
  • Contingency mechanism: None needed. rubygem-cucumber with its dependencies will be built in a side-tag and merged after successful updates.
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? No
  • Blocks product? No


Documentation

https://cucumber.io/docs/cucumber/

Release Notes

See the upstream changelog for a more detailed overview of what changed: https://github.com/cucumber/cucumber-ruby/blob/v7.1.0/CHANGELOG.md