Skip to content
This repository has been archived by the owner on Nov 30, 2024. It is now read-only.

Updates from rspec-dev (2021-07-13) #2901

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
c6315d6
Version 3.10.0
JonRowe Oct 30, 2020
091f776
Allow ordering specs by modification time
MatheusRich Oct 30, 2020
bc88419
Update description for modification_time ordering
MatheusRich Oct 30, 2020
dbb5271
Remove require 'time'
MatheusRich Oct 30, 2020
8f9ed99
Remove double spaces
MatheusRich Nov 1, 2020
42b0abf
Rename modification time to recently modified ordering
MatheusRich Nov 3, 2020
a9a3d38
Add integration specs for recently modified ordering
MatheusRich Nov 3, 2020
bfd2b31
Updated ci build scripts (from rspec-dev)
JonRowe Nov 16, 2020
eb06502
Merge pull request #2780 from rspec/update-ci-build-scripts-2020-11-1…
JonRowe Nov 16, 2020
e3e003e
Allow `pluralize` to handle words that end with s.
joshuapinter Nov 15, 2020
2bda6b7
Merge pull request #2779 from cntral/pluralize_words_ending_in_s
JonRowe Nov 16, 2020
32d2150
Change log for #2779
JonRowe Nov 16, 2020
002d511
Updated ci build scripts (from rspec-dev)
JonRowe Nov 16, 2020
bb97af8
Merge pull request #2782 from rspec/update-ci-build-scripts-2020-11-1…
JonRowe Nov 17, 2020
219fb1a
Updated ci build scripts (from rspec-dev)
JonRowe Nov 18, 2020
5384bcd
Update FFI version
JonRowe Nov 18, 2020
a44139a
Update windows checks for github actions
JonRowe Nov 18, 2020
09cafac
Ignore warnings from two examples on windows
JonRowe Nov 19, 2020
bbe3566
Merge pull request #2783 from rspec/update-ci-build-scripts-2020-11-1…
JonRowe Nov 20, 2020
b19bbd8
Updated ci build scripts (from rspec-dev)
JonRowe Nov 22, 2020
fb0f749
Update features/command_line/order.md
MatheusRich Dec 4, 2020
c23189b
Update spec/integration/order_spec.rb
MatheusRich Dec 4, 2020
cc542e6
Pin ffi to 1.12.0 on JRuby due to the use of rubygems code in 1.13.0-…
JonRowe Dec 6, 2020
08ef2ee
These examples are fixed on JRuby 9.2.x.x
JonRowe Dec 6, 2020
e4b605d
Fix build for JRuby 9.2.x.x
JonRowe Dec 6, 2020
cb0f0c8
Merge pull request #2785 from rspec/update-ci-build-scripts-2020-11-2…
JonRowe Dec 6, 2020
c6a0e0a
Pin ffi
JonRowe Dec 8, 2020
f82087a
Updated ci build scripts (from rspec-dev)
JonRowe Dec 8, 2020
31f0573
Merge pull request #2792 from rspec/update-ci-build-scripts-2020-12-0…
JonRowe Dec 8, 2020
87e7eac
Updated ci build scripts (from rspec-dev)
JonRowe Dec 9, 2020
a9c7b9c
Merge pull request #2794 from rspec/update-ci-build-scripts-2020-12-0…
JonRowe Dec 10, 2020
2669cfe
Fix deprecation message expectation in spec
pirj Dec 15, 2020
5d8331d
Merge pull request #2798 from rspec/fix-deprecation-expectation
JonRowe Dec 16, 2020
658ff65
Updated ci build scripts (from rspec-dev)
benoittgt Dec 21, 2020
9e1b73e
Instance vars no longer emit warnings in Ruby 3
benoittgt Dec 21, 2020
e3a8c76
Merge pull request #2804 from rspec/update-ci-build-scripts-2020-12-2…
JonRowe Dec 21, 2020
4c5631c
Updated ci build scripts (from rspec-dev)main-
JonRowe Dec 22, 2020
bbbfb34
Merge pull request #2808 from rspec/update-ci-build-scripts-2020-12-2…
JonRowe Dec 22, 2020
77b4a96
Enable warning support explicitly
JonRowe Dec 22, 2020
addcfb4
Merge pull request #2811 from rspec/enable-deprecation-support-explic…
JonRowe Dec 22, 2020
26a8ac8
Updated common plaintext files (from rspec-dev)main-
benoittgt Dec 24, 2020
a07f1f2
Merge pull request #2815 from rspec/update-common-plaintext-files-202…
benoittgt Dec 24, 2020
7c8b0ff
Updated common plaintext files (from rspec-dev)main
JonRowe Dec 25, 2020
0bfab31
Merge pull request #2818 from rspec/update-common-plaintext-files-202…
JonRowe Dec 25, 2020
1efad2f
Merge pull request #2778 from MatheusRich/order-specs-by-modification…
JonRowe Dec 25, 2020
47b7608
Changelog for #2778
JonRowe Dec 25, 2020
8168e1e
Updated ci build scripts (from rspec-dev)main
JonRowe Dec 26, 2020
778fc0a
Merge pull request #2821 from rspec/update-ci-build-scripts-2020-12-2…
JonRowe Dec 26, 2020
046ab71
Updated ci build scripts (from rspec-dev)main
JonRowe Dec 27, 2020
fe5523b
Merge pull request #2826 from rspec/update-ci-build-scripts-2020-12-2…
JonRowe Dec 27, 2020
ca771aa
Change log for #2811
JonRowe Dec 22, 2020
3ad94ad
Updated ci build scripts (from rspec-dev)main
JonRowe Dec 27, 2020
1a3f848
Merge pull request #2829 from rspec/update-ci-build-scripts-2020-12-2…
JonRowe Dec 27, 2020
2f3a3c9
v3.10.1
JonRowe Dec 27, 2020
e3d9b34
Updated ci build scripts (from rspec-dev)main
pirj Dec 30, 2020
05d70a4
Merge pull request #2836 from rspec/update-ci-build-scripts-2020-12-3…
JonRowe Dec 31, 2020
9f8caf9
Skip spec which won't pass on legacy CI
JonRowe Jan 2, 2021
8ecf34e
Account for differently named rubies
JonRowe Jan 2, 2021
0b6aa9d
Merge pull request #2841 from rspec/skip-spec-legacy-ci
JonRowe Jan 2, 2021
b9f3b1a
Updated ci build scripts (from rspec-dev)main
JonRowe Jan 2, 2021
488817a
Allow for 3 digit ruby numbers
JonRowe Jan 2, 2021
6bba208
Merge pull request #2842 from rspec/update-ci-build-scripts-2021-01-0…
JonRowe Jan 2, 2021
01b0b94
Updated ci build scripts (from rspec-dev)main
JonRowe Jan 2, 2021
922b4a6
Merge pull request #2843 from rspec/update-ci-build-scripts-2021-01-0…
JonRowe Jan 2, 2021
bddb8d0
Updated ci build scripts (from rspec-dev)main
JonRowe Jan 2, 2021
559be03
Set scenario text based on fork support (fixes a JRuby 1.7 build)
JonRowe Jan 4, 2021
1b65f85
Merge pull request #2844 from rspec/update-ci-build-scripts-2021-01-0…
JonRowe Jan 7, 2021
c8b23ee
Reset patch-level dependency to 0
stim371 Jan 12, 2021
6543181
Merge pull request #2850 from stim371/patch-1
JonRowe Jan 15, 2021
3a91ee4
Updated ci build scripts (from rspec-dev)main
JonRowe Jan 22, 2021
30fafe4
Move yard to documentation group
JonRowe Jan 22, 2021
0f13481
Pin thor
JonRowe Jan 22, 2021
ee6d9fd
Pin chilprocess
JonRowe Jan 22, 2021
ffe9fc9
Setup coverage group
JonRowe Jan 22, 2021
9d2aeef
Merge pull request #2853 from rspec/update-ci-build-scripts-2021-01-2…
JonRowe Jan 22, 2021
cf88d4e
Updated ci build scripts (from rspec-dev)main
JonRowe Jan 22, 2021
160b773
Remove .travis.yml
JonRowe Jan 22, 2021
cdbed2e
Merge pull request #2855 from rspec/update-ci-build-scripts-2021-01-2…
JonRowe Jan 22, 2021
28bf6bb
Build badge
JonRowe Jan 22, 2021
bea9f5e
Fixed build status
JonRowe Jan 22, 2021
d04af61
Prevent should from circumventing target check
pirj Dec 15, 2020
e95cfe3
Merge pull request #2800 from rspec/streamline-should-oneliners
pirj Jan 26, 2021
866b98b
Fix for JRuby 9.1.17.0 require_relative
JonRowe Jan 30, 2021
74fcf0e
Merge pull request #2858 from rspec/jruby-fix
JonRowe Jan 30, 2021
12e12b9
When Encoding.default_external is set, eg. Rails, ensure RSpec::Core:…
mikejarema Jan 20, 2021
83eb95c
Merge pull request #2852 from mikejarema/main
JonRowe Jan 30, 2021
ecb65d2
Changelog for #2852
JonRowe Jan 30, 2021
ac1ee45
Fix YARD type syntax
kachick Feb 20, 2021
a5bf456
Merge pull request #2875 from kachick/fix-yard-type-syntax
pirj Feb 21, 2021
ea829a1
Clarify pending docs
pirj Feb 20, 2021
f0d7b27
Merge pull request #2873 from rspec/clarify-pending-main
pirj Feb 26, 2021
ea8554a
Remove trailing whitespace
JonRowe Feb 26, 2021
d19d76e
Updated ci build scripts (from rspec-dev)main
JonRowe Apr 23, 2021
b5d0e5c
Merge pull request #2888 from rspec/update-ci-build-scripts-2021-04-2…
JonRowe Apr 27, 2021
7f9efcc
Extend reserved name check
Apr 20, 2021
b9087a1
Remove duplicate call to to_s
Apr 20, 2021
425ba72
Extend reserved name check
Apr 20, 2021
8fffd66
Remove spacing
Apr 27, 2021
fa1b5f5
Merge pull request #2886 from Liberatys/extend-reserved-memoized-help…
JonRowe Apr 28, 2021
04d5e52
Improve changelog for #2886
JonRowe Apr 28, 2021
3328169
fixed format typo in changelog
teyamagu May 28, 2021
247d0a7
Merge pull request #2891 from teyamagu/fixed_typo_in_changelog
pirj May 28, 2021
92fa4bd
Remove bundler lines from backtraces locally
JonRowe Jul 7, 2021
ed3e245
Make expectations more exact
JonRowe Jul 7, 2021
296b815
Disable rubocop on ruby head
JonRowe Jul 7, 2021
fcd6ca4
Update ffi
JonRowe Jul 7, 2021
0ec5847
Merge pull request #2898 from rspec/local-build-tweaks
JonRowe Jul 12, 2021
20c7482
Updated ci build scripts (from rspec-dev)main
JonRowe Jul 13, 2021
04da1de
Merge pull request #2900 from rspec/update-ci-build-scripts-2021-07-1…
JonRowe Jul 13, 2021
a6ccbff
Updated ci build scripts (from rspec-dev)main
JonRowe Jul 15, 2021
beca9ba
Merge pull request #2904 from rspec/update-ci-build-scripts-2021-07-1…
JonRowe Jul 15, 2021
13bebfc
Updated ci build scripts (from rspec-dev)
JonRowe Jul 15, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# This file was generated on 2019-12-05T21:32:23+00:00 from the rspec-dev repo.
# This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

