bard 2.0.0.beta → 2.0.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 +4 -4
- data/.github/workflows/ci.yml +6 -1
- data/CLAUDE.md +76 -0
- data/MIGRATION_GUIDE.md +24 -9
- data/PLUGINS.md +99 -0
- data/README.md +14 -6
- data/Rakefile +3 -1
- data/bard.gemspec +2 -1
- data/cucumber.yml +1 -0
- data/features/ci.feature +63 -0
- data/features/data.feature +13 -0
- data/features/deploy.feature +14 -0
- data/features/deploy_git_workflow.feature +89 -0
- data/features/run.feature +14 -0
- data/features/step_definitions/bard_steps.rb +136 -0
- data/features/support/bard-coverage +16 -0
- data/features/support/env.rb +14 -39
- data/features/support/test_server.rb +216 -0
- data/lib/bard/cli.rb +14 -31
- data/lib/bard/command.rb +10 -69
- data/lib/bard/config.rb +40 -183
- data/lib/bard/copy.rb +28 -103
- data/lib/bard/plugins/data.rb +56 -0
- data/lib/bard/{ci → plugins/deploy/ci}/github_actions.rb +3 -4
- data/lib/bard/plugins/deploy/ci/jenkins.rb +176 -0
- data/lib/bard/{ci → plugins/deploy/ci}/local.rb +7 -7
- data/lib/bard/{ci → plugins/deploy/ci}/runner.rb +38 -4
- data/lib/bard/plugins/deploy/ci.rb +38 -0
- data/lib/bard/plugins/deploy/ssh_strategy.rb +27 -0
- data/lib/bard/{deploy_strategy.rb → plugins/deploy/strategy.rb} +1 -1
- data/lib/bard/plugins/deploy.rb +240 -0
- data/lib/bard/{git.rb → plugins/git.rb} +6 -3
- data/lib/bard/{github.rb → plugins/github.rb} +4 -6
- data/lib/bard/{deploy_strategy/github_pages.rb → plugins/github_pages/strategy.rb} +13 -6
- data/lib/bard/plugins/github_pages.rb +30 -0
- data/lib/bard/plugins/hurt.rb +13 -0
- data/{install_files → lib/bard/plugins/install}/.github/dependabot.yml +2 -1
- data/{install_files → lib/bard/plugins/install}/.github/workflows/cache-ci.yml +1 -1
- data/{install_files → lib/bard/plugins/install}/.github/workflows/ci.yml +2 -2
- data/lib/bard/plugins/install.rb +9 -0
- data/lib/bard/plugins/open.rb +20 -0
- data/lib/bard/{ping.rb → plugins/ping/check.rb} +4 -4
- data/lib/bard/plugins/ping/target_methods.rb +23 -0
- data/lib/bard/plugins/ping.rb +10 -0
- data/lib/bard/plugins/run.rb +19 -0
- data/lib/bard/plugins/setup.rb +54 -0
- data/lib/bard/plugins/ssh/connection.rb +75 -0
- data/lib/bard/plugins/ssh/copy.rb +95 -0
- data/lib/bard/{ssh_server.rb → plugins/ssh/server.rb} +17 -42
- data/lib/bard/plugins/ssh/target_methods.rb +20 -0
- data/lib/bard/plugins/ssh.rb +10 -0
- data/lib/bard/plugins/url/target_methods.rb +23 -0
- data/lib/bard/plugins/url.rb +1 -0
- data/lib/bard/plugins/vim.rb +6 -0
- data/lib/bard/retryable.rb +25 -0
- data/lib/bard/secrets.rb +10 -0
- data/lib/bard/target.rb +27 -185
- data/lib/bard/version.rb +1 -1
- data/lib/bard.rb +1 -3
- data/spec/acceptance/docker/Dockerfile +3 -2
- data/spec/bard/capability_spec.rb +8 -50
- data/spec/bard/ci/github_actions_spec.rb +117 -14
- data/spec/bard/ci/jenkins_spec.rb +139 -0
- data/spec/bard/ci/runner_spec.rb +61 -0
- data/spec/bard/ci_spec.rb +1 -1
- data/spec/bard/cli/ci_spec.rb +34 -27
- data/spec/bard/cli/data_spec.rb +7 -26
- data/spec/bard/cli/deploy_spec.rb +87 -46
- data/spec/bard/cli/hurt_spec.rb +3 -9
- data/spec/bard/cli/install_spec.rb +5 -11
- data/spec/bard/cli/master_key_spec.rb +5 -19
- data/spec/bard/cli/open_spec.rb +14 -30
- data/spec/bard/cli/ping_spec.rb +8 -23
- data/spec/bard/cli/run_spec.rb +27 -21
- data/spec/bard/cli/setup_spec.rb +10 -27
- data/spec/bard/cli/ssh_spec.rb +10 -25
- data/spec/bard/cli/stage_spec.rb +28 -23
- data/spec/bard/cli/vim_spec.rb +3 -9
- data/spec/bard/command_spec.rb +1 -8
- data/spec/bard/config_spec.rb +78 -98
- data/spec/bard/copy_spec.rb +54 -18
- data/spec/bard/deploy_strategy/ssh_spec.rb +65 -7
- data/spec/bard/deploy_strategy_spec.rb +1 -1
- data/spec/bard/dynamic_dsl_spec.rb +18 -98
- data/spec/bard/git_spec.rb +9 -5
- data/spec/bard/github_spec.rb +2 -2
- data/spec/bard/ping_spec.rb +5 -5
- data/spec/bard/ssh_copy_spec.rb +44 -0
- data/spec/bard/ssh_server_spec.rb +8 -101
- data/spec/bard/target_spec.rb +66 -109
- data/spec/spec_helper.rb +6 -1
- metadata +79 -143
- data/README.rdoc +0 -15
- data/features/bard_check.feature +0 -94
- data/features/bard_deploy.feature +0 -18
- data/features/bard_pull.feature +0 -112
- data/features/bard_push.feature +0 -112
- data/features/podman_testcontainers.feature +0 -16
- data/features/step_definitions/check_steps.rb +0 -47
- data/features/step_definitions/git_steps.rb +0 -73
- data/features/step_definitions/global_steps.rb +0 -56
- data/features/step_definitions/podman_steps.rb +0 -23
- data/features/step_definitions/rails_steps.rb +0 -44
- data/features/step_definitions/submodule_steps.rb +0 -110
- data/features/support/grit_ext.rb +0 -13
- data/features/support/io.rb +0 -32
- data/features/support/podman.rb +0 -153
- data/lib/bard/ci/jenkins.rb +0 -105
- data/lib/bard/ci/retryable.rb +0 -27
- data/lib/bard/ci.rb +0 -50
- data/lib/bard/cli/ci.rb +0 -66
- data/lib/bard/cli/command.rb +0 -26
- data/lib/bard/cli/data.rb +0 -45
- data/lib/bard/cli/deploy.rb +0 -85
- data/lib/bard/cli/hurt.rb +0 -20
- data/lib/bard/cli/install.rb +0 -16
- data/lib/bard/cli/master_key.rb +0 -17
- data/lib/bard/cli/new.rb +0 -101
- data/lib/bard/cli/new_rails_template.rb +0 -197
- data/lib/bard/cli/open.rb +0 -22
- data/lib/bard/cli/ping.rb +0 -18
- data/lib/bard/cli/provision.rb +0 -34
- data/lib/bard/cli/run.rb +0 -24
- data/lib/bard/cli/setup.rb +0 -56
- data/lib/bard/cli/ssh.rb +0 -14
- data/lib/bard/cli/stage.rb +0 -27
- data/lib/bard/cli/vim.rb +0 -13
- data/lib/bard/default_config.rb +0 -35
- data/lib/bard/deploy_strategy/ssh.rb +0 -19
- data/lib/bard/github_pages.rb +0 -134
- data/lib/bard/provision/app.rb +0 -10
- data/lib/bard/provision/apt.rb +0 -16
- data/lib/bard/provision/authorizedkeys.rb +0 -25
- data/lib/bard/provision/data.rb +0 -27
- data/lib/bard/provision/deploy.rb +0 -10
- data/lib/bard/provision/http.rb +0 -16
- data/lib/bard/provision/logrotation.rb +0 -30
- data/lib/bard/provision/masterkey.rb +0 -18
- data/lib/bard/provision/mysql.rb +0 -22
- data/lib/bard/provision/passenger.rb +0 -37
- data/lib/bard/provision/repo.rb +0 -72
- data/lib/bard/provision/rvm.rb +0 -22
- data/lib/bard/provision/ssh.rb +0 -72
- data/lib/bard/provision/swapfile.rb +0 -21
- data/lib/bard/provision/user.rb +0 -42
- data/lib/bard/provision.rb +0 -16
- data/lib/bard/server.rb +0 -117
- data/spec/bard/cli/command_spec.rb +0 -50
- data/spec/bard/cli/new_spec.rb +0 -73
- data/spec/bard/cli/provision_spec.rb +0 -42
- data/spec/bard/github_pages_spec.rb +0 -143
- data/spec/bard/provision/app_spec.rb +0 -33
- data/spec/bard/provision/apt_spec.rb +0 -39
- data/spec/bard/provision/authorizedkeys_spec.rb +0 -40
- data/spec/bard/provision/data_spec.rb +0 -54
- data/spec/bard/provision/deploy_spec.rb +0 -33
- data/spec/bard/provision/http_spec.rb +0 -57
- data/spec/bard/provision/logrotation_spec.rb +0 -34
- data/spec/bard/provision/masterkey_spec.rb +0 -63
- data/spec/bard/provision/mysql_spec.rb +0 -55
- data/spec/bard/provision/passenger_spec.rb +0 -81
- data/spec/bard/provision/repo_spec.rb +0 -208
- data/spec/bard/provision/rvm_spec.rb +0 -49
- data/spec/bard/provision/ssh_spec.rb +0 -229
- data/spec/bard/provision/swapfile_spec.rb +0 -32
- data/spec/bard/provision/user_spec.rb +0 -103
- data/spec/bard/provision_spec.rb +0 -28
- data/spec/bard/server_spec.rb +0 -127
- /data/lib/bard/{ci → plugins/deploy/ci}/state.rb +0 -0
- /data/{install_files → lib/bard/plugins/install}/apt_dependencies.rb +0 -0
- /data/{install_files → lib/bard/plugins/install}/ci +0 -0
- /data/{install_files → lib/bard/plugins/install}/setup +0 -0
- /data/{install_files → lib/bard/plugins/install}/specified_bundler.rb +0 -0
- /data/{install_files → lib/bard/plugins/install}/specified_ruby.rb +0 -0
metadata
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: bard
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.0.0
|
|
4
|
+
version: 2.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Micah Geisel
|
|
8
8
|
bindir: bin
|
|
9
9
|
cert_chain: []
|
|
10
|
-
date:
|
|
10
|
+
date: 2026-05-17 00:00:00.000000000 Z
|
|
11
11
|
dependencies:
|
|
12
12
|
- !ruby/object:Gem::Dependency
|
|
13
13
|
name: thor
|
|
@@ -38,21 +38,21 @@ dependencies:
|
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: '0'
|
|
40
40
|
- !ruby/object:Gem::Dependency
|
|
41
|
-
name:
|
|
41
|
+
name: rbnacl
|
|
42
42
|
requirement: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
44
|
- - ">="
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
|
-
version:
|
|
46
|
+
version: '0'
|
|
47
47
|
type: :runtime
|
|
48
48
|
prerelease: false
|
|
49
49
|
version_requirements: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
51
|
- - ">="
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version:
|
|
53
|
+
version: '0'
|
|
54
54
|
- !ruby/object:Gem::Dependency
|
|
55
|
-
name:
|
|
55
|
+
name: base64
|
|
56
56
|
requirement: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
58
|
- - ">="
|
|
@@ -66,13 +66,13 @@ dependencies:
|
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
67
|
version: '0'
|
|
68
68
|
- !ruby/object:Gem::Dependency
|
|
69
|
-
name:
|
|
69
|
+
name: rake
|
|
70
70
|
requirement: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
72
|
- - ">="
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
74
|
version: '0'
|
|
75
|
-
type: :
|
|
75
|
+
type: :development
|
|
76
76
|
prerelease: false
|
|
77
77
|
version_requirements: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
@@ -80,7 +80,7 @@ dependencies:
|
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
81
|
version: '0'
|
|
82
82
|
- !ruby/object:Gem::Dependency
|
|
83
|
-
name:
|
|
83
|
+
name: rspec
|
|
84
84
|
requirement: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
86
|
- - ">="
|
|
@@ -94,7 +94,7 @@ dependencies:
|
|
|
94
94
|
- !ruby/object:Gem::Version
|
|
95
95
|
version: '0'
|
|
96
96
|
- !ruby/object:Gem::Dependency
|
|
97
|
-
name:
|
|
97
|
+
name: debug
|
|
98
98
|
requirement: !ruby/object:Gem::Requirement
|
|
99
99
|
requirements:
|
|
100
100
|
- - ">="
|
|
@@ -108,7 +108,7 @@ dependencies:
|
|
|
108
108
|
- !ruby/object:Gem::Version
|
|
109
109
|
version: '0'
|
|
110
110
|
- !ruby/object:Gem::Dependency
|
|
111
|
-
name:
|
|
111
|
+
name: cucumber
|
|
112
112
|
requirement: !ruby/object:Gem::Requirement
|
|
113
113
|
requirements:
|
|
114
114
|
- - ">="
|
|
@@ -122,7 +122,7 @@ dependencies:
|
|
|
122
122
|
- !ruby/object:Gem::Version
|
|
123
123
|
version: '0'
|
|
124
124
|
- !ruby/object:Gem::Dependency
|
|
125
|
-
name:
|
|
125
|
+
name: testcontainers
|
|
126
126
|
requirement: !ruby/object:Gem::Requirement
|
|
127
127
|
requirements:
|
|
128
128
|
- - ">="
|
|
@@ -136,7 +136,7 @@ dependencies:
|
|
|
136
136
|
- !ruby/object:Gem::Version
|
|
137
137
|
version: '0'
|
|
138
138
|
- !ruby/object:Gem::Dependency
|
|
139
|
-
name:
|
|
139
|
+
name: ostruct
|
|
140
140
|
requirement: !ruby/object:Gem::Requirement
|
|
141
141
|
requirements:
|
|
142
142
|
- - ">="
|
|
@@ -161,94 +161,72 @@ files:
|
|
|
161
161
|
- ".gitmodules"
|
|
162
162
|
- ".rspec"
|
|
163
163
|
- ARCHITECTURE.md
|
|
164
|
+
- CLAUDE.md
|
|
164
165
|
- CUSTOM_STRATEGIES.md
|
|
165
166
|
- Gemfile
|
|
166
167
|
- LICENSE
|
|
167
168
|
- MIGRATION_GUIDE.md
|
|
169
|
+
- PLUGINS.md
|
|
168
170
|
- README.md
|
|
169
|
-
- README.rdoc
|
|
170
171
|
- Rakefile
|
|
171
172
|
- bard.gemspec
|
|
172
173
|
- bin/bard
|
|
173
174
|
- bin/setup
|
|
174
|
-
-
|
|
175
|
-
- features/
|
|
176
|
-
- features/
|
|
177
|
-
- features/
|
|
178
|
-
- features/
|
|
179
|
-
- features/
|
|
180
|
-
- features/step_definitions/
|
|
181
|
-
- features/
|
|
182
|
-
- features/step_definitions/podman_steps.rb
|
|
183
|
-
- features/step_definitions/rails_steps.rb
|
|
184
|
-
- features/step_definitions/submodule_steps.rb
|
|
175
|
+
- cucumber.yml
|
|
176
|
+
- features/ci.feature
|
|
177
|
+
- features/data.feature
|
|
178
|
+
- features/deploy.feature
|
|
179
|
+
- features/deploy_git_workflow.feature
|
|
180
|
+
- features/run.feature
|
|
181
|
+
- features/step_definitions/bard_steps.rb
|
|
182
|
+
- features/support/bard-coverage
|
|
185
183
|
- features/support/env.rb
|
|
186
|
-
- features/support/
|
|
187
|
-
- features/support/io.rb
|
|
188
|
-
- features/support/podman.rb
|
|
189
|
-
- install_files/.github/dependabot.yml
|
|
190
|
-
- install_files/.github/workflows/cache-ci.yml
|
|
191
|
-
- install_files/.github/workflows/ci.yml
|
|
192
|
-
- install_files/apt_dependencies.rb
|
|
193
|
-
- install_files/ci
|
|
194
|
-
- install_files/setup
|
|
195
|
-
- install_files/specified_bundler.rb
|
|
196
|
-
- install_files/specified_ruby.rb
|
|
184
|
+
- features/support/test_server.rb
|
|
197
185
|
- lib/bard.rb
|
|
198
|
-
- lib/bard/ci.rb
|
|
199
|
-
- lib/bard/ci/github_actions.rb
|
|
200
|
-
- lib/bard/ci/jenkins.rb
|
|
201
|
-
- lib/bard/ci/local.rb
|
|
202
|
-
- lib/bard/ci/retryable.rb
|
|
203
|
-
- lib/bard/ci/runner.rb
|
|
204
|
-
- lib/bard/ci/state.rb
|
|
205
186
|
- lib/bard/cli.rb
|
|
206
|
-
- lib/bard/cli/ci.rb
|
|
207
|
-
- lib/bard/cli/command.rb
|
|
208
|
-
- lib/bard/cli/data.rb
|
|
209
|
-
- lib/bard/cli/deploy.rb
|
|
210
|
-
- lib/bard/cli/hurt.rb
|
|
211
|
-
- lib/bard/cli/install.rb
|
|
212
|
-
- lib/bard/cli/master_key.rb
|
|
213
|
-
- lib/bard/cli/new.rb
|
|
214
|
-
- lib/bard/cli/new_rails_template.rb
|
|
215
|
-
- lib/bard/cli/open.rb
|
|
216
|
-
- lib/bard/cli/ping.rb
|
|
217
|
-
- lib/bard/cli/provision.rb
|
|
218
|
-
- lib/bard/cli/run.rb
|
|
219
|
-
- lib/bard/cli/setup.rb
|
|
220
|
-
- lib/bard/cli/ssh.rb
|
|
221
|
-
- lib/bard/cli/stage.rb
|
|
222
|
-
- lib/bard/cli/vim.rb
|
|
223
187
|
- lib/bard/command.rb
|
|
224
188
|
- lib/bard/config.rb
|
|
225
189
|
- lib/bard/copy.rb
|
|
226
|
-
- lib/bard/
|
|
227
|
-
- lib/bard/
|
|
228
|
-
- lib/bard/
|
|
229
|
-
- lib/bard/
|
|
230
|
-
- lib/bard/
|
|
231
|
-
- lib/bard/
|
|
232
|
-
- lib/bard/
|
|
233
|
-
- lib/bard/
|
|
234
|
-
- lib/bard/
|
|
235
|
-
- lib/bard/
|
|
236
|
-
- lib/bard/
|
|
237
|
-
- lib/bard/
|
|
238
|
-
- lib/bard/
|
|
239
|
-
- lib/bard/
|
|
240
|
-
- lib/bard/
|
|
241
|
-
- lib/bard/
|
|
242
|
-
- lib/bard/
|
|
243
|
-
- lib/bard/
|
|
244
|
-
- lib/bard/
|
|
245
|
-
- lib/bard/
|
|
246
|
-
- lib/bard/
|
|
247
|
-
- lib/bard/
|
|
248
|
-
- lib/bard/
|
|
249
|
-
- lib/bard/
|
|
250
|
-
- lib/bard/
|
|
251
|
-
- lib/bard/
|
|
190
|
+
- lib/bard/plugins/data.rb
|
|
191
|
+
- lib/bard/plugins/deploy.rb
|
|
192
|
+
- lib/bard/plugins/deploy/ci.rb
|
|
193
|
+
- lib/bard/plugins/deploy/ci/github_actions.rb
|
|
194
|
+
- lib/bard/plugins/deploy/ci/jenkins.rb
|
|
195
|
+
- lib/bard/plugins/deploy/ci/local.rb
|
|
196
|
+
- lib/bard/plugins/deploy/ci/runner.rb
|
|
197
|
+
- lib/bard/plugins/deploy/ci/state.rb
|
|
198
|
+
- lib/bard/plugins/deploy/ssh_strategy.rb
|
|
199
|
+
- lib/bard/plugins/deploy/strategy.rb
|
|
200
|
+
- lib/bard/plugins/git.rb
|
|
201
|
+
- lib/bard/plugins/github.rb
|
|
202
|
+
- lib/bard/plugins/github_pages.rb
|
|
203
|
+
- lib/bard/plugins/github_pages/strategy.rb
|
|
204
|
+
- lib/bard/plugins/hurt.rb
|
|
205
|
+
- lib/bard/plugins/install.rb
|
|
206
|
+
- lib/bard/plugins/install/.github/dependabot.yml
|
|
207
|
+
- lib/bard/plugins/install/.github/workflows/cache-ci.yml
|
|
208
|
+
- lib/bard/plugins/install/.github/workflows/ci.yml
|
|
209
|
+
- lib/bard/plugins/install/apt_dependencies.rb
|
|
210
|
+
- lib/bard/plugins/install/ci
|
|
211
|
+
- lib/bard/plugins/install/setup
|
|
212
|
+
- lib/bard/plugins/install/specified_bundler.rb
|
|
213
|
+
- lib/bard/plugins/install/specified_ruby.rb
|
|
214
|
+
- lib/bard/plugins/open.rb
|
|
215
|
+
- lib/bard/plugins/ping.rb
|
|
216
|
+
- lib/bard/plugins/ping/check.rb
|
|
217
|
+
- lib/bard/plugins/ping/target_methods.rb
|
|
218
|
+
- lib/bard/plugins/run.rb
|
|
219
|
+
- lib/bard/plugins/setup.rb
|
|
220
|
+
- lib/bard/plugins/ssh.rb
|
|
221
|
+
- lib/bard/plugins/ssh/connection.rb
|
|
222
|
+
- lib/bard/plugins/ssh/copy.rb
|
|
223
|
+
- lib/bard/plugins/ssh/server.rb
|
|
224
|
+
- lib/bard/plugins/ssh/target_methods.rb
|
|
225
|
+
- lib/bard/plugins/url.rb
|
|
226
|
+
- lib/bard/plugins/url/target_methods.rb
|
|
227
|
+
- lib/bard/plugins/vim.rb
|
|
228
|
+
- lib/bard/retryable.rb
|
|
229
|
+
- lib/bard/secrets.rb
|
|
252
230
|
- lib/bard/target.rb
|
|
253
231
|
- lib/bard/version.rb
|
|
254
232
|
- spec/acceptance/.gitignore
|
|
@@ -257,18 +235,17 @@ files:
|
|
|
257
235
|
- spec/acceptance/docker/test_key.pub
|
|
258
236
|
- spec/bard/capability_spec.rb
|
|
259
237
|
- spec/bard/ci/github_actions_spec.rb
|
|
238
|
+
- spec/bard/ci/jenkins_spec.rb
|
|
239
|
+
- spec/bard/ci/runner_spec.rb
|
|
260
240
|
- spec/bard/ci_spec.rb
|
|
261
241
|
- spec/bard/cli/ci_spec.rb
|
|
262
|
-
- spec/bard/cli/command_spec.rb
|
|
263
242
|
- spec/bard/cli/data_spec.rb
|
|
264
243
|
- spec/bard/cli/deploy_spec.rb
|
|
265
244
|
- spec/bard/cli/hurt_spec.rb
|
|
266
245
|
- spec/bard/cli/install_spec.rb
|
|
267
246
|
- spec/bard/cli/master_key_spec.rb
|
|
268
|
-
- spec/bard/cli/new_spec.rb
|
|
269
247
|
- spec/bard/cli/open_spec.rb
|
|
270
248
|
- spec/bard/cli/ping_spec.rb
|
|
271
|
-
- spec/bard/cli/provision_spec.rb
|
|
272
249
|
- spec/bard/cli/run_spec.rb
|
|
273
250
|
- spec/bard/cli/setup_spec.rb
|
|
274
251
|
- spec/bard/cli/ssh_spec.rb
|
|
@@ -281,26 +258,9 @@ files:
|
|
|
281
258
|
- spec/bard/deploy_strategy_spec.rb
|
|
282
259
|
- spec/bard/dynamic_dsl_spec.rb
|
|
283
260
|
- spec/bard/git_spec.rb
|
|
284
|
-
- spec/bard/github_pages_spec.rb
|
|
285
261
|
- spec/bard/github_spec.rb
|
|
286
262
|
- spec/bard/ping_spec.rb
|
|
287
|
-
- spec/bard/
|
|
288
|
-
- spec/bard/provision/apt_spec.rb
|
|
289
|
-
- spec/bard/provision/authorizedkeys_spec.rb
|
|
290
|
-
- spec/bard/provision/data_spec.rb
|
|
291
|
-
- spec/bard/provision/deploy_spec.rb
|
|
292
|
-
- spec/bard/provision/http_spec.rb
|
|
293
|
-
- spec/bard/provision/logrotation_spec.rb
|
|
294
|
-
- spec/bard/provision/masterkey_spec.rb
|
|
295
|
-
- spec/bard/provision/mysql_spec.rb
|
|
296
|
-
- spec/bard/provision/passenger_spec.rb
|
|
297
|
-
- spec/bard/provision/repo_spec.rb
|
|
298
|
-
- spec/bard/provision/rvm_spec.rb
|
|
299
|
-
- spec/bard/provision/ssh_spec.rb
|
|
300
|
-
- spec/bard/provision/swapfile_spec.rb
|
|
301
|
-
- spec/bard/provision/user_spec.rb
|
|
302
|
-
- spec/bard/provision_spec.rb
|
|
303
|
-
- spec/bard/server_spec.rb
|
|
263
|
+
- spec/bard/ssh_copy_spec.rb
|
|
304
264
|
- spec/bard/ssh_server_spec.rb
|
|
305
265
|
- spec/bard/target_spec.rb
|
|
306
266
|
- spec/bard_spec.rb
|
|
@@ -318,7 +278,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
318
278
|
requirements:
|
|
319
279
|
- - ">="
|
|
320
280
|
- !ruby/object:Gem::Version
|
|
321
|
-
version: '
|
|
281
|
+
version: '3.3'
|
|
322
282
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
323
283
|
requirements:
|
|
324
284
|
- - ">="
|
|
@@ -329,39 +289,32 @@ rubygems_version: 3.6.2
|
|
|
329
289
|
specification_version: 4
|
|
330
290
|
summary: CLI to automate common development tasks.
|
|
331
291
|
test_files:
|
|
332
|
-
- features/
|
|
333
|
-
- features/
|
|
334
|
-
- features/
|
|
335
|
-
- features/
|
|
336
|
-
- features/
|
|
337
|
-
- features/step_definitions/
|
|
338
|
-
- features/
|
|
339
|
-
- features/step_definitions/global_steps.rb
|
|
340
|
-
- features/step_definitions/podman_steps.rb
|
|
341
|
-
- features/step_definitions/rails_steps.rb
|
|
342
|
-
- features/step_definitions/submodule_steps.rb
|
|
292
|
+
- features/ci.feature
|
|
293
|
+
- features/data.feature
|
|
294
|
+
- features/deploy.feature
|
|
295
|
+
- features/deploy_git_workflow.feature
|
|
296
|
+
- features/run.feature
|
|
297
|
+
- features/step_definitions/bard_steps.rb
|
|
298
|
+
- features/support/bard-coverage
|
|
343
299
|
- features/support/env.rb
|
|
344
|
-
- features/support/
|
|
345
|
-
- features/support/io.rb
|
|
346
|
-
- features/support/podman.rb
|
|
300
|
+
- features/support/test_server.rb
|
|
347
301
|
- spec/acceptance/.gitignore
|
|
348
302
|
- spec/acceptance/docker/Dockerfile
|
|
349
303
|
- spec/acceptance/docker/test_key
|
|
350
304
|
- spec/acceptance/docker/test_key.pub
|
|
351
305
|
- spec/bard/capability_spec.rb
|
|
352
306
|
- spec/bard/ci/github_actions_spec.rb
|
|
307
|
+
- spec/bard/ci/jenkins_spec.rb
|
|
308
|
+
- spec/bard/ci/runner_spec.rb
|
|
353
309
|
- spec/bard/ci_spec.rb
|
|
354
310
|
- spec/bard/cli/ci_spec.rb
|
|
355
|
-
- spec/bard/cli/command_spec.rb
|
|
356
311
|
- spec/bard/cli/data_spec.rb
|
|
357
312
|
- spec/bard/cli/deploy_spec.rb
|
|
358
313
|
- spec/bard/cli/hurt_spec.rb
|
|
359
314
|
- spec/bard/cli/install_spec.rb
|
|
360
315
|
- spec/bard/cli/master_key_spec.rb
|
|
361
|
-
- spec/bard/cli/new_spec.rb
|
|
362
316
|
- spec/bard/cli/open_spec.rb
|
|
363
317
|
- spec/bard/cli/ping_spec.rb
|
|
364
|
-
- spec/bard/cli/provision_spec.rb
|
|
365
318
|
- spec/bard/cli/run_spec.rb
|
|
366
319
|
- spec/bard/cli/setup_spec.rb
|
|
367
320
|
- spec/bard/cli/ssh_spec.rb
|
|
@@ -374,26 +327,9 @@ test_files:
|
|
|
374
327
|
- spec/bard/deploy_strategy_spec.rb
|
|
375
328
|
- spec/bard/dynamic_dsl_spec.rb
|
|
376
329
|
- spec/bard/git_spec.rb
|
|
377
|
-
- spec/bard/github_pages_spec.rb
|
|
378
330
|
- spec/bard/github_spec.rb
|
|
379
331
|
- spec/bard/ping_spec.rb
|
|
380
|
-
- spec/bard/
|
|
381
|
-
- spec/bard/provision/apt_spec.rb
|
|
382
|
-
- spec/bard/provision/authorizedkeys_spec.rb
|
|
383
|
-
- spec/bard/provision/data_spec.rb
|
|
384
|
-
- spec/bard/provision/deploy_spec.rb
|
|
385
|
-
- spec/bard/provision/http_spec.rb
|
|
386
|
-
- spec/bard/provision/logrotation_spec.rb
|
|
387
|
-
- spec/bard/provision/masterkey_spec.rb
|
|
388
|
-
- spec/bard/provision/mysql_spec.rb
|
|
389
|
-
- spec/bard/provision/passenger_spec.rb
|
|
390
|
-
- spec/bard/provision/repo_spec.rb
|
|
391
|
-
- spec/bard/provision/rvm_spec.rb
|
|
392
|
-
- spec/bard/provision/ssh_spec.rb
|
|
393
|
-
- spec/bard/provision/swapfile_spec.rb
|
|
394
|
-
- spec/bard/provision/user_spec.rb
|
|
395
|
-
- spec/bard/provision_spec.rb
|
|
396
|
-
- spec/bard/server_spec.rb
|
|
332
|
+
- spec/bard/ssh_copy_spec.rb
|
|
397
333
|
- spec/bard/ssh_server_spec.rb
|
|
398
334
|
- spec/bard/target_spec.rb
|
|
399
335
|
- spec/bard_spec.rb
|
data/README.rdoc
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
= BARD
|
|
2
|
-
|
|
3
|
-
This is a collection of tools designed to ease collaboration within Bot and Rose Design.
|
|
4
|
-
It wraps git, capistrano, and rake to make things as simple as:
|
|
5
|
-
|
|
6
|
-
bard stage
|
|
7
|
-
bard deploy
|
|
8
|
-
|
|
9
|
-
Seed database from staging or production:
|
|
10
|
-
bard data
|
|
11
|
-
|
|
12
|
-
== Copyright
|
|
13
|
-
|
|
14
|
-
Copyright (c) 2018 Micah Geisel. See LICENSE for details.
|
|
15
|
-
|
data/features/bard_check.feature
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
Feature: Bard can check its environment for missing dependencies and potential problems
|
|
2
|
-
|
|
3
|
-
Scenario: Bard check returns its version
|
|
4
|
-
When I type "bard check -v"
|
|
5
|
-
Then I should see the current version of bard
|
|
6
|
-
And I should see the current version of git
|
|
7
|
-
And I should see the current version of rubygems
|
|
8
|
-
And I should see the current version of ruby
|
|
9
|
-
|
|
10
|
-
Scenario: Bard check examines a local project for problems
|
|
11
|
-
Given a shared rails project
|
|
12
|
-
When I type "bard check"
|
|
13
|
-
Then I should see "No problems"
|
|
14
|
-
|
|
15
|
-
Scenario: Bard check detects missing database
|
|
16
|
-
Given a shared rails project
|
|
17
|
-
And the database is missing
|
|
18
|
-
When I type "bard check"
|
|
19
|
-
Then I should see the fatal error "missing database"
|
|
20
|
-
|
|
21
|
-
Scenario: Bard check detects pending migrations
|
|
22
|
-
Given a shared rails project
|
|
23
|
-
And a commit with a new migration
|
|
24
|
-
When I type "bard check"
|
|
25
|
-
Then I should see the fatal error "pending migrations"
|
|
26
|
-
|
|
27
|
-
Scenario: Bard check detects missing config/database.yml
|
|
28
|
-
Given a shared rails project
|
|
29
|
-
And "config/database.yml" is missing
|
|
30
|
-
When I type "bard check"
|
|
31
|
-
Then I should see the fatal error "missing config/database.yml"
|
|
32
|
-
|
|
33
|
-
Scenario: Bard check detects missing submodules
|
|
34
|
-
Given a shared rails project
|
|
35
|
-
And a submodule
|
|
36
|
-
And the submodule is missing
|
|
37
|
-
When I type "bard check"
|
|
38
|
-
Then I should see the fatal error "missing submodule"
|
|
39
|
-
|
|
40
|
-
Scenario: Bard check detects submodules with detached heads
|
|
41
|
-
Given a shared rails project
|
|
42
|
-
And a submodule
|
|
43
|
-
And the submodule has a detached head
|
|
44
|
-
When I type "bard check"
|
|
45
|
-
Then I should see the fatal error "submodule has a detached head"
|
|
46
|
-
|
|
47
|
-
Scenario: Bard check detects missing gems
|
|
48
|
-
Given a shared rails project
|
|
49
|
-
And the test gem is not installed
|
|
50
|
-
And a commit that adds the test gem as a dependency
|
|
51
|
-
When I type "bard check"
|
|
52
|
-
Then I should see the fatal error "missing gems"
|
|
53
|
-
|
|
54
|
-
Scenario: Bard check detects master branch checked out
|
|
55
|
-
Given a shared rails project
|
|
56
|
-
And I am on the "master" branch
|
|
57
|
-
When I type "bard check"
|
|
58
|
-
Then I should see the fatal error "master branch"
|
|
59
|
-
|
|
60
|
-
Scenario: Bard check detects missing integration branch
|
|
61
|
-
Given a shared rails project
|
|
62
|
-
And there is no integration branch
|
|
63
|
-
When I type "bard check"
|
|
64
|
-
Then I should see the fatal error "missing integration branch"
|
|
65
|
-
|
|
66
|
-
Scenario: Bard check detects non-tracking integration branch
|
|
67
|
-
Given a shared rails project
|
|
68
|
-
And the integration branch isnt tracking origin/integration
|
|
69
|
-
When I type "bard check"
|
|
70
|
-
Then I should see the fatal error "tracking"
|
|
71
|
-
|
|
72
|
-
Scenario: Bard check detects gitignored Capfile
|
|
73
|
-
Given a shared rails project
|
|
74
|
-
And the ".gitignore" file includes "Capfile"
|
|
75
|
-
When I type "bard check"
|
|
76
|
-
Then I should see the fatal error "Capfile should not be gitignored"
|
|
77
|
-
|
|
78
|
-
Scenario: Bard check detects gitignored config/deploy.rb
|
|
79
|
-
Given a shared rails project
|
|
80
|
-
And the ".gitignore" file includes "config/deploy.rb"
|
|
81
|
-
When I type "bard check"
|
|
82
|
-
Then I should see the fatal error "config/deploy.rb should not be gitignored"
|
|
83
|
-
|
|
84
|
-
Scenario: Bard check detects missing bard rake tasks
|
|
85
|
-
Given a shared rails project
|
|
86
|
-
And the "Rakefile" file does not include "bard/rake"
|
|
87
|
-
When I type "bard check"
|
|
88
|
-
Then I should see the fatal error "missing bard rake tasks"
|
|
89
|
-
|
|
90
|
-
Scenario: Bard check detects missing bard cap tasks
|
|
91
|
-
Given a shared rails project
|
|
92
|
-
And the "Capfile" file does not include "bard/capistrano"
|
|
93
|
-
When I type "bard check"
|
|
94
|
-
Then I should see the fatal error "missing bard capistrano tasks"
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
Feature: Bard deploy should fold the integration branch into master and perform a deploy
|
|
2
|
-
|
|
3
|
-
Scenario: Bard deploy detects non-fast-forward merge from integration to master
|
|
4
|
-
Given a shared rails project
|
|
5
|
-
And on development_b, a commit on the "master" branch
|
|
6
|
-
And on development_b, I type "git push origin master"
|
|
7
|
-
And a commit
|
|
8
|
-
When I type "bard deploy"
|
|
9
|
-
Then I should see the fatal error "Rebase"
|
|
10
|
-
|
|
11
|
-
Scenario: Bard deploy works
|
|
12
|
-
Given a shared rails project
|
|
13
|
-
And a commit
|
|
14
|
-
When I type "bard deploy"
|
|
15
|
-
Then the "master" branch should match the "integration" branch
|
|
16
|
-
And the "integration" branch should match the "origin/integration" branch
|
|
17
|
-
And the "origin/master" branch should match the "origin/integration" branch
|
|
18
|
-
|
data/features/bard_pull.feature
DELETED
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
Feature: bard pull
|
|
2
|
-
Background:
|
|
3
|
-
Given a shared rails project
|
|
4
|
-
|
|
5
|
-
Scenario: Pulling down the latest changes from the remote integration branch
|
|
6
|
-
Given on development_b, a commit
|
|
7
|
-
And on development_b, I type "bard push"
|
|
8
|
-
When I type "bard pull"
|
|
9
|
-
Then the "integration" branch should match the "development_b:integration" branch
|
|
10
|
-
|
|
11
|
-
Scenario: Pulling down when the latest changes include a submodule addition
|
|
12
|
-
Given on development_b, a commit with a new submodule
|
|
13
|
-
And on development_b, I type "bard push"
|
|
14
|
-
When I type "bard pull"
|
|
15
|
-
Then the "integration" branch should match the "development_b:integration" branch
|
|
16
|
-
And there should be one new submodule
|
|
17
|
-
And the submodule branch should match the submodule origin branch
|
|
18
|
-
And the submodule working directory should be clean
|
|
19
|
-
|
|
20
|
-
Scenario: Pulling down when the latest changes include a submodule update
|
|
21
|
-
Given a submodule
|
|
22
|
-
And on development_b, a commit with a submodule update
|
|
23
|
-
And on development_b, I type "bard push"
|
|
24
|
-
When I type "bard pull"
|
|
25
|
-
Then the "integration" branch should match the "development_b:integration" branch
|
|
26
|
-
And the submodule branch should match the submodule origin branch
|
|
27
|
-
And the submodule working directory should be clean
|
|
28
|
-
|
|
29
|
-
Scenario: Pulling down when the latest changes include a submodule url change
|
|
30
|
-
Given a submodule
|
|
31
|
-
And on development_b, a commit with a submodule url change
|
|
32
|
-
And on development_b, I type "bard push"
|
|
33
|
-
When I type "bard pull"
|
|
34
|
-
Then the "integration" branch should match the "development_b:integration" branch
|
|
35
|
-
And the submodule url should be changed
|
|
36
|
-
And the submodule branch should match the submodule origin branch
|
|
37
|
-
And the submodule working directory should be clean
|
|
38
|
-
|
|
39
|
-
# TODO
|
|
40
|
-
#Scenario: Pulling down when the latest changes include a submodule deletion
|
|
41
|
-
# Given a submodule
|
|
42
|
-
# And on staging, a commit with a submodule deletion
|
|
43
|
-
# When I type "bard pull"
|
|
44
|
-
# Then the "integration" branch should match the "origin/integration" branch
|
|
45
|
-
# And the submodule should be deleted
|
|
46
|
-
|
|
47
|
-
Scenario: Pulling latest changes from the remote integration branch after committing locally
|
|
48
|
-
Given on development_b, a commit
|
|
49
|
-
And on development_b, I type "bard push"
|
|
50
|
-
And a commit
|
|
51
|
-
When I type "bard pull"
|
|
52
|
-
Then I should see the warning "Someone has pushed some changes"
|
|
53
|
-
And the "integration" branch should be a fast-forward from the "development_b:integration" branch
|
|
54
|
-
|
|
55
|
-
Scenario: Bard pull from a topic branch
|
|
56
|
-
Given on development_b, a commit on the "topic" branch
|
|
57
|
-
And on development_b, I am on the "topic" branch
|
|
58
|
-
And on development_b, I type "bard push"
|
|
59
|
-
And I am on the "topic" branch
|
|
60
|
-
When I type "bard pull"
|
|
61
|
-
Then the "topic" branch should match the "development_b:topic" branch
|
|
62
|
-
|
|
63
|
-
Scenario: Trying to bard pull when not in the project root
|
|
64
|
-
Given I am in a subdirectory
|
|
65
|
-
When I type "bard pull"
|
|
66
|
-
Then I should see the fatal error "root directory"
|
|
67
|
-
|
|
68
|
-
Scenario: Trying to bard pull with a dirty working directory
|
|
69
|
-
Given on development_b, a commit
|
|
70
|
-
And on development_b, I type "bard push"
|
|
71
|
-
And a dirty working directory
|
|
72
|
-
When I type "bard pull"
|
|
73
|
-
Then I should see the fatal error "You have uncommitted changes!"
|
|
74
|
-
And the "integration" branch should not match the "development_b:integration" branch
|
|
75
|
-
|
|
76
|
-
Scenario: Trying to bard pull when on the "master" branch
|
|
77
|
-
Given on development_b, a commit on the "master" branch
|
|
78
|
-
And on development_b, I am on the "master" branch
|
|
79
|
-
And on development_b, I type "git push origin master"
|
|
80
|
-
And I am on the "master" branch
|
|
81
|
-
When I type "bard pull"
|
|
82
|
-
Then I should see the fatal error "on the master branch"
|
|
83
|
-
And the "master" branch should not match the "development_b:master" branch
|
|
84
|
-
|
|
85
|
-
Scenario: Pulling in a change that includes a migration on a dev machine
|
|
86
|
-
Given on development_b, a commit with a new migration
|
|
87
|
-
And on development_b, I type "bard push"
|
|
88
|
-
And a development database
|
|
89
|
-
When I type "bard pull"
|
|
90
|
-
Then the development database should include that migration
|
|
91
|
-
|
|
92
|
-
Scenario: Pulling in a change that includes a migration on a dev and testing machine
|
|
93
|
-
Given on development_b, a commit with a new migration
|
|
94
|
-
And on development_b, I type "bard push"
|
|
95
|
-
And a development database
|
|
96
|
-
And a test database
|
|
97
|
-
When I type "bard pull"
|
|
98
|
-
Then the development database should include that migration
|
|
99
|
-
And the test database should include that migration
|
|
100
|
-
|
|
101
|
-
Scenario: Pulling in a change that includes a gem dependency change
|
|
102
|
-
Given the test gem is not installed
|
|
103
|
-
And on development_b, a commit that adds the test gem as a dependency
|
|
104
|
-
And on development_b, I type "bard push"
|
|
105
|
-
When I type "bard pull"
|
|
106
|
-
Then the test gem should be installed
|
|
107
|
-
|
|
108
|
-
Scenario: Pulling in a change should restart the rails server
|
|
109
|
-
Given on development_b, a commit
|
|
110
|
-
And on development_b, I type "bard push"
|
|
111
|
-
When I type "bard pull"
|
|
112
|
-
Then passenger should have been restarted
|