beaker 6.6.0 → 6.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 +4 -4
- data/.github/release.yml +41 -0
- data/.github/workflows/release.yml +90 -16
- data/.github/workflows/test.yml +14 -17
- data/.rubocop_todo.yml +23 -35
- data/CHANGELOG.md +67 -170
- data/Gemfile +5 -28
- data/Rakefile +3 -0
- data/acceptance/tests/base/dsl/helpers/host_helpers/curl_with_retries_test.rb +3 -3
- data/acceptance/tests/base/dsl/structure_test.rb +2 -2
- data/beaker.gemspec +5 -2
- data/docs/tutorials/installation.md +1 -1
- data/docs/tutorials/quick_start_rake_tasks.md +1 -2
- data/lib/beaker/cli.rb +3 -3
- data/lib/beaker/dsl/helpers/host_helpers.rb +2 -2
- data/lib/beaker/dsl/structure.rb +1 -1
- data/lib/beaker/host/mac/pkg.rb +28 -2
- data/lib/beaker/host/unix/exec.rb +1 -1
- data/lib/beaker/logger_junit.rb +2 -2
- data/lib/beaker/ssh_connection.rb +1 -3
- data/lib/beaker/test_suite_result.rb +1 -1
- data/lib/beaker/version.rb +1 -1
- data/spec/beaker/host/mac/pkg_spec.rb +85 -0
- data/spec/helpers.rb +1 -0
- data/spec/spec_helper.rb +0 -24
- metadata +55 -10
data/CHANGELOG.md
CHANGED
@@ -1,257 +1,154 @@
|
|
1
1
|
# Changelog
|
2
2
|
|
3
|
-
## [6.
|
4
|
-
|
5
|
-
**Implemented enhancements:**
|
3
|
+
## [6.8.0](https://github.com/voxpupuli/beaker/tree/6.8.0) (2025-06-14)
|
6
4
|
|
7
|
-
|
8
|
-
|
9
|
-
## [6.5.0](https://github.com/voxpupuli/beaker/tree/6.5.0) (2025-03-18)
|
5
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.7.0...6.8.0)
|
10
6
|
|
11
7
|
**Implemented enhancements:**
|
12
8
|
|
13
|
-
|
14
|
-
* Allow minitar 1.x [\#1910](https://github.com/voxpupuli/beaker/pull/1910)
|
15
|
-
|
16
|
-
## [6.4.1](https://github.com/voxpupuli/beaker/tree/6.4.1) (2024-08-27)
|
9
|
+
- base64: Allow \<1 [\#1931](https://github.com/voxpupuli/beaker/pull/1931) ([bastelfreak](https://github.com/bastelfreak))
|
17
10
|
|
18
11
|
**Fixed bugs:**
|
19
12
|
|
20
|
-
-
|
21
|
-
|
22
|
-
## [6.4.0](https://github.com/voxpupuli/beaker/tree/6.4.0) (2024-08-27)
|
23
|
-
|
24
|
-
**Implemented enhancements:**
|
25
|
-
|
26
|
-
- Only install timesync packages if needed [\#1853](https://github.com/voxpupuli/beaker/pull/1853)
|
27
|
-
- Ensure platform is Beaker::Platform in tests [\#1855](https://github.com/voxpupuli/beaker/pull/1855)
|
28
|
-
- Avoid mocking stdout on host and use explicit hosts in host_prebuilt_steps_spec.rb [\#1900](https://github.com/voxpupuli/beaker/pull/1900)
|
29
|
-
|
30
|
-
## [6.3.0](https://github.com/voxpupuli/beaker/tree/6.3.0) (2024-08-13)
|
31
|
-
|
32
|
-
**Implemented enhancements:**
|
33
|
-
|
34
|
-
- build(deps): update minitar requirement from ~> 0.6 to ~> 0.12 [\#1895](https://github.com/voxpupuli/beaker/pull/1895)
|
13
|
+
- \(\#1928\) Prevented regex meant for EOL OS flavors matching el-10 [\#1929](https://github.com/voxpupuli/beaker/pull/1929) ([michael-riddle](https://github.com/michael-riddle))
|
35
14
|
|
36
|
-
|
37
|
-
|
38
|
-
- Arch Linux: Generate keyring before installing packages [\#1897](https://github.com/voxpupuli/beaker/pull/1897) ([bastelfreak](https://github.com/bastelfreak))
|
15
|
+
## [6.7.0](https://github.com/voxpupuli/beaker/tree/6.7.0) (2025-05-28)
|
39
16
|
|
40
|
-
|
17
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.6.0...6.7.0)
|
41
18
|
|
42
19
|
**Implemented enhancements:**
|
43
20
|
|
44
|
-
-
|
21
|
+
- Add `benchmark` dependency for Ruby 3.5 support [\#1920](https://github.com/voxpupuli/beaker/pull/1920) ([bastelfreak](https://github.com/bastelfreak))
|
22
|
+
- fakefs: Allow 3.x [\#1918](https://github.com/voxpupuli/beaker/pull/1918) ([bastelfreak](https://github.com/bastelfreak))
|
23
|
+
- Add Ruby 3.4 support [\#1917](https://github.com/voxpupuli/beaker/pull/1917) ([bastelfreak](https://github.com/bastelfreak))
|
24
|
+
- Fix some doc issues [\#1916](https://github.com/voxpupuli/beaker/pull/1916) ([lbetz](https://github.com/lbetz))
|
45
25
|
|
46
26
|
**Fixed bugs:**
|
47
27
|
|
48
|
-
-
|
49
|
-
|
50
|
-
## [6.1.0](https://github.com/voxpupuli/beaker/tree/6.1.0) (2024-06-04)
|
51
|
-
|
52
|
-
**Implemented enhancements:**
|
53
|
-
|
54
|
-
- Add package logic for Amazon Linux 2 [\#1887](https://github.com/voxpupuli/beaker/pull/1884) ([mhashizume](https://github.com/joshcooper))
|
55
|
-
|
56
|
-
## [6.0.0](https://github.com/voxpupuli/beaker/tree/6.0.0) (2024-05-24)
|
57
|
-
|
58
|
-
**Breaking changes:**
|
59
|
-
|
60
|
-
- Drop EoL F5 support [\#1866](https://github.com/voxpupuli/beaker/pull/1866) ([bastelfreak](https://github.com/bastelfreak))
|
61
|
-
- Drop EoL cumulus support [\#1867](https://github.com/voxpupuli/beaker/pull/1867) ([bastelfreak](https://github.com/bastelfreak))
|
62
|
-
- drop sys-v leftovers; assume systemctl is available for unknown platforms [\#1868](https://github.com/voxpupuli/beaker/pull/1868) ([bastelfreak](https://github.com/bastelfreak))
|
63
|
-
- Drop EoL huaweios support [\#1869](https://github.com/voxpupuli/beaker/pull/1869) ([bastelfreak](https://github.com/bastelfreak))
|
64
|
-
- Drop EoL EL4 support [\#1870](https://github.com/voxpupuli/beaker/pull/1870) ([bastelfreak](https://github.com/bastelfreak))
|
65
|
-
- Drop support for EoL Debian/Ubuntu versions [\#1871](https://github.com/voxpupuli/beaker/pull/1871) ([bastelfreak](https://github.com/bastelfreak))
|
66
|
-
- Drop EoL cisco support [\#1872](https://github.com/voxpupuli/beaker/pull/1872) ([bastelfreak](https://github.com/bastelfreak))
|
67
|
-
- Drop Fedora < 22 support [\#1873](https://github.com/voxpupuli/beaker/pull/1873) ([ekohl](https://github.com/ekohl))
|
68
|
-
- Drop EoL Arista EOS support [\#1874](https://github.com/voxpupuli/beaker/pull/1874) ([bastelfreak](https://github.com/bastelfreak))
|
69
|
-
- drop validate_setup method [\#1875](https://github.com/voxpupuli/beaker/pull/1875) ([bastelfreak](https://github.com/bastelfreak))
|
70
|
-
- Drop EoL netscaler support [\#1876](https://github.com/voxpupuli/beaker/pull/1876) ([bastelfreak](https://github.com/bastelfreak))
|
71
|
-
|
72
|
-
**Implemented enhancements:**
|
73
|
-
|
74
|
-
- Add package logic for Amazon Linux 2 [\#1884](https://github.com/voxpupuli/beaker/pull/1884) ([mhashizume](https://github.com/mhashizume))
|
75
|
-
|
76
|
-
**Fixed bugs:**
|
77
|
-
|
78
|
-
- Add ssh restart for Ubuntu [\#1885](https://github.com/voxpupuli/beaker/pull/1885) ([skyamgarp](https://github.com/skyamgarp))
|
79
|
-
|
80
|
-
## [5.8.1](https://github.com/voxpupuli/beaker/tree/5.8.1) (2024-05-06)
|
81
|
-
|
82
|
-
**Fixed bugs:**
|
28
|
+
- Fix wrong parameter assignment in multiple places [\#1926](https://github.com/voxpupuli/beaker/pull/1926) ([bastelfreak](https://github.com/bastelfreak))
|
29
|
+
- Fix macOS package installation when DMG content differs from filename [\#1915](https://github.com/voxpupuli/beaker/pull/1915) ([gavindidrichsen](https://github.com/gavindidrichsen))
|
83
30
|
|
84
|
-
|
31
|
+
## [6.6.0](https://github.com/voxpupuli/beaker/tree/6.6.0) (2025-03-27)
|
85
32
|
|
86
|
-
|
33
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.5.0...6.6.0)
|
87
34
|
|
88
35
|
**Implemented enhancements:**
|
89
36
|
|
90
|
-
-
|
91
|
-
- Do not attempt to install curl on DNF-based distros [\#1854](https://github.com/voxpupuli/beaker/pull/1854) ([ekohl](https://github.com/ekohl))
|
92
|
-
- PE-37978: Add 'amazon' to #repo-filename method [\#1858](https://github.com/voxpupuli/beaker/pull/1858) ([span786](https://github.com/span786))
|
93
|
-
|
94
|
-
**Fixed bugs:**
|
95
|
-
|
96
|
-
- CLI: Fix typo: opton->option [\#1849](https://github.com/voxpupuli/beaker/pull/1849) ([bastelfreak](https://github.com/bastelfreak))
|
37
|
+
- Changes to add powershell commands as wmic is deprecated in windows 2025 [\#1907](https://github.com/voxpupuli/beaker/pull/1907) ([skyamgarp](https://github.com/skyamgarp))
|
97
38
|
|
98
|
-
|
99
|
-
|
100
|
-
- build(deps-dev): update voxpupuli-rubocop requirement from ~> 2.4.0 to ~> 2.6.0 [\#1850](https://github.com/voxpupuli/beaker/pull/1850) (dependabot)
|
39
|
+
## [6.5.0](https://github.com/voxpupuli/beaker/tree/6.5.0) (2025-03-18)
|
101
40
|
|
102
|
-
|
41
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.4.1...6.5.0)
|
103
42
|
|
104
43
|
**Implemented enhancements:**
|
105
44
|
|
106
|
-
-
|
107
|
-
|
108
|
-
## [5.6.0](https://github.com/voxpupuli/beaker/tree/5.6.0) (2023-11-23)
|
45
|
+
- \(\#1896\) Allow minitar 1.x [\#1910](https://github.com/voxpupuli/beaker/pull/1910) ([bastelfreak](https://github.com/bastelfreak))
|
46
|
+
- \(PA-7210\) Add support for amazonfips [\#1908](https://github.com/voxpupuli/beaker/pull/1908) ([shubhamshinde360](https://github.com/shubhamshinde360))
|
109
47
|
|
110
|
-
|
48
|
+
## [6.4.1](https://github.com/voxpupuli/beaker/tree/6.4.1) (2024-08-27)
|
111
49
|
|
112
|
-
|
113
|
-
- Use DNF for Fedora, newer Enterprise Linux [\#1835](https://github.com/voxpupuli/beaker/pull/1835) ([mhashizume](https://github.com/mhashizume))
|
50
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.4.0...6.4.1)
|
114
51
|
|
115
52
|
**Fixed bugs:**
|
116
53
|
|
117
|
-
-
|
54
|
+
- platform: don't install `curl-minimal` on EL family [\#1902](https://github.com/voxpupuli/beaker/pull/1902) ([kenyon](https://github.com/kenyon))
|
118
55
|
|
119
|
-
## [
|
56
|
+
## [6.4.0](https://github.com/voxpupuli/beaker/tree/6.4.0) (2024-08-27)
|
120
57
|
|
121
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/
|
58
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.3.0...6.4.0)
|
122
59
|
|
123
60
|
**Implemented enhancements:**
|
124
61
|
|
125
|
-
-
|
62
|
+
- Only install timesync packages if needed [\#1853](https://github.com/voxpupuli/beaker/pull/1853) ([ekohl](https://github.com/ekohl))
|
126
63
|
|
127
|
-
|
128
|
-
|
129
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.3.0...5.4.0)
|
64
|
+
**Merged pull requests:**
|
130
65
|
|
131
|
-
|
66
|
+
- Avoid mocking stdout on host and use explicit hosts in host\_prebuilt\_steps\_spec.rb [\#1900](https://github.com/voxpupuli/beaker/pull/1900) ([ekohl](https://github.com/ekohl))
|
67
|
+
- Ensure platform is Beaker::Platform in tests [\#1855](https://github.com/voxpupuli/beaker/pull/1855) ([ekohl](https://github.com/ekohl))
|
132
68
|
|
133
|
-
|
69
|
+
## [6.3.0](https://github.com/voxpupuli/beaker/tree/6.3.0) (2024-08-13)
|
134
70
|
|
135
|
-
|
71
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.2.0...6.3.0)
|
136
72
|
|
137
73
|
**Fixed bugs:**
|
138
74
|
|
139
|
-
-
|
140
|
-
|
141
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.3.0...5.3.1)
|
142
|
-
|
143
|
-
## [5.3.0](https://github.com/voxpupuli/beaker/tree/5.3.0) (2023-06-06)
|
144
|
-
|
145
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.2.0...5.3.0)
|
146
|
-
|
147
|
-
**Implemented enhancements:**
|
148
|
-
|
149
|
-
- Add bcrypt\_pbkdf to fix ed25519 ssh keys support [\#1810](https://github.com/voxpupuli/beaker/pull/1810) ([jay7x](https://github.com/jay7x))
|
75
|
+
- Arch Linux: Generate keyring before installing packages [\#1897](https://github.com/voxpupuli/beaker/pull/1897) ([bastelfreak](https://github.com/bastelfreak))
|
150
76
|
|
151
77
|
**Merged pull requests:**
|
152
78
|
|
153
|
-
-
|
154
|
-
- GCG: Add missing faraday dependency [\#1815](https://github.com/voxpupuli/beaker/pull/1815) ([bastelfreak](https://github.com/bastelfreak))
|
155
|
-
- Build gems with verbosity and strictness [\#1811](https://github.com/voxpupuli/beaker/pull/1811) ([bastelfreak](https://github.com/bastelfreak))
|
79
|
+
- build\(deps\): update minitar requirement from ~\> 0.6 to ~\> 0.12 [\#1895](https://github.com/voxpupuli/beaker/pull/1895) ([dependabot[bot]](https://github.com/apps/dependabot))
|
156
80
|
|
157
|
-
## [
|
81
|
+
## [6.2.0](https://github.com/voxpupuli/beaker/tree/6.2.0) (2024-08-03)
|
158
82
|
|
159
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/
|
83
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.1.0...6.2.0)
|
160
84
|
|
161
85
|
**Implemented enhancements:**
|
162
86
|
|
163
|
-
-
|
164
|
-
- Switch to voxpupuli-rubocop [\#1804](https://github.com/voxpupuli/beaker/pull/1804) ([bastelfreak](https://github.com/bastelfreak))
|
165
|
-
- Support an extension to tmpfile [\#1735](https://github.com/voxpupuli/beaker/pull/1735) ([ekohl](https://github.com/ekohl))
|
87
|
+
- Debian: Replace apt-get with apt for updates [\#1890](https://github.com/voxpupuli/beaker/pull/1890) ([bastelfreak](https://github.com/bastelfreak))
|
166
88
|
|
167
89
|
**Fixed bugs:**
|
168
90
|
|
169
|
-
-
|
170
|
-
|
171
|
-
**Closed issues:**
|
172
|
-
|
173
|
-
- Failed to exec 'vagrant up' \(rbenv, ruby 2.7.6, bundler 2.3.19, virtualbox\) [\#1752](https://github.com/voxpupuli/beaker/issues/1752)
|
174
|
-
- EL 9 error - /sbin/service: No such file or directory [\#1751](https://github.com/voxpupuli/beaker/issues/1751)
|
91
|
+
- EL8/9 & Fedora: Install iputils [\#1893](https://github.com/voxpupuli/beaker/pull/1893) ([bastelfreak](https://github.com/bastelfreak))
|
175
92
|
|
176
93
|
**Merged pull requests:**
|
177
94
|
|
178
|
-
-
|
179
|
-
- Drop legacy yard tasks [\#1805](https://github.com/voxpupuli/beaker/pull/1805) ([bastelfreak](https://github.com/bastelfreak))
|
180
|
-
- Enhance documentation about roles [\#1800](https://github.com/voxpupuli/beaker/pull/1800) ([rwaffen](https://github.com/rwaffen))
|
95
|
+
- CI: Update CentOS7-\>CentOS9 [\#1891](https://github.com/voxpupuli/beaker/pull/1891) ([bastelfreak](https://github.com/bastelfreak))
|
181
96
|
|
182
|
-
## [
|
97
|
+
## [6.1.0](https://github.com/voxpupuli/beaker/tree/6.1.0) (2024-06-04)
|
183
98
|
|
184
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/
|
99
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/6.0.0...6.1.0)
|
185
100
|
|
186
101
|
**Implemented enhancements:**
|
187
102
|
|
188
|
-
-
|
103
|
+
- Add full Amazon 2 support [\#1887](https://github.com/voxpupuli/beaker/pull/1887) ([joshcooper](https://github.com/joshcooper))
|
189
104
|
|
190
|
-
## [
|
105
|
+
## [6.0.0](https://github.com/voxpupuli/beaker/tree/6.0.0) (2024-05-28)
|
191
106
|
|
192
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/
|
107
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.8.1...6.0.0)
|
193
108
|
|
194
109
|
**Breaking changes:**
|
195
110
|
|
196
|
-
-
|
197
|
-
-
|
198
|
-
- Drop
|
199
|
-
- Drop
|
200
|
-
-
|
201
|
-
-
|
111
|
+
- Drop EoL netscaler support [\#1876](https://github.com/voxpupuli/beaker/pull/1876) ([bastelfreak](https://github.com/bastelfreak))
|
112
|
+
- drop validate\_setup method [\#1875](https://github.com/voxpupuli/beaker/pull/1875) ([bastelfreak](https://github.com/bastelfreak))
|
113
|
+
- Drop EoL Arista EOS support [\#1874](https://github.com/voxpupuli/beaker/pull/1874) ([bastelfreak](https://github.com/bastelfreak))
|
114
|
+
- Drop Fedora \< 22 support [\#1873](https://github.com/voxpupuli/beaker/pull/1873) ([ekohl](https://github.com/ekohl))
|
115
|
+
- Drop EoL cisco support [\#1872](https://github.com/voxpupuli/beaker/pull/1872) ([bastelfreak](https://github.com/bastelfreak))
|
116
|
+
- Drop support for EoL Debian/Ubuntu versions [\#1871](https://github.com/voxpupuli/beaker/pull/1871) ([bastelfreak](https://github.com/bastelfreak))
|
117
|
+
- Drop EoL EL4 support [\#1870](https://github.com/voxpupuli/beaker/pull/1870) ([bastelfreak](https://github.com/bastelfreak))
|
118
|
+
- Drop EoL huaweios support [\#1869](https://github.com/voxpupuli/beaker/pull/1869) ([bastelfreak](https://github.com/bastelfreak))
|
119
|
+
- drop sys-v leftovers; assume systemctl is available for unknown platforms [\#1868](https://github.com/voxpupuli/beaker/pull/1868) ([bastelfreak](https://github.com/bastelfreak))
|
120
|
+
- Drop EoL cumulus support [\#1867](https://github.com/voxpupuli/beaker/pull/1867) ([bastelfreak](https://github.com/bastelfreak))
|
121
|
+
- Drop EoL F5 support [\#1866](https://github.com/voxpupuli/beaker/pull/1866) ([bastelfreak](https://github.com/bastelfreak))
|
202
122
|
|
203
123
|
**Implemented enhancements:**
|
204
124
|
|
205
|
-
-
|
206
|
-
- Add Ruby 3.2 support [\#1762](https://github.com/voxpupuli/beaker/pull/1762) ([ekohl](https://github.com/ekohl))
|
125
|
+
- Add package logic for Amazon Linux 2 [\#1884](https://github.com/voxpupuli/beaker/pull/1884) ([mhashizume](https://github.com/mhashizume))
|
207
126
|
|
208
127
|
**Fixed bugs:**
|
209
128
|
|
210
|
-
-
|
129
|
+
- Add ssh restart for Ubuntu [\#1885](https://github.com/voxpupuli/beaker/pull/1885) ([skyamgarp](https://github.com/skyamgarp))
|
211
130
|
|
212
|
-
|
131
|
+
## [5.8.1](https://github.com/voxpupuli/beaker/tree/5.8.1) (2024-05-06)
|
213
132
|
|
214
|
-
|
215
|
-
- rubocop: Fix more Style cops [\#1792](https://github.com/voxpupuli/beaker/pull/1792) ([bastelfreak](https://github.com/bastelfreak))
|
216
|
-
- Rubocop: Fix more Style cops [\#1791](https://github.com/voxpupuli/beaker/pull/1791) ([bastelfreak](https://github.com/bastelfreak))
|
217
|
-
- Rubocop: Fix multiple Layout cops [\#1790](https://github.com/voxpupuli/beaker/pull/1790) ([bastelfreak](https://github.com/bastelfreak))
|
218
|
-
- Add a CI job we can enforce in branch protection [\#1789](https://github.com/voxpupuli/beaker/pull/1789) ([bastelfreak](https://github.com/bastelfreak))
|
219
|
-
- rubocop: disable Gemspec/DevelopmentDependencies [\#1787](https://github.com/voxpupuli/beaker/pull/1787) ([bastelfreak](https://github.com/bastelfreak))
|
220
|
-
- Release pipeline: Dont install optional gems [\#1786](https://github.com/voxpupuli/beaker/pull/1786) ([bastelfreak](https://github.com/bastelfreak))
|
221
|
-
- CI: Run on merges to master [\#1785](https://github.com/voxpupuli/beaker/pull/1785) ([bastelfreak](https://github.com/bastelfreak))
|
222
|
-
- Run acceptance tests in CI [\#1784](https://github.com/voxpupuli/beaker/pull/1784) ([ekohl](https://github.com/ekohl))
|
223
|
-
- Update in-parallel requirement from ~\> 0.1 to \>= 0.1, \< 2.0 [\#1783](https://github.com/voxpupuli/beaker/pull/1783) ([dependabot[bot]](https://github.com/apps/dependabot))
|
224
|
-
- Update rubocop-rspec requirement from ~\> 2.18.1 to ~\> 2.19.0 [\#1781](https://github.com/voxpupuli/beaker/pull/1781) ([dependabot[bot]](https://github.com/apps/dependabot))
|
225
|
-
- Update rubocop requirement from ~\> 1.47.0 to ~\> 1.48.0 [\#1780](https://github.com/voxpupuli/beaker/pull/1780) ([dependabot[bot]](https://github.com/apps/dependabot))
|
226
|
-
- dependabot: check for github actions as well [\#1779](https://github.com/voxpupuli/beaker/pull/1779) ([bastelfreak](https://github.com/bastelfreak))
|
227
|
-
- RuboCop: Fix Layout cops [\#1778](https://github.com/voxpupuli/beaker/pull/1778) ([bastelfreak](https://github.com/bastelfreak))
|
228
|
-
- Fix more rubocop violations [\#1777](https://github.com/voxpupuli/beaker/pull/1777) ([bastelfreak](https://github.com/bastelfreak))
|
229
|
-
- Use Enumerable\#all? [\#1776](https://github.com/voxpupuli/beaker/pull/1776) ([ekohl](https://github.com/ekohl))
|
230
|
-
- Do not include Unix::Exec on Windows::Exec tests [\#1774](https://github.com/voxpupuli/beaker/pull/1774) ([ekohl](https://github.com/ekohl))
|
231
|
-
- Update rubocop requirement from ~\> 1.45.0 to ~\> 1.47.0 [\#1773](https://github.com/voxpupuli/beaker/pull/1773) ([dependabot[bot]](https://github.com/apps/dependabot))
|
232
|
-
- rubocop: Fix commas and whitespace and newlines [\#1768](https://github.com/voxpupuli/beaker/pull/1768) ([bastelfreak](https://github.com/bastelfreak))
|
233
|
-
- CI: Use latest actions/checkout version [\#1766](https://github.com/voxpupuli/beaker/pull/1766) ([bastelfreak](https://github.com/bastelfreak))
|
234
|
-
|
235
|
-
## [4.39.0](https://github.com/voxpupuli/beaker/tree/4.39.0) (2023-02-18)
|
236
|
-
|
237
|
-
[Full Changelog](https://github.com/voxpupuli/beaker/compare/4.38.1...4.39.0)
|
133
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.8.0...5.8.1)
|
238
134
|
|
239
|
-
**
|
135
|
+
**Fixed bugs:**
|
240
136
|
|
241
|
-
-
|
242
|
-
- Add Rubocop [\#1761](https://github.com/voxpupuli/beaker/pull/1761) ([ekohl](https://github.com/ekohl))
|
137
|
+
- Add extension parameter to parent tmpfile method signature [\#1863](https://github.com/voxpupuli/beaker/pull/1863) ([ekohl](https://github.com/ekohl))
|
243
138
|
|
244
|
-
|
139
|
+
## [5.8.0](https://github.com/voxpupuli/beaker/tree/5.8.0) (2024-03-22)
|
245
140
|
|
246
|
-
|
141
|
+
[Full Changelog](https://github.com/voxpupuli/beaker/compare/5.7.0...5.8.0)
|
247
142
|
|
248
|
-
**
|
143
|
+
**Implemented enhancements:**
|
249
144
|
|
250
|
-
- Ruby 3.
|
145
|
+
- Add Ruby 3.3 support [\#1859](https://github.com/voxpupuli/beaker/pull/1859) ([bastelfreak](https://github.com/bastelfreak))
|
146
|
+
- PE-37978: Add 'amazon' to \#repo-filename method [\#1858](https://github.com/voxpupuli/beaker/pull/1858) ([span786](https://github.com/span786))
|
147
|
+
- Do not attempt to install curl on DNF-based distros [\#1854](https://github.com/voxpupuli/beaker/pull/1854) ([ekohl](https://github.com/ekohl))
|
251
148
|
|
252
|
-
**
|
149
|
+
**Fixed bugs:**
|
253
150
|
|
254
|
-
-
|
151
|
+
- CLI: Fix typo: opton-\>option [\#1849](https://github.com/voxpupuli/beaker/pull/1849) ([bastelfreak](https://github.com/bastelfreak))
|
255
152
|
|
256
153
|
## [4.38.1](https://github.com/voxpupuli/beaker/tree/4.38.1) (2022-09-21)
|
257
154
|
|
data/Gemfile
CHANGED
@@ -1,38 +1,15 @@
|
|
1
1
|
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
|
2
2
|
|
3
3
|
gemspec
|
4
|
-
gem 'stringio'
|
5
|
-
# This section of the gemspec is for Puppet CI; it will pull in
|
6
|
-
# a supported beaker library for testing to overwrite the gemspec if
|
7
|
-
# a corresponding ENV var is found. Currently, the only supported lib
|
8
|
-
# is beaker-pe, which can be injected into the dependencies when the
|
9
|
-
# following ENV vars are defined: BEAKER_PE_PR_AUTHOR,
|
10
|
-
# BEAKER_PE_PR_COMMIT, BEAKER_PE_PR_REPO_URL. These correspond to the
|
11
|
-
# ghprb variables ghprbPullAuthorLogin, ghprbActualCommit,
|
12
|
-
# and ghprbAuthorRepoGitUrl respectively. In the "future", we should
|
13
|
-
# make this a standard format so we can pull in more than predefined
|
14
|
-
# variables.
|
15
|
-
|
16
|
-
if ENV['BEAKER_PE_PR_REPO_URL']
|
17
|
-
lib = ENV['BEAKER_PE_PR_REPO_URL'].match(/\/([^\/]+)\.git$/)[1]
|
18
|
-
author = ENV.fetch('BEAKER_PE_PR_AUTHOR', nil)
|
19
|
-
ref = ENV.fetch('BEAKER_PE_PR_COMMIT', nil)
|
20
|
-
gem lib, :git => "git@github.com:#{author}/#{lib}.git", :branch => ref
|
21
|
-
end
|
22
4
|
|
23
5
|
if ENV['BEAKER_HYPERVISOR']
|
24
6
|
# vagrant_libvirt -> vagrant
|
25
7
|
gem "beaker-#{ENV['BEAKER_HYPERVISOR'].split('_').first}"
|
26
8
|
end
|
27
9
|
|
28
|
-
group :release do
|
29
|
-
gem 'faraday-retry', require: false
|
30
|
-
|
10
|
+
group :release, optional: true do
|
11
|
+
gem 'faraday-retry', '~> 2.1', require: false
|
12
|
+
# fix from smortex to properly process commits that exist in multiple branches
|
13
|
+
# gem 'github_changelog_generator', github: 'smortex/github-changelog-generator', branch: 'avoid-processing-a-single-commit-multiple-time', require: false
|
14
|
+
gem 'github_changelog_generator', '~> 1.16.4', require: false
|
31
15
|
end
|
32
|
-
|
33
|
-
group :coverage, optional: ENV['COVERAGE'] != 'yes' do
|
34
|
-
gem 'codecov', :require => false
|
35
|
-
gem 'simplecov-console', :require => false
|
36
|
-
end
|
37
|
-
|
38
|
-
gem 'rdoc' if RUBY_VERSION >= '3.1'
|
data/Rakefile
CHANGED
@@ -191,6 +191,9 @@ begin
|
|
191
191
|
config.project = 'beaker'
|
192
192
|
gem_version = Gem::Specification.load("#{config.project}.gemspec").version
|
193
193
|
config.future_release = gem_version
|
194
|
+
config.release_branch = 'master'
|
195
|
+
config.exclude_tags_regex = /\A4\./
|
196
|
+
config.since_tag = '5.7.0'
|
194
197
|
end
|
195
198
|
rescue LoadError
|
196
199
|
# Optional group in bundler
|
@@ -9,9 +9,9 @@ test_name "dsl::helpers::host_helpers #curl_with_retries" do
|
|
9
9
|
"description",
|
10
10
|
default,
|
11
11
|
"file:///non/existent.html",
|
12
|
-
desired_exit_codes
|
13
|
-
max_retries
|
14
|
-
retry_interval
|
12
|
+
desired_exit_codes: [0],
|
13
|
+
max_retries: 2,
|
14
|
+
retry_interval: 0.01
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
@@ -73,7 +73,7 @@ test_name "dsl::structure" do
|
|
73
73
|
|
74
74
|
fail "#confine did not skip test but should have."
|
75
75
|
rescue Beaker::DSL::Outcomes::SkipTest => e
|
76
|
-
assert_match(/No suitable hosts found with {:platform
|
76
|
+
assert_match(/No suitable hosts found with {(:platform=>|platform: )"test"}/, e.message, "#confine raised an unexpected skip_test")
|
77
77
|
end
|
78
78
|
end
|
79
79
|
|
@@ -83,7 +83,7 @@ test_name "dsl::structure" do
|
|
83
83
|
|
84
84
|
fail "#confine did not skip test but should have."
|
85
85
|
rescue Beaker::DSL::Outcomes::SkipTest => e
|
86
|
-
assert_match(/No suitable hosts found without {:platform
|
86
|
+
assert_match(/No suitable hosts found without {(:platform=>|platform: )"#{default['platform']}"}/, e.message, "#confine raised an unexpected
|
87
87
|
# skip_test")
|
88
88
|
end
|
89
89
|
end
|
data/beaker.gemspec
CHANGED
@@ -19,12 +19,15 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.required_ruby_version = Gem::Requirement.new('>= 2.7')
|
20
20
|
|
21
21
|
# Testing dependencies
|
22
|
-
s.add_development_dependency 'fakefs', '
|
22
|
+
s.add_development_dependency 'fakefs', '>= 2.4', '< 4'
|
23
23
|
s.add_development_dependency 'rake', '~> 13.0'
|
24
24
|
s.add_development_dependency 'rspec', '~> 3.0'
|
25
|
-
s.add_development_dependency 'voxpupuli-rubocop', '~> 3.
|
25
|
+
s.add_development_dependency 'voxpupuli-rubocop', '~> 3.1.0'
|
26
26
|
|
27
27
|
# Run time dependencies
|
28
|
+
# Required for Ruby 3.3+ support
|
29
|
+
s.add_dependency 'base64', '>= 0.2.0', '< 1'
|
30
|
+
s.add_dependency 'benchmark', '>= 0.3', '< 0.5'
|
28
31
|
# we cannot require 1.0.2 because that requires Ruby 3.1
|
29
32
|
s.add_dependency 'minitar', '>= 0.12', '< 2'
|
30
33
|
s.add_dependency 'minitest', '~> 5.4'
|
@@ -12,7 +12,7 @@ In most cases, beaker is running on a system separate from the SUT; we will comm
|
|
12
12
|
On a Debian or Ubuntu system you can install these using the command
|
13
13
|
|
14
14
|
```console
|
15
|
-
$ sudo apt-get install ruby-dev libxml2-dev libxslt1-dev g++ zlib1g-dev
|
15
|
+
$ sudo apt-get install ruby-dev libxml2-dev libxslt1-dev make g++ zlib1g-dev
|
16
16
|
```
|
17
17
|
|
18
18
|
On an EL or Fedora system use:
|
@@ -27,8 +27,7 @@ You should see them listed along with any rake tasks you have defined in your lo
|
|
27
27
|
rake beaker_quickstart:gen_hosts[hypervisor] # Generate Default Beaker Host Config File, valid options are: vmpooler or vagrant
|
28
28
|
rake beaker_quickstart:gen_pre_suite # Generate Default Pre-Suite
|
29
29
|
rake beaker_quickstart:gen_smoke_test # Generate Default Smoke Test
|
30
|
-
rake beaker_quickstart:run_test[hypervisor] # Run Default Smoke Test, after generating default host config and test files, valid
|
31
|
-
options are: vmpooler or vagrant
|
30
|
+
rake beaker_quickstart:run_test[hypervisor] # Run Default Smoke Test, after generating default host config and test files, valid options are: vmpooler or vagrant
|
32
31
|
```
|
33
32
|
|
34
33
|
## Tasks
|
data/lib/beaker/cli.rb
CHANGED
@@ -129,10 +129,10 @@ module Beaker
|
|
129
129
|
@perf.print_perf_info if defined? @perf
|
130
130
|
end
|
131
131
|
# cleanup phase
|
132
|
-
rescue
|
132
|
+
rescue
|
133
133
|
begin
|
134
134
|
run_suite(:pre_cleanup)
|
135
|
-
rescue
|
135
|
+
rescue
|
136
136
|
# pre-cleanup failed
|
137
137
|
@logger.error "Failed running the pre-cleanup suite."
|
138
138
|
end
|
@@ -153,7 +153,7 @@ module Beaker
|
|
153
153
|
else
|
154
154
|
begin
|
155
155
|
run_suite(:pre_cleanup)
|
156
|
-
rescue
|
156
|
+
rescue
|
157
157
|
# pre-cleanup failed
|
158
158
|
@logger.error "Failed running the pre-cleanup suite."
|
159
159
|
end
|
@@ -560,7 +560,7 @@ module Beaker
|
|
560
560
|
log_prefix = host.log_prefix
|
561
561
|
logger.debug "\n#{log_prefix} #{Time.new.strftime('%H:%M:%S')}$ #{command}"
|
562
562
|
logger.debug " Trying command #{max_retries} times."
|
563
|
-
logger.debug ".", add_newline
|
563
|
+
logger.debug ".", add_newline: false
|
564
564
|
|
565
565
|
result = on host, command, { :accept_all_exit_codes => true, :silent => !verbose }, &block
|
566
566
|
num_retries = 0
|
@@ -568,7 +568,7 @@ module Beaker
|
|
568
568
|
sleep retry_interval
|
569
569
|
result = on host, command, { :accept_all_exit_codes => true, :silent => !verbose }, &block
|
570
570
|
num_retries += 1
|
571
|
-
logger.debug ".", add_newline
|
571
|
+
logger.debug ".", add_newline: false
|
572
572
|
if (num_retries > max_retries)
|
573
573
|
logger.debug " Command \`#{command}\` failed."
|
574
574
|
fail("Command \`#{command}\` failed.")
|
data/lib/beaker/dsl/structure.rb
CHANGED
data/lib/beaker/host/mac/pkg.rb
CHANGED
@@ -6,6 +6,8 @@ module Mac::Pkg
|
|
6
6
|
end
|
7
7
|
|
8
8
|
def install_package(name, _cmdline_args = '', _version = nil)
|
9
|
+
# strip off any .dmg extension, if it exists
|
10
|
+
name = File.basename(name, '.dmg')
|
9
11
|
generic_install_dmg("#{name}.dmg", name, "#{name}.pkg")
|
10
12
|
end
|
11
13
|
|
@@ -16,7 +18,10 @@ module Mac::Pkg
|
|
16
18
|
# @param [String] pkg_base The base name of the directory that the dmg
|
17
19
|
# attaches to under `/Volumes`
|
18
20
|
# @param [String] pkg_name The name of the package file that should be
|
19
|
-
# used by the installer
|
21
|
+
# used by the installer. If the specified
|
22
|
+
# package is not found, a wildcard search will be
|
23
|
+
# performed to locate and install the first `.pkg`
|
24
|
+
# file in the volume.
|
20
25
|
# @example: Install vagrant from URL
|
21
26
|
# mymachost.generic_install_dmg('https://releases.hashicorp.com/vagrant/1.8.4/vagrant_1.8.4.dmg', 'Vagrant', 'Vagrant.pkg')
|
22
27
|
def generic_install_dmg(dmg_file, pkg_base, pkg_name)
|
@@ -25,7 +30,28 @@ module Mac::Pkg
|
|
25
30
|
end
|
26
31
|
dmg_name = File.basename(dmg_file, '.dmg')
|
27
32
|
execute("hdiutil attach #{dmg_name}.dmg")
|
28
|
-
|
33
|
+
|
34
|
+
# First check if the specific package exists, otherwise use wildcard
|
35
|
+
specific_pkg_path = "/Volumes/#{pkg_base}/#{pkg_name}"
|
36
|
+
execute("test -f #{specific_pkg_path}", :accept_all_exit_codes => true) do |result|
|
37
|
+
if result.exit_code == 0
|
38
|
+
# $pkg_name package found so install it
|
39
|
+
execute("installer -pkg #{specific_pkg_path} -target /")
|
40
|
+
else
|
41
|
+
# else find and install the first *.pkg file in the volume
|
42
|
+
execute <<~SCRIPT
|
43
|
+
# find the first .pkg file in the mounted volume
|
44
|
+
pkg=$(find /Volumes/#{pkg_base} -name "*.pkg" -type f -print -quit)
|
45
|
+
if [ -n "$pkg" ]; then
|
46
|
+
echo "Installing $pkg"
|
47
|
+
installer -pkg "$pkg" -target /
|
48
|
+
else
|
49
|
+
echo "ERROR: No .pkg files found in /Volumes/#{pkg_base}/"
|
50
|
+
exit 1
|
51
|
+
fi
|
52
|
+
SCRIPT
|
53
|
+
end
|
54
|
+
end
|
29
55
|
end
|
30
56
|
|
31
57
|
def uninstall_package(name, _cmdline_args = '')
|
@@ -280,7 +280,7 @@ module Unix::Exec
|
|
280
280
|
case self['platform']
|
281
281
|
when /debian|ubuntu/
|
282
282
|
exec(Beaker::Command.new("systemctl restart ssh"))
|
283
|
-
when /(el|centos|redhat|oracle|scientific)-[0-6]/
|
283
|
+
when /(el|centos|redhat|oracle|scientific)-[0-6]\b/
|
284
284
|
exec(Beaker::Command.new("/sbin/service sshd restart"))
|
285
285
|
when /solaris/
|
286
286
|
exec(Beaker::Command.new("svcadm restart svc:/network/ssh:default"))
|
data/lib/beaker/logger_junit.rb
CHANGED
@@ -106,9 +106,9 @@ module Beaker
|
|
106
106
|
else
|
107
107
|
# no existing file, create a new one
|
108
108
|
doc = REXML::Document.new
|
109
|
-
doc << REXML::XMLDecl.new(
|
109
|
+
doc << REXML::XMLDecl.new("1.0", "UTF-8")
|
110
110
|
instruction_content = "type='text/xsl' href='#{File.basename(stylesheet)}'"
|
111
|
-
doc << REXML::Instruction.new(
|
111
|
+
doc << REXML::Instruction.new("xml-stylesheet", instruction_content)
|
112
112
|
end
|
113
113
|
return doc
|
114
114
|
end
|
@@ -194,9 +194,7 @@ module Beaker
|
|
194
194
|
false
|
195
195
|
end
|
196
196
|
|
197
|
-
def try_to_execute command, options = {}, stdout_callback = nil,
|
198
|
-
stderr_callback = stdout_callback
|
199
|
-
|
197
|
+
def try_to_execute command, options = {}, stdout_callback = nil, stderr_callback = stdout_callback
|
200
198
|
result = Result.new(@hostname, command)
|
201
199
|
|
202
200
|
@ssh.open_channel do |channel|
|