github: [JonRowe]
github: [JonRowe, benoittgt]
open_collective: rspec
133 changes: 133 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
# This file was generated on 2021-07-15T12:16:18+01:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

name: RSpec CI
on:
push:
branches:
- 'main'
- '*-maintenance'
- '*-dev'
pull_request:
branches:
- '*'
env:
RSPEC_CI: true
# This tells rspec-rails what branch to run in ci
RSPEC_VERSION: '~> 3.10.0'
jobs:
test:
name: Ruby ${{ matrix.ruby }} ${{ matrix.name_extra || '' }}
runs-on: ${{ matrix.os || 'ubuntu-20.04' }}
strategy:
matrix:
ruby:
- '3.0'
- 2.7
- 2.6
- 2.5
- 2.4
- 2.3
- 2.2
- 2.1.9
env:
-
DIFF_LCS_VERSION: "> 1.4.3"
include:
- ruby: ruby-head
env:
RUBY_HEAD: true
- ruby: jruby-9.2.13.0
env:
JRUBY_OPTS: "--dev"
- ruby: jruby-9.1.17.0
bundler: 1
os: ubuntu-18.04
env:
JRUBY_OPTS: "--dev"
- ruby: 2.7
name_extra: "with diff-lcs 1.3"
env:
DIFF_LCS_VERSION: "~> 1.3.0"
- ruby: 2.7
name_extra: "with diff-lcs 1.4.3"
env:
DIFF_LCS_VERSION: "1.4.3"
fail-fast: false
continue-on-error: ${{ matrix.allow_failure || endsWith(matrix.ruby, 'head') }}
env: ${{ matrix.env }}
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
bundler: ${{ matrix.bundler || '2.2.22' }}
ruby-version: ${{ matrix.ruby }}
- run: script/update_rubygems_and_install_bundler
- run: script/clone_all_rspec_repos
- run: bundle install --standalone
- run: bundle binstubs --all
- run: script/run_build

