busser-bats 0.5.0 → 0.6.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 80dd7f4f2a1bdbedde3ed56dd1d06006cf12500493e324aff04f3cc97d6fc847
4
- data.tar.gz: 624cb79b0320e718ab509df144b17abd454f0d7f98394398f73269577177c64a
3
+ metadata.gz: b09420f04af698ba3b08210baee66053b30fb8ca42be2a96c2d6d0fa0b0af957
4
+ data.tar.gz: a997d8bec61c2d19360bc02474299d05145d0cabcc6719ddb51fb15b6e22751b
5
5
  SHA512:
6
- metadata.gz: 04744f07800df27d669bad4cec84c8c5ff2988ae47dcf1a277bf3d57fc1652116c02503311e9c081a9f754456967576c45adc452a7e78ea7c8dc971b73a52164
7
- data.tar.gz: 65fc095f1ad7197228ae0ea880f5cb03b3963d8ab1a3e1fa10b19adfd5c6596fa0779397ba30ad8594bbce5f7c92c6fa5c0dfbab6b0b85de6fb56aadc971c44c
6
+ metadata.gz: 3ec7470327ddb5a43d1901b04ada64ff762c3a818e03fed8bf2d51dd539114c5311d8e3e72e3a94b967929daba61aca7251f49fbca0fbd041ff7d52b0a4ec18c
7
+ data.tar.gz: f803cb57196ba7cb19c386d080ef54cae9573227c8c34f834f1d1d6b2bfd9a8ff8754db592a4be907b24a83a5f36ab14ef309f7bc76bfe285731cd35e2ff932b
@@ -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 }}
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "0.6.0"
3
+ }
data/.rubocop.yml CHANGED
@@ -1,11 +1,9 @@
1
1
  ---
2
2
  require:
3
- - chefstyle
3
+ - cookstyle/chefstyle
4
4
 
5
5
  AllCops:
6
- TargetRubyVersion: 2.7
7
- Include:
8
- - "**/*.rb"
6
+ TargetRubyVersion: 3.1
9
7
  Exclude:
10
8
  - "vendor/**/*"
11
9
  - "spec/**/*"
data/.tool-versions CHANGED
@@ -1 +1 @@
1
- ruby 3.2.2
1
+ ruby 3.3.3
data/.yamllint ADDED
@@ -0,0 +1,6 @@
1
+ ---
2
+ extends: default
3
+ rules:
4
+ line-length:
5
+ max: 256
6
+ level: warning
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  # busser-bats Changelog
2
2
 
