busser-rspec 0.7.6 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.github/workflows/ci.yml +32 -0
- data/.github/workflows/pr-title.yml +28 -0
- data/.github/workflows/publish.yml +45 -0
- data/.markdownlint.yaml +6 -0
- data/.release-please-manifest.json +3 -0
- data/.rubocop.yml +9 -0
- data/.yamllint +6 -0
- data/CHANGELOG.md +11 -0
- data/Gemfile +13 -1
- data/README.md +10 -4
- data/Rakefile +4 -24
- data/busser-rspec.gemspec +20 -22
- data/features/plugin_install_command.feature +3 -1
- data/features/support/env.rb +46 -4
- data/features/test_command.feature +3 -1
- data/lib/busser/rspec/runner.rb +2 -3
- data/lib/busser/rspec/version.rb +1 -2
- data/lib/busser/runner_plugin/rspec.rb +13 -13
- data/release-please-config.json +15 -0
- data/renovate.json +8 -0
- metadata +27 -132
- data/.cane +0 -0
- data/.travis.yml +0 -11
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 82e172f3398ede4750b0d602530d06e37db0c38a2fec89e8858ae10d0850f68d
|
|
4
|
+
data.tar.gz: a670fbd169b448cc53f4f2f11ba722bb6ce3781db0443bc32b8ae1d074fe7cc4
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d628d8fe580fc8323ff9d33bc783009ec3498fcbeba567280b48c1319f1ddf55c0971e13cdbf7eb0dfbc9ae718218a50f7b8b6a6cbe19fa4df7751b15ee99c6
|
|
7
|
+
data.tar.gz: d1f5c0f5f40f9015ca3d225df90535835f98347425325be9c3d102dcfca4445a5f067149399c871a4ba90ed12f0997c6ea2a4a3db7457170df058afd011d0aa3
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Test"
|
|
3
|
+
|
|
4
|
+
"on":
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
pull_request:
|
|
8
|
+
workflow_dispatch:
|
|
9
|
+
|
|
10
|
+
# The default token is granted write access to most of the repository.
|
|
11
|
+
# Nothing here needs more than the checkout.
|
|
12
|
+
permissions:
|
|
13
|
+
contents: read
|
|
14
|
+
|
|
15
|
+
# Supersede in-flight runs for a branch. Pull requests cancel freely, but
|
|
16
|
+
# pushes to main do not: every commit on main should keep a build of its own.
|
|
17
|
+
concurrency:
|
|
18
|
+
group: ${{ github.workflow }}-${{ github.ref }}
|
|
19
|
+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
|
|
20
|
+
|
|
21
|
+
jobs:
|
|
22
|
+
lint-unit:
|
|
23
|
+
# Pinned to a commit rather than @main so an upstream edit cannot reach
|
|
24
|
+
# this repository's CI without a reviewed pull request. The trailing
|
|
25
|
+
# comment names the release the commit belongs to, which is what lets
|
|
26
|
+
# Renovate track the pin by version and keep both in step.
|
|
27
|
+
uses: test-kitchen/.github/.github/workflows/lint-unit.yml@95ef7803cf23aae5ee68593de5b7e0a731c1a929 # v0.4.0
|
|
28
|
+
with:
|
|
29
|
+
# This gem requires Ruby 3.2, and so do busser 0.9 and cucumber 11.
|
|
30
|
+
# Without this the shared workflow would still start a Ruby 3.1 job and
|
|
31
|
+
# bundler would refuse to resolve there.
|
|
32
|
+
ruby_versions: '["3.2", "3.3", "3.4", "4.0"]'
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "PR Title"
|
|
3
|
+
|
|
4
|
+
"on":
|
|
5
|
+
pull_request_target:
|
|
6
|
+
types: [opened, edited, reopened, synchronize]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
conventional-title:
|
|
13
|
+
name: "Conventional commit title"
|
|
14
|
+
runs-on: ubuntu-latest
|
|
15
|
+
permissions:
|
|
16
|
+
pull-requests: read
|
|
17
|
+
steps:
|
|
18
|
+
# Pull requests here are squash merged, so the pull request title becomes
|
|
19
|
+
# the commit subject on main. That makes the title the one place worth
|
|
20
|
+
# checking: release-please reads those subjects to decide the next
|
|
21
|
+
# version and to build the changelog.
|
|
22
|
+
#
|
|
23
|
+
# pull_request_target is used so the check also runs for pull requests
|
|
24
|
+
# from forks. No repository code is checked out in this job, so none of
|
|
25
|
+
# the usual pull_request_target risk applies.
|
|
26
|
+
- uses: amannn/action-semantic-pull-request@48f256284bd46cdaab1048c3721360e808335d50 # v6.1.1
|
|
27
|
+
env:
|
|
28
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: "Release"
|
|
3
|
+
|
|
4
|
+
"on":
|
|
5
|
+
push:
|
|
6
|
+
branches: [main]
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: read
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
release-please:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
permissions:
|
|
15
|
+
contents: write # tag the release and commit the version bump
|
|
16
|
+
pull-requests: write # open and update the release pull request
|
|
17
|
+
packages: write # push the gem to GitHub Packages
|
|
18
|
+
steps:
|
|
19
|
+
# Opens and maintains a release pull request. Merging that pull request
|
|
20
|
+
# is what actually cuts a release, so every step below is skipped until
|
|
21
|
+
# release_created is set.
|
|
22
|
+
- uses: googleapis/release-please-action@45996ed1f6d02564a971a2fa1b5860e934307cf7 # v5.0.0
|
|
23
|
+
id: release
|
|
24
|
+
with:
|
|
25
|
+
token: ${{ secrets.PORTER_GITHUB_TOKEN }}
|
|
26
|
+
|
|
27
|
+
- name: Checkout code
|
|
28
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
29
|
+
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
30
|
+
|
|
31
|
+
# These two steps are handed publishing credentials, so they are pinned
|
|
32
|
+
# to a commit rather than a branch. A floating ref would let whoever
|
|
33
|
+
# controls that branch run code with a token that can push this gem.
|
|
34
|
+
- name: Publish to GitHub Packages
|
|
35
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
36
|
+
uses: actionshub/publish-gem-to-github@86eb0ce1ced1072298bf68776a32a5c9703ad9aa # v1.0.13
|
|
37
|
+
with:
|
|
38
|
+
token: ${{ secrets.GITHUB_TOKEN }}
|
|
39
|
+
owner: ${{ github.repository_owner }}
|
|
40
|
+
|
|
41
|
+
- name: Publish to RubyGems
|
|
42
|
+
if: ${{ steps.release.outputs.release_created }}
|
|
43
|
+
uses: actionshub/publish-gem-to-rubygems@f9126f7a2d36a4fd31a13e78fde5fbdcc4b7b251 # v2.0.6
|
|
44
|
+
with:
|
|
45
|
+
token: ${{ secrets.RUBYGEMS_API_KEY }}
|
data/.markdownlint.yaml
ADDED
data/.rubocop.yml
ADDED
data/.yamllint
ADDED
data/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
* Additional windows fixes for recent Omnibus Chef
|
|
4
4
|
* Documentation (`README`) updates
|
|
5
5
|
|
|
6
|
+
## [0.8.0](https://github.com/test-kitchen/busser-rspec/compare/v0.7.6...v0.8.0) (2026-08-28)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### ⚠ BREAKING CHANGES
|
|
10
|
+
|
|
11
|
+
* Ruby 3.1 and busser releases older than 0.9.0 are no longer supported.
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* require Ruby 3.2 and busser 0.9, adopt release-please ([#22](https://github.com/test-kitchen/busser-rspec/issues/22)) ([144aeb9](https://github.com/test-kitchen/busser-rspec/commit/144aeb9174d2d62597c962b3e75579e5b8c02226))
|
|
16
|
+
|
|
6
17
|
## 0.7.5 / 2015-09-17
|
|
7
18
|
|
|
8
19
|
* Fix bundle install on windows
|
data/Gemfile
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
|
-
source
|
|
1
|
+
source "https://rubygems.org"
|
|
2
2
|
|
|
3
3
|
gemspec
|
|
4
|
+
|
|
5
|
+
group :cookstyle do
|
|
6
|
+
gem "cookstyle", ">= 9.0.0"
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
group :test do
|
|
10
|
+
gem "aruba", ">= 2.0"
|
|
11
|
+
gem "base64" # cucumber needs it; not a default gem on Ruby 4.0
|
|
12
|
+
gem "cucumber", ">= 11.1"
|
|
13
|
+
gem "rake"
|
|
14
|
+
gem "rspec", ">= 3.13"
|
|
15
|
+
end
|
data/README.md
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
# Busser::RunnerPlugin::Rspec
|
|
2
2
|
|
|
3
|
+
[](https://badge.fury.io/rb/busser-rspec)
|
|
4
|
+
|
|
3
5
|
A Busser runner plugin for Rspec
|
|
4
6
|
|
|
7
|
+
## Status
|
|
8
|
+
|
|
9
|
+
This software project is no longer under active development as it has no active maintainers. The software may continue to work for some or all use cases, but issues filed in GitHub will most likely not be triaged. If a new maintainer is interested in working on this project please come chat with us in #test-kitchen on Chef Community Slack.
|
|
10
|
+
|
|
5
11
|
## Installation and Setup
|
|
6
12
|
|
|
7
13
|
Please read the Busser [plugin usage](plugin_usage) page for more details.
|
|
@@ -10,7 +16,7 @@ Please read the Busser [plugin usage](plugin_usage) page for more details.
|
|
|
10
16
|
|
|
11
17
|
Please put test files into [COOKBOOK]/test/integration/[SUITES]/rspec/
|
|
12
18
|
|
|
13
|
-
```
|
|
19
|
+
```text
|
|
14
20
|
-- [COOKBOOK]
|
|
15
21
|
`-- test
|
|
16
22
|
`-- integration
|
|
@@ -26,7 +32,7 @@ You can specify your own test gem dependencies with a `Gemfile` under the `rspec
|
|
|
26
32
|
|
|
27
33
|
### Change the rspec formatter?
|
|
28
34
|
|
|
29
|
-
You may be
|
|
35
|
+
You may be familiar with using the `rspec -f` flag to change the rspec formatter. RSpec also offers a way to set the formatter from your specs:
|
|
30
36
|
|
|
31
37
|
```ruby
|
|
32
38
|
RSpec.configure do |config|
|
|
@@ -51,9 +57,9 @@ example:
|
|
|
51
57
|
|
|
52
58
|
## Authors
|
|
53
59
|
|
|
54
|
-
Created and maintained by Adam Jacob (adam@opscode.com)
|
|
60
|
+
Created and maintained by Adam Jacob (<adam@opscode.com>)
|
|
55
61
|
|
|
56
|
-
Based on [busser-serverspec](https://github.com/cl-lab-k/busser-serverspec), created and maintained by HIGUCHI Daisuke (d-higuchi@creationline.com)
|
|
62
|
+
Based on [busser-serverspec](https://github.com/cl-lab-k/busser-serverspec), created and maintained by HIGUCHI Daisuke (<d-higuchi@creationline.com>)
|
|
57
63
|
|
|
58
64
|
## License
|
|
59
65
|
|
data/Rakefile
CHANGED
|
@@ -1,31 +1,11 @@
|
|
|
1
1
|
require "bundler/gem_tasks"
|
|
2
|
-
require
|
|
3
|
-
require 'cane/rake_task'
|
|
4
|
-
require 'tailor/rake_task'
|
|
2
|
+
require "cucumber/rake/task"
|
|
5
3
|
|
|
6
4
|
Cucumber::Rake::Task.new(:features) do |t|
|
|
7
|
-
t.cucumber_opts = [
|
|
5
|
+
t.cucumber_opts = ["features", "-x", "--format progress"]
|
|
8
6
|
end
|
|
9
7
|
|
|
10
8
|
desc "Run all test suites"
|
|
11
|
-
task :
|
|
9
|
+
task test: [:features]
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
Cane::RakeTask.new do |cane|
|
|
15
|
-
cane.canefile = './.cane'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
Tailor::RakeTask.new
|
|
19
|
-
|
|
20
|
-
desc "Display LOC stats"
|
|
21
|
-
task :stats do
|
|
22
|
-
puts "\n## Production Code Stats"
|
|
23
|
-
sh "countloc -r lib"
|
|
24
|
-
puts "\n## Test Code Stats"
|
|
25
|
-
sh "countloc -r features"
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
desc "Run all quality tasks"
|
|
29
|
-
task :quality => [:cane, :tailor, :stats]
|
|
30
|
-
|
|
31
|
-
task :default => [:test, :quality]
|
|
11
|
+
task default: [:test]
|
data/busser-rspec.gemspec
CHANGED
|
@@ -1,32 +1,30 @@
|
|
|
1
|
-
|
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
|
1
|
+
lib = File.expand_path("lib", __dir__)
|
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
|
-
require
|
|
3
|
+
require "busser/rspec/version"
|
|
5
4
|
|
|
6
5
|
Gem::Specification.new do |spec|
|
|
7
|
-
spec.name =
|
|
6
|
+
spec.name = "busser-rspec"
|
|
8
7
|
spec.version = Busser::Rspec::VERSION
|
|
9
|
-
spec.authors = [
|
|
10
|
-
spec.email = [
|
|
11
|
-
spec.description =
|
|
8
|
+
spec.authors = ["Adam Jacob"]
|
|
9
|
+
spec.email = ["adam@opscode.com"]
|
|
10
|
+
spec.description = "A Busser runner plugin for RSpec"
|
|
12
11
|
spec.summary = spec.description
|
|
13
|
-
spec.homepage =
|
|
14
|
-
spec.license =
|
|
12
|
+
spec.homepage = "https://github.com/test-kitchen/busser-rspec"
|
|
13
|
+
spec.license = "Apache-2.0"
|
|
15
14
|
|
|
16
|
-
spec.
|
|
17
|
-
spec.executables = []
|
|
18
|
-
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
|
19
|
-
spec.require_paths = ['lib']
|
|
15
|
+
spec.required_ruby_version = ">= 3.2"
|
|
20
16
|
|
|
21
|
-
spec.
|
|
17
|
+
spec.files = `git ls-files -z`.split("\x0")
|
|
18
|
+
spec.executables = []
|
|
19
|
+
spec.require_paths = ["lib"]
|
|
22
20
|
|
|
23
|
-
spec.
|
|
24
|
-
|
|
21
|
+
spec.metadata = {
|
|
22
|
+
"bug_tracker_uri" => "#{spec.homepage}/issues",
|
|
23
|
+
"changelog_uri" => "#{spec.homepage}/blob/main/CHANGELOG.md",
|
|
24
|
+
"documentation_uri" => "#{spec.homepage}/blob/main/README.md",
|
|
25
|
+
"homepage_uri" => spec.homepage,
|
|
26
|
+
"source_code_uri" => spec.homepage,
|
|
27
|
+
}
|
|
25
28
|
|
|
26
|
-
spec.
|
|
27
|
-
spec.add_development_dependency 'rake'
|
|
28
|
-
spec.add_development_dependency 'aruba'
|
|
29
|
-
spec.add_development_dependency 'cane'
|
|
30
|
-
spec.add_development_dependency 'tailor'
|
|
31
|
-
spec.add_development_dependency 'countloc'
|
|
29
|
+
spec.add_dependency "busser", ">= 0.9.0"
|
|
32
30
|
end
|
|
@@ -4,8 +4,10 @@ Feature: Plugin install command
|
|
|
4
4
|
I want to run the postinstall for this plugin
|
|
5
5
|
|
|
6
6
|
Background:
|
|
7
|
-
Given a
|
|
7
|
+
Given a non bundler environment
|
|
8
|
+
And a test BUSSER_ROOT directory named "busser-rspec-install"
|
|
8
9
|
And a sandboxed GEM_HOME directory named "busser-rspec-gem-home"
|
|
10
|
+
And this plugin is installed from the working tree
|
|
9
11
|
|
|
10
12
|
Scenario: Running the postinstall generator
|
|
11
13
|
When I run `busser plugin install busser-rspec --force-postinstall`
|
data/features/support/env.rb
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
require
|
|
2
|
-
require
|
|
1
|
+
require "fileutils" unless defined?(FileUtils)
|
|
2
|
+
require "rubygems/package"
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
4
|
+
require "aruba/cucumber"
|
|
5
|
+
require "busser/cucumber"
|
|
6
|
+
|
|
7
|
+
# aruba 2 dropped @aruba_timeout_seconds; setting it in a Before hook is a
|
|
8
|
+
# no-op, which quietly left these commands on aruba's 15 second default.
|
|
9
|
+
# Installing a plugin and its gems into a cold sandbox does not always fit.
|
|
10
|
+
Aruba.configure do |config|
|
|
11
|
+
config.exit_timeout = 120
|
|
6
12
|
end
|
|
7
13
|
|
|
8
14
|
After do |s|
|
|
@@ -11,3 +17,39 @@ After do |s|
|
|
|
11
17
|
# steps are executed and clear it out.
|
|
12
18
|
Cucumber.wants_to_quit = true if s.failed?
|
|
13
19
|
end
|
|
20
|
+
|
|
21
|
+
# The sandboxed features shell out to `busser plugin install <this plugin>`, and
|
|
22
|
+
# two things have to hold for that to exercise this checkout:
|
|
23
|
+
#
|
|
24
|
+
# * The child has to be free of bundler. RubyGems re-requires bundler/setup
|
|
25
|
+
# whenever BUNDLER_SETUP is set, and bundler then resets Gem.dir to the
|
|
26
|
+
# bundle, so busser installs into vendor/bundle rather than the sandboxed
|
|
27
|
+
# GEM_HOME the features assert against. busser's "a non bundler environment"
|
|
28
|
+
# step clears that, and has to run before the sandbox is set up.
|
|
29
|
+
# * The plugin has to already be in that sandbox. Otherwise busser fetches the
|
|
30
|
+
# last release from RubyGems and runs *its* postinstall, which means CI
|
|
31
|
+
# silently tests the published gem instead of the code under review.
|
|
32
|
+
#
|
|
33
|
+
# So build the gem from the working tree and install it into the sandbox first.
|
|
34
|
+
Given(/^this plugin is installed from the working tree$/) do
|
|
35
|
+
root = File.expand_path("../..", __dir__)
|
|
36
|
+
package = nil
|
|
37
|
+
|
|
38
|
+
begin
|
|
39
|
+
Dir.chdir(root) do
|
|
40
|
+
spec = Gem::Specification.load(Dir["*.gemspec"].first)
|
|
41
|
+
package = Gem::Package.build(spec)
|
|
42
|
+
|
|
43
|
+
# --ignore-dependencies keeps this from reaching the network: busser and
|
|
44
|
+
# the rest are already resolvable through the GEM_PATH the sandbox step
|
|
45
|
+
# leaves in place.
|
|
46
|
+
installed = system(
|
|
47
|
+
Gem.ruby, "-S", "gem", "install", "--local", "--no-document",
|
|
48
|
+
"--ignore-dependencies", package, out: File::NULL
|
|
49
|
+
)
|
|
50
|
+
raise "could not install #{package} into #{ENV["GEM_HOME"]}" unless installed
|
|
51
|
+
end
|
|
52
|
+
ensure
|
|
53
|
+
FileUtils.rm_f(File.join(root, package)) if package
|
|
54
|
+
end
|
|
55
|
+
end
|
|
@@ -4,8 +4,10 @@ Feature: Test command
|
|
|
4
4
|
I want my tests to run when the rspec runner plugin is installed
|
|
5
5
|
|
|
6
6
|
Background:
|
|
7
|
-
Given a
|
|
7
|
+
Given a non bundler environment
|
|
8
|
+
And a test BUSSER_ROOT directory named "busser-rspec-test"
|
|
8
9
|
And a sandboxed GEM_HOME directory named "busser-rspec-gem-home"
|
|
10
|
+
And this plugin is installed from the working tree
|
|
9
11
|
When I successfully run `busser plugin install busser-rspec --force-postinstall`
|
|
10
12
|
Given a suite directory named "rspec"
|
|
11
13
|
|
data/lib/busser/rspec/runner.rb
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env ruby
|
|
2
|
-
# -*- encoding: utf-8 -*-
|
|
3
2
|
#
|
|
4
3
|
# Author:: HIGUCHI Daisuke (<d-higuchi@creationline.com>)
|
|
5
4
|
#
|
|
@@ -17,7 +16,7 @@
|
|
|
17
16
|
# See the License for the specific language governing permissions and
|
|
18
17
|
# limitations under the License.
|
|
19
18
|
|
|
20
|
-
require
|
|
21
|
-
require
|
|
19
|
+
require "bundler/setup"
|
|
20
|
+
require "rspec/core"
|
|
22
21
|
|
|
23
22
|
exit RSpec::Core::Runner.run(ARGV)
|
data/lib/busser/rspec/version.rb
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
1
|
#
|
|
3
2
|
# Author:: HIGUCHI Daisuke (<d-higuchi@creationline.com>)
|
|
4
3
|
#
|
|
@@ -21,6 +20,6 @@ module Busser
|
|
|
21
20
|
module Rspec
|
|
22
21
|
|
|
23
22
|
# Version string for the Rspec Busser runner plugin
|
|
24
|
-
VERSION = "0.
|
|
23
|
+
VERSION = "0.8.0".freeze
|
|
25
24
|
end
|
|
26
25
|
end
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
# -*- encoding: utf-8 -*-
|
|
2
1
|
#
|
|
3
2
|
# Author:: HIGUCHI Daisuke (<d-higuchi@creationline.com>)
|
|
4
3
|
#
|
|
@@ -16,8 +15,8 @@
|
|
|
16
15
|
# See the License for the specific language governing permissions and
|
|
17
16
|
# limitations under the License.
|
|
18
17
|
|
|
19
|
-
require
|
|
20
|
-
require
|
|
18
|
+
require "busser/runner_plugin"
|
|
19
|
+
require "rubygems" unless defined?(Gem)
|
|
21
20
|
|
|
22
21
|
# A Busser runner plugin for Rspec.
|
|
23
22
|
#
|
|
@@ -25,34 +24,35 @@ require 'rubygems'
|
|
|
25
24
|
#
|
|
26
25
|
class Busser::RunnerPlugin::Rspec < Busser::RunnerPlugin::Base
|
|
27
26
|
postinstall do
|
|
28
|
-
install_gem("rspec")
|
|
27
|
+
install_gem("rspec", ">= 3.13")
|
|
29
28
|
install_gem("bundler")
|
|
30
29
|
end
|
|
31
30
|
|
|
32
31
|
def test
|
|
33
|
-
rspec_path = suite_path(
|
|
32
|
+
rspec_path = suite_path("rspec").to_s
|
|
34
33
|
|
|
35
34
|
setup_file = File.join(rspec_path, "setup-recipe.rb")
|
|
36
35
|
|
|
37
36
|
Dir.chdir(rspec_path) do
|
|
38
37
|
|
|
39
38
|
# Referred from busser-serverspec
|
|
40
|
-
gemfile_path = File.join(rspec_path,
|
|
41
|
-
if File.
|
|
39
|
+
gemfile_path = File.join(rspec_path, "Gemfile")
|
|
40
|
+
if File.exist?(gemfile_path)
|
|
42
41
|
# Bundle install local completes quickly if the gems are already found locally
|
|
43
42
|
# it fails if it needs to talk to the internet. The || below is the fallback
|
|
44
43
|
# to the internet-enabled version. It's a speed optimization.
|
|
45
|
-
banner(
|
|
46
|
-
ENV[
|
|
47
|
-
bundle_exec = "#{File.join(RbConfig::CONFIG[
|
|
48
|
-
"#{File.join(Gem.bindir,
|
|
44
|
+
banner("Bundle Installing..")
|
|
45
|
+
ENV["PATH"] = [ENV["PATH"], Gem.bindir, RbConfig::CONFIG["bindir"]].join(File::PATH_SEPARATOR)
|
|
46
|
+
bundle_exec = "#{File.join(RbConfig::CONFIG["bindir"], "ruby")} " +
|
|
47
|
+
"#{File.join(Gem.bindir, "bundle")} install --gemfile #{gemfile_path}"
|
|
49
48
|
run("#{bundle_exec} --local || #{bundle_exec}")
|
|
50
49
|
end
|
|
51
50
|
|
|
52
|
-
if File.
|
|
53
|
-
|
|
51
|
+
if File.exist?(setup_file)
|
|
52
|
+
unless File.exist?("/opt/chef/bin/chef-apply")
|
|
54
53
|
raise "You have a chef setup file at #{setup_file}, but /opt/chef/bin/chef-apply does not if exist"
|
|
55
54
|
end
|
|
55
|
+
|
|
56
56
|
run("/opt/chef/bin/chef-apply #{setup_file}")
|
|
57
57
|
end
|
|
58
58
|
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
|
|
3
|
+
"bootstrap-sha": "ec6c35fd8840d47bd7c30c9a7a425bee46f5282b",
|
|
4
|
+
"packages": {
|
|
5
|
+
".": {
|
|
6
|
+
"package-name": "busser-rspec",
|
|
7
|
+
"changelog-path": "CHANGELOG.md",
|
|
8
|
+
"release-type": "ruby",
|
|
9
|
+
"include-component-in-tag": false,
|
|
10
|
+
"version-file": "lib/busser/rspec/version.rb",
|
|
11
|
+
"bump-minor-pre-major": true,
|
|
12
|
+
"bump-patch-for-minor-pre-major": true
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
data/renovate.json
ADDED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: busser-rspec
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Adam Jacob
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-08-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: busser
|
|
@@ -16,126 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 0.9.0
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version:
|
|
27
|
-
- !ruby/object:Gem::Dependency
|
|
28
|
-
name: rspec
|
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
|
30
|
-
requirements:
|
|
31
|
-
- - ">="
|
|
32
|
-
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0'
|
|
34
|
-
type: :development
|
|
35
|
-
prerelease: false
|
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
37
|
-
requirements:
|
|
38
|
-
- - ">="
|
|
39
|
-
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0'
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: chef
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: bundler
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '1.3'
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - "~>"
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: '1.3'
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: rake
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - ">="
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '0'
|
|
83
|
-
- !ruby/object:Gem::Dependency
|
|
84
|
-
name: aruba
|
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
|
86
|
-
requirements:
|
|
87
|
-
- - ">="
|
|
88
|
-
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0'
|
|
90
|
-
type: :development
|
|
91
|
-
prerelease: false
|
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
93
|
-
requirements:
|
|
94
|
-
- - ">="
|
|
95
|
-
- !ruby/object:Gem::Version
|
|
96
|
-
version: '0'
|
|
97
|
-
- !ruby/object:Gem::Dependency
|
|
98
|
-
name: cane
|
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
|
100
|
-
requirements:
|
|
101
|
-
- - ">="
|
|
102
|
-
- !ruby/object:Gem::Version
|
|
103
|
-
version: '0'
|
|
104
|
-
type: :development
|
|
105
|
-
prerelease: false
|
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
107
|
-
requirements:
|
|
108
|
-
- - ">="
|
|
109
|
-
- !ruby/object:Gem::Version
|
|
110
|
-
version: '0'
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: tailor
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :development
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
|
-
- !ruby/object:Gem::Dependency
|
|
126
|
-
name: countloc
|
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
|
128
|
-
requirements:
|
|
129
|
-
- - ">="
|
|
130
|
-
- !ruby/object:Gem::Version
|
|
131
|
-
version: '0'
|
|
132
|
-
type: :development
|
|
133
|
-
prerelease: false
|
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
135
|
-
requirements:
|
|
136
|
-
- - ">="
|
|
137
|
-
- !ruby/object:Gem::Version
|
|
138
|
-
version: '0'
|
|
26
|
+
version: 0.9.0
|
|
139
27
|
description: A Busser runner plugin for RSpec
|
|
140
28
|
email:
|
|
141
29
|
- adam@opscode.com
|
|
@@ -143,10 +31,15 @@ executables: []
|
|
|
143
31
|
extensions: []
|
|
144
32
|
extra_rdoc_files: []
|
|
145
33
|
files:
|
|
146
|
-
- ".
|
|
34
|
+
- ".github/workflows/ci.yml"
|
|
35
|
+
- ".github/workflows/pr-title.yml"
|
|
36
|
+
- ".github/workflows/publish.yml"
|
|
147
37
|
- ".gitignore"
|
|
38
|
+
- ".markdownlint.yaml"
|
|
39
|
+
- ".release-please-manifest.json"
|
|
40
|
+
- ".rubocop.yml"
|
|
148
41
|
- ".tailor"
|
|
149
|
-
- ".
|
|
42
|
+
- ".yamllint"
|
|
150
43
|
- CHANGELOG.md
|
|
151
44
|
- Gemfile
|
|
152
45
|
- LICENSE
|
|
@@ -160,11 +53,18 @@ files:
|
|
|
160
53
|
- lib/busser/rspec/runner.rb
|
|
161
54
|
- lib/busser/rspec/version.rb
|
|
162
55
|
- lib/busser/runner_plugin/rspec.rb
|
|
163
|
-
|
|
56
|
+
- release-please-config.json
|
|
57
|
+
- renovate.json
|
|
58
|
+
homepage: https://github.com/test-kitchen/busser-rspec
|
|
164
59
|
licenses:
|
|
165
|
-
- Apache
|
|
166
|
-
metadata:
|
|
167
|
-
|
|
60
|
+
- Apache-2.0
|
|
61
|
+
metadata:
|
|
62
|
+
bug_tracker_uri: https://github.com/test-kitchen/busser-rspec/issues
|
|
63
|
+
changelog_uri: https://github.com/test-kitchen/busser-rspec/blob/main/CHANGELOG.md
|
|
64
|
+
documentation_uri: https://github.com/test-kitchen/busser-rspec/blob/main/README.md
|
|
65
|
+
homepage_uri: https://github.com/test-kitchen/busser-rspec
|
|
66
|
+
source_code_uri: https://github.com/test-kitchen/busser-rspec
|
|
67
|
+
post_install_message:
|
|
168
68
|
rdoc_options: []
|
|
169
69
|
require_paths:
|
|
170
70
|
- lib
|
|
@@ -172,20 +72,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
172
72
|
requirements:
|
|
173
73
|
- - ">="
|
|
174
74
|
- !ruby/object:Gem::Version
|
|
175
|
-
version: '
|
|
75
|
+
version: '3.2'
|
|
176
76
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
177
77
|
requirements:
|
|
178
78
|
- - ">="
|
|
179
79
|
- !ruby/object:Gem::Version
|
|
180
80
|
version: '0'
|
|
181
81
|
requirements: []
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
signing_key:
|
|
82
|
+
rubygems_version: 3.5.9
|
|
83
|
+
signing_key:
|
|
185
84
|
specification_version: 4
|
|
186
85
|
summary: A Busser runner plugin for RSpec
|
|
187
|
-
test_files:
|
|
188
|
-
- features/plugin_install_command.feature
|
|
189
|
-
- features/plugin_list_command.feature
|
|
190
|
-
- features/support/env.rb
|
|
191
|
-
- features/test_command.feature
|
|
86
|
+
test_files: []
|
data/.cane
DELETED
|
File without changes
|