legacy:
name: Legacy Ruby Builds (${{ matrix.container.version }})
runs-on: ubuntu-20.04
container:
image: ${{ matrix.container.tag }}
options: ${{ matrix.container.options || '--add-host github-complains-if-this-is-empty.com:127.0.0.1' }}
strategy:
fail-fast: false
matrix:
container:
- version: "2.0"
tag: rspec/ci:2.0.0
- version: "1.9.3"
tag: rspec/ci:1.9.3
- version: "1.9.2"
tag: rspec/ci:1.9.2
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227"
- version: "1.8.7"
tag: rspec/ci:1.8.7
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227"
- version: "REE"
tag: rspec/ci:ree
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227"
- version: "JRuby 1.7"
tag: rspec/ci:jruby-1.7
- version: "JRuby 1.7 1.8 mode"
tag: rspec/ci:jruby-1.7
jruby_opts: '--dev --1.8'
pre: gem uninstall jruby-openssl
options: "--add-host rubygems.org:151.101.129.227 --add-host api.rubygems.org:151.101.129.227"
env:
LEGACY_CI: true
JRUBY_OPTS: ${{ matrix.container.jruby_opts || '--dev' }}
steps:
- uses: actions/checkout@v2
- run: ${{ matrix.container.pre }}
- run: script/legacy_setup.sh
- run: bundle exec bin/rspec
- run: bundle exec script/cucumber.sh