3
+ ## [0.6.0](https://github.com/test-kitchen/busser-bats/compare/v0.5.0...v0.6.0) (2026-08-28)
4
+
5
+
6
+ ### ⚠ BREAKING CHANGES
7
+
8
+ * Ruby 3.1 and busser releases older than 0.9.0 are no longer supported.
9
+
10
+ ### Features
11
+
12
+ * require Ruby 3.2 and busser 0.9, adopt release-please ([#44](https://github.com/test-kitchen/busser-bats/issues/44)) ([3aa285e](https://github.com/test-kitchen/busser-bats/commit/3aa285e63f0b2f0b79666525022308eb14eee1c3))
13
+
3
14
  ## [0.5.0](https://github.com/test-kitchen/busser-bats/compare/v0.4.0...v0.5.0) (2023-11-30)
4
15
 
5
16
 
@@ -28,7 +39,7 @@
28
39
 
29
40
  * Upgrade vendored bats version to 0.4.0. ([@fnichol][])
30
41
 
31
- ### Improvments
42
+ ### Improvements
32
43
 
33
44
  * Update testing dependencies, upgrade to RSpec 3.x, freshen TravisCI build matrix, add style and complexity support. ([@fnichol][])
34
45
  * Allow Aruba tests to wait 20 seconds (vs. 10). ([@fnichol][])
data/Gemfile CHANGED
@@ -2,23 +2,17 @@ source "https://rubygems.org"
2
2
 
3
3
  gemspec
4
4
 
5
- group :guard do
6
- gem "guard-cucumber"
7
- gem "guard-cane"
8
- gem "guard-rubocop"
5
+ group :cookstyle do
6
+ gem "cookstyle", ">= 9.0.0"
9
7
  end
10
8
 
11
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"
12
13
  gem "rake", ">= 11.0"
13
- gem "rspec", "~> 3.2"
14
- gem "aruba"
15
14
  end
16
15
 
17
16
  group :development do
18
- gem "countloc"
19
17
  gem "simplecov"
20
18
  end
21
-
22
- group :chefstyle do
23
- gem "chefstyle", "2.2.3"
24
- end
data/README.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # Busser::RunnerPlugin::Bats
2
2
 
3
- [![Gem Version](https://badge.fury.io/rb/busser-bats.png)](http://badge.fury.io/rb/busser-bats)
4
- [![Build Status](https://travis-ci.org/test-kitchen/busser-bats.png?branch=master)](https://travis-ci.org/test-kitchen/busser-bats)
5
- [![Code Climate](https://codeclimate.com/github/test-kitchen/busser-bats.png)](https://codeclimate.com/github/test-kitchen/busser-bats)
3
+ [![Gem Version](https://badge.fury.io/rb/busser-bats.svg)](http://badge.fury.io/rb/busser-bats)
6
4
 
7
5
  A Busser runner plugin for [Bats][bats_site]
8
6
 
@@ -12,7 +10,7 @@ This software project is no longer under active development as it has no active
12
10
 
13
11
  ## Installation and Setup
14
12
 
15
- Until proper reference documentation is complete, the [Writing a Test](http://kitchen.ci/docs/getting-started/writing-test) section of the Test Kitchen's [Getting Started Guide](http://kitchen.ci/docs/getting-started/) gives a working example of creating a bats test.
13
+ Until proper reference documentation is complete, the [Writing a Test](https://kitchen.ci/docs/writing-test) section of the Test Kitchen's [Getting Started Guide](https://kitchen.ci/docs/) gives a working example of creating a bats test.
16
14
 
17
15
  ## Usage
18
16
 
data/Rakefile CHANGED
@@ -43,12 +43,4 @@ end
43
43
  desc "Run all test suites"
44
44
  task test: [:features]
45
45
 
46
- desc "Display LOC stats"
47
- task :stats do
48
- puts "\n## Production Code Stats"
49
- sh "countloc -r lib"
50
- puts "\n## Test Code Stats"
51
- sh "countloc -r features"
52
- end
53
-
54
- task default: %i{test quality}
46
+ task default: %i{test}
data/busser-bats.gemspec CHANGED
@@ -1,22 +1,30 @@
1
1
  lib = File.expand_path("lib", __dir__)
2
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
3
  require "busser/bats/version"
4
- require "English"
5
4
 
6
- Gem::Specification.new do |gem|
7
- gem.name = "busser-bats"
8
- gem.version = Busser::Bats::VERSION
9
- gem.authors = ["Fletcher Nichol"]
10
- gem.email = ["fnichol@nichol.ca"]
11
- gem.description = "A Busser runner plugin for Bats"
12
- gem.summary = gem.description
13
- gem.homepage = "https://github.com/test-kitchen/busser-bats"
14
- gem.license = "Apache 2.0"
5
+ Gem::Specification.new do |spec|
6
+ spec.name = "busser-bats"
7
+ spec.version = Busser::Bats::VERSION
8
+ spec.authors = ["Fletcher Nichol"]
9
+ spec.email = ["fnichol@nichol.ca"]
10
+ spec.description = "A Busser runner plugin for Bats"
11
+ spec.summary = spec.description
12
+ spec.homepage = "https://github.com/test-kitchen/busser-bats"
13
+ spec.license = "Apache-2.0"
15
14
 
16
- gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
17
- gem.executables = []
18
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
19
- gem.require_paths = ["lib"]
15
+ spec.required_ruby_version = ">= 3.2"
20
16
 
21
- gem.add_dependency "busser"
17
+ spec.files = `git ls-files -z`.split("\x0")
18
+ spec.executables = []
19
+ spec.require_paths = ["lib"]
20
+
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
+ }
28
+
29
+ spec.add_dependency "busser", ">= 0.9.0"
22
30
  end
@@ -6,8 +6,11 @@ if ENV["COVERAGE"]
6
6
  SimpleCov.command_name "features"
7
7
  end
8
8
 
9
- Before do
10
- @aruba_timeout_seconds = 20
9
+ # aruba 2 dropped @aruba_timeout_seconds; setting it in a Before hook is a
10
+ # no-op, which quietly left these commands on aruba's 15 second default.
11
+ # Installing a plugin and its gems into a cold sandbox does not always fit.
12
+ Aruba.configure do |config|
13
+ config.exit_timeout = 60
11
14
  end
12
15
 
13
16
  After do |s|
@@ -17,6 +17,6 @@
17
17
 
18
18
  module Busser
19
19
  module Bats
20
- VERSION = "0.5.0".freeze
20
+ VERSION = "0.6.0".freeze
21
21
  end
22
22
  end
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3
+ "bootstrap-sha": "d68705e017a260ede830b50e5f66fd37d9f6e58a",
4
+ "packages": {
5
+ ".": {
6
+ "package-name": "busser-bats",
7
+ "changelog-path": "CHANGELOG.md",
8
+ "release-type": "ruby",
9
+ "include-component-in-tag": false,
10
+ "version-file": "lib/busser/bats/version.rb",
11
+ "bump-minor-pre-major": true,
12
+ "bump-patch-for-minor-pre-major": true
13
+ }
14
+ }
15
+ }
data/renovate.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://docs.renovatebot.com/renovate-schema.json",
3
3
  "extends": [
4
4
  "config:recommended",
5
- ":disableDependencyDashboard",
6
- "schedule:automergeEarlyMondays"
5
+ "helpers:pinGitHubActionDigests",
6
+ ":semanticCommits"
7
7
  ]
8
8
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: busser-bats
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fletcher Nichol
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-30 00:00:00.000000000 Z
11
+ date: 2026-08-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: busser
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
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: '0'
26
+ version: 0.9.0
27
27
  description: A Busser runner plugin for Bats
28
28
  email:
29
29
  - fnichol@nichol.ca
@@ -31,17 +31,18 @@ executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
- - ".github/dependabot.yml"
35
- - ".github/workflows/lint.yaml"
36
- - ".github/workflows/publish.yaml"
34
+ - ".github/workflows/ci.yml"
35
+ - ".github/workflows/pr-title.yml"
36
+ - ".github/workflows/publish.yml"
37
37
  - ".gitignore"
38
38
  - ".markdownlint-cli2.jsonc"
39
39
  - ".markdownlint.yaml"
40
+ - ".release-please-manifest.json"
40
41
  - ".rubocop.yml"
41
42
  - ".tool-versions"
43
+ - ".yamllint"
42
44
  - CHANGELOG.md
43
45
  - Gemfile
44
- - Guardfile
45
46
  - LICENSE
46
47
  - README.md
47
48
  - Rakefile
@@ -57,6 +58,7 @@ files:
57
58
  - features/test_command.feature
58
59
  - lib/busser/bats/version.rb
59
60
  - lib/busser/runner_plugin/bats.rb
61
+ - release-please-config.json
60
62
  - renovate.json
61
63
  - vendor/bats/.gitattributes
62
64
  - vendor/bats/.travis.yml
@@ -79,8 +81,13 @@ files:
79
81
  - vendor/bats/package.json
80
82
  homepage: https://github.com/test-kitchen/busser-bats
81
83
  licenses:
82
- - Apache 2.0
83
- metadata: {}
84
+ - Apache-2.0
85
+ metadata:
86
+ bug_tracker_uri: https://github.com/test-kitchen/busser-bats/issues
87
+ changelog_uri: https://github.com/test-kitchen/busser-bats/blob/main/CHANGELOG.md
88
+ documentation_uri: https://github.com/test-kitchen/busser-bats/blob/main/README.md
89
+ homepage_uri: https://github.com/test-kitchen/busser-bats
90
+ source_code_uri: https://github.com/test-kitchen/busser-bats
84
91
  post_install_message:
85
92
  rdoc_options: []
86
93
  require_paths:
@@ -89,19 +96,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
89
96
  requirements:
90
97
  - - ">="
91
98
  - !ruby/object:Gem::Version
92
- version: '0'
99
+ version: '3.2'
93
100
  required_rubygems_version: !ruby/object:Gem::Requirement
94
101
  requirements:
95
102
  - - ">="
96
103
  - !ruby/object:Gem::Version
97
104
  version: '0'
98
105
  requirements: []
99
- rubygems_version: 3.4.10
106
+ rubygems_version: 3.5.9
100
107
  signing_key:
101
108
  specification_version: 4
102
109
  summary: A Busser runner plugin for Bats
103
- test_files:
104
- - features/plugin_install_command.feature
105
- - features/plugin_list_command.feature
106
- - features/support/env.rb
107
- - features/test_command.feature
110
+ test_files: []
@@ -1,8 +0,0 @@
1
- ---
2
- version: 2
3
- updates:
4
- - package-ecosystem: bundler
5
- directory: "/"
6
- schedule:
7
- interval: daily
8
- open-pull-requests-limit: 10
@@ -1,9 +0,0 @@
1
- ---
2
- name: "Test"
3
-
4
- "on":
5
- pull_request:
6
-
7
- jobs:
8
- lint-unit:
9
- uses: test-kitchen/.github/.github/workflows/lint-unit.yml@v0.1.2
@@ -1,35 +0,0 @@
1
- ---
2
- name: release-please
3
-
4
- "on":
5
- push:
6
- branches: [main]
7
-
8
- jobs:
9
- release-please:
10
- runs-on: ubuntu-latest
11
- steps:
12
- - uses: google-github-actions/release-please-action@v3
13
- id: release
14
- with:
15
- release-type: ruby
16
- package-name: busser-bats
17
- version-file: lib/busser/bats/version.rb
18
- token: ${{ secrets.PORTER_GITHUB_TOKEN }}
19
-
20
- - name: Checkout
21
- uses: actions/checkout@v4
22
- if: ${{ steps.release.outputs.release_created }}
23
-
24
- - name: Build and publish to GitHub Package
25
- uses: actionshub/publish-gem-to-github@main
26
- if: ${{ steps.release.outputs.release_created }}
27
- with:
28
- token: ${{ secrets.GITHUB_TOKEN }}
29
- owner: ${{ secrets.OWNER }}
30
-
31
- - name: Build and publish to RubyGems
32
- uses: actionshub/publish-gem-to-rubygems@main
33
- if: ${{ steps.release.outputs.release_created }}
34
- with:
35
- token: ${{ secrets.RUBYGEMS_API_KEY }}
data/Guardfile DELETED
@@ -1,26 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
- ignore %r{^\.gem/}
3
-
4
- def rubocop_opts
5
- { :all_on_start => false, :keep_failed => false, :cli => "-r finstyle -D" }
6
- end
7
-
8
- group :red_green_refactor, :halt_on_fail => true do
9
- guard :cucumber do
10
- watch(%r{^features/.+\.feature$})
11
- watch(%r{^features/support/.+$}) { "features" }
12
- watch(%r{^features/step_definitions/(.+)_steps\.rb$}) do |m|
13
- Dir[File.join("**/#{m[1]}.feature")][0] || "features"
14
- end
15
- end
16
-
17
- guard :rubocop, rubocop_opts do
18
- watch(%r{.+\.rb$})
19
- watch(%r{(?:.+/)?\.rubocop\.yml$}) { |m| File.dirname(m[0]) }
20
- end
21
-
22
- guard :cane do
23
- watch(%r{.*\.rb})
24
- watch(".cane")
25
- end
26
- end