windows:
name: Ruby ${{ matrix.ruby }} (Windows)
runs-on: windows-latest
strategy:
matrix:
ruby:
- 2.7
- 2.6
- 2.5
- 2.4
- 2.3
- 2.2
- 2.1.9
fail-fast: false
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
bundler: '2.2.22'
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
- run: cinst ansicon
- run: bundle exec rspec --backtrace
2 changes: 1 addition & 1 deletion .rubocop_rspec_base.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# This file was generated on 2020-09-28T21:53:37+02:00 from the rspec-dev repo.
# This file was generated on 2021-07-15T12:16:18+01:00 from the rspec-dev repo.
# DO NOT modify it by hand as your changes will get lost the next time it is generated.

# This file contains defaults for RSpec projects. Individual projects
Expand Down
54 changes: 0 additions & 54 deletions .travis.yml

This file was deleted.

16 changes: 8 additions & 8 deletions BUILD_DETAIL.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!---
This file was generated on 2019-12-05T21:32:23+00:00 from the rspec-dev repo.
This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
DO NOT modify it by hand as your changes will get lost the next time it is generated.
-->

Expand Down Expand Up @@ -97,10 +97,11 @@ $ bundle exec yard doc --no-cache
$ bin/yard doc --no-cache
```

## Rubocop
## RuboCop

We use [Rubocop](https://github.com/bbatsov/rubocop) to enforce style conventions on the project so
that the code has stylistic consistency throughout. Run with:
We use [RuboCop](https://github.com/rubocop-hq/rubocop) to enforce style
conventions on the project so that the code has stylistic consistency
throughout. Run with:

```
$ bundle exec rubocop lib
Expand All @@ -110,9 +111,9 @@ $ bundle exec rubocop lib
$ bin/rubocop lib
```

Our Rubocop configuration is a work-in-progress, so if you get a failure
due to a Rubocop default, feel free to ask about changing the
configuration. Otherwise, you'll need to address the Rubocop failure,
Our RuboCop configuration is a work-in-progress, so if you get a failure
due to a RuboCop default, feel free to ask about changing the
configuration. Otherwise, you'll need to address the RuboCop failure,
or, as a measure of last resort, by wrapping the offending code in
comments like `# rubocop:disable SomeCheck` and `# rubocop:enable SomeCheck`.

Expand Down Expand Up @@ -146,4 +147,3 @@ build for another repo, so our CI build includes a spec that runs the
spec suite of each of the _other_ project repos. Note that we only run
the spec suite, not the full build, of the other projects, as the spec
suite runs very quickly compared to the full build.

2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!---
This file was generated on 2019-12-05T21:32:23+00:00 from the rspec-dev repo.
This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
DO NOT modify it by hand as your changes will get lost the next time it is generated.
-->

Expand Down
44 changes: 43 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!---
This file was generated on 2019-12-05T21:32:23+00:00 from the rspec-dev repo.
This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
DO NOT modify it by hand as your changes will get lost the next time it is generated.
-->

Expand Down Expand Up @@ -42,3 +42,45 @@ test case. To make this process easier, we have prepared one basic
Maintenance branches are how we manage the different supported point releases
of RSpec. As such, while they might look like good candidates to merge into
main, please do not open pull requests to merge them.

## Working on multiple RSpec gems at the same time

RSpec is composed of multiple gems (`rspec-core`, `rspec-mocks`, etc). Sometimes you have
to work on a combination of them at the same time. When submitting your code for review,
we ask that you get a passing build (green CI). If you are working across the repositories,
please add a commit that temporarily pins your PR to the right branch of the other repository
you depend on. For example, if we wanted a change in `rspec-expectations` that relied on a
change for on `rspec-mocks`. We add a commit with the title:

>[WIP] Use rspec-mocks with "custom-failure-message" branch

And content:

```diff
diff --git a/Gemfile b/Gemfile

-%w[rspec rspec-core rspec-mocks rspec-support].each do |lib|
+%w[rspec rspec-core rspec-support].each do |lib|
library_path = File.expand_path("../../#{lib}", __FILE__)
if File.exist?(library_path) && !ENV['USE_GIT_REPOS']
gem lib, :path => library_path
@@ -11,6 +11,7 @@ branch = File.read(File.expand_path("../maintenance-branch", __FILE__)).chomp
gem lib, :git => "https://github.com/rspec/#{lib}.git", :branch => branch
end
end
+gem 'rspec-mocks', :git => "https://github.com/rspec/rspec-mocks.git", :branch => "custom-failure-message"
```

In general the process is:
1. Create PRs explaining what you are trying to achieve.
2. Pin the repositories to each other.
3. Check they pass (go green).
4. Await review if appropriate.
5. Remove the commit from step 2. We will merge ignoring the failure.
6. Remove the commit from the other, check it passes with the other commit now on `main`.
7. Merge the other.
8. We will trigger builds for the `main` branch of affected repositories to check if everything is in order.

Steps 5-8 should happen continuously (e.g. one after another but within a short timespan)
so that we don't leave a broken main around. It is important to triage that build process
and revert if necessary.
25 changes: 23 additions & 2 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
### Development
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...main)
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.1...main)

Enhancements:

* Improve pluralisation of words ending with `s` (like process). (Joshua Pinter, #2779)
* Add ordering by file modification time (most recent first). (Matheus Richard, #2778)
* Add `to_s` to reserved names for #let and #subject. (Nick Flückiger, #2886)

Bug fixes:

* Ensure bisect communication uses consistent encoding. (Mike Jarema, #2852)

### 3.10.1 / 2020-12-27
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.10.0...v3.10.1)

Bug fixes:

* RSpec warning output was missing deprecations from Ruby, these are now included.
(Jon Rowe, #2811)

### 3.10.0 / 2020-10-30
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.3...v3.10.0)

Enhancements:

Expand All @@ -8,7 +29,7 @@ Enhancements:
* Add configuration for an error exit code (to disambiguate errored builds from failed builds
by exit status). (Dana Sherson, #2749)

# 3.9.3 / 2020-09-30
### 3.9.3 / 2020-09-30
[Full Changelog](http://github.com/rspec/rspec-core/compare/v3.9.2...v3.9.3)

Bug Fixes:
Expand Down
5 changes: 2 additions & 3 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!---
This file was generated on 2019-12-05T21:32:23+00:00 from the rspec-dev repo.
This file was generated on 2020-12-25T18:48:30+00:00 from the rspec-dev repo.
DO NOT modify it by hand as your changes will get lost the next time it is generated.
-->

Expand Down Expand Up @@ -108,7 +108,7 @@ Here's a short, non-exhaustive checklist of things we typically ask contributors
- [ ] New behavior is covered by tests and all tests are passing.
- [ ] No Ruby warnings are issued by your changes.
- [ ] Documentation reflects changes and renders as intended.
- [ ] Rubocop passes (e.g. `bundle exec rubocop lib`).
- [ ] RuboCop passes (e.g. `bundle exec rubocop lib`).
- [ ] Commits are squashed into a reasonable number of logical changesets that tell an easy-to-follow story.
- [ ] No changelog entry is necessary (we'll add it as part of the merge process!)

Expand All @@ -129,4 +129,3 @@ $ bin/yard server --reload
```

Then navigate to `localhost:8808` to view the rendered docs.

Loading