| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
We highly recommend you never use this, but there's times when you 100%
need to have the client sleep for a period of time after some work.
Example: windows_service will start a service and the OS will say that
it's "started" when it's not. Before doing additional work that relies
on the service being started you may need to sleep. This would be a good
time to notify on the restart or start action.
Signed-off-by: Tim Smith <tsmith@chef.io>
|
|
|
|
| |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\
| |
| | |
Add chef-utils gem with various recipe DSL helpers
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
This is the implementation of [RFC-087](https://github.com/chef-boneyard/chef-rfc/blob/master/rfc087-distro-sugar-helpers.md)
although some of the specifics have been iterated on and changed.
The documentation will be in the [README.md](https://github.com/chef/chef/tree/master/chef-utils/README.md) once this is merged.
While this PR mostly moves chef-sugar utilities into core-chef via this chef-utils gem, the scope of the chef-utils gem
should be considered larger than just that. As an example this PR moves the Mash class into this gem for reuse in ohai
as well.
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
|
|
|
|
| |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\
| |
| | |
fix the habitat package promotion tests
|
| |
| |
| |
| | |
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
And use it in both the verify/habitat and habitat/test pipelines.
verify/habitat needs hab >= 0.85 to both build with environment
variables that don't include the studio path[1] and to binlink the runtime
with stubs that include the package and system environment.[2]
habitat/test needs hab >= 0.85 to binlink the runtime with stubs that
include the package and system environment.
[1] https://github.com/habitat-sh/habitat/pull/6850
[2] https://github.com/habitat-sh/habitat/pull/6826
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Test hosts haven't necessarily had "hab setup" run for \hab\bin to be on
the system PATH. For the purposes on this test, we would like that to be
the case. So, put Hab's bin directory at the start of the PATH and carry
on.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
The PowerShell scripts calling PowerShell scripts was apparently
swallowing the errors being thrown from inner layers. Check the error
level of those scripts and throw another error if need be.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \
| | |
| | | |
Remove useless search arg mangling
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This doesn't actually do anything and repetitively confuses me every
6 months when I look at it.
Array#pop(0) does nothing at all (in python it removes the first element
from the list):
[2] pry(main)> a = [ 1, 2, 3 ]
=> [1, 2, 3]
[3] pry(main)> a.pop(0)
=> []
[4] pry(main)> a
=> [1, 2, 3]
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
|
| | |
| | |
| | |
| | | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \ \
| | | |
| | | | |
dist constants in win logs
|
|/ / /
| | |
| | |
| | | |
Signed-off-by: Marc Chamberland <chamberland.marc@gmail.com>
|
| | |
| | |
| | |
| | | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \ \
| | | |
| | | | |
service/systemd_unit: Don't try to reenable services in an indirect status
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This follows this `is_masked` path to ensure we don't try to enable OR
disable systemd units if they are indirect
Fixes #9041
Signed-off-by: Phil Dibowitz <phil@ipom.com>
|
| | | |
| | | |
| | | |
| | | | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \ \ \
| |_|/ /
|/| | | |
Updates for Chefstyle with Rubocop 0.75.1
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
This update found a few things that should have been triggering before.
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| | |
| | |
| | |
| | | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \ \
| |_|/
|/| | |
Update lixml2, libxslt, and nokogiri to the latest
|
|/ /
| |
| |
| |
| |
| | |
Resolve multiple CVEs in these libs
Signed-off-by: Tim Smith <tsmith@chef.io>
|
| |
| |
| |
| | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \
| | |
| | | |
systemd_unit needs to log
|
| |/
| |
| |
| |
| |
| | |
closes #9045
Signed-off-by: Phil Dibowitz <phil@ipom.com>
|
| |
| |
| |
| | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \
| | |
| | | |
Update omnibus
|
|/ /
| |
| |
| | |
Signed-off-by: Jaymala Sinha <jsinha@chef.io>
|
| |
| |
| |
| | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \
| | |
| | |
| | |
| | | |
MsysTechnologiesllc/VSingh/MSYS-1141_knife_config_get_conf_d_fixes
[knife config get] Fix TypeError: no implicit conversion of nil into String
|
|/ /
| |
| |
| |
| |
| | |
- Now showing relevant logs for config.d configuration files.
Signed-off-by: Vivek Singh <vivek.singh@msystechnologies.com>
|
| |
| |
| |
| | |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\ \
| |/
|/| |
Bump omnibus to 6.1.10
|
|/
|
|
|
|
| |
Pull in fix https://github.com/chef/omnibus/pull/910
Signed-off-by: Bryan McLellan <btm@chef.io>
|
|\
| |
| | |
[ci] include the platform target in the hab package promotion command
|
|/
|
|
|
|
|
| |
Or else it won't work when there are multiple platform targets for a
package.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
|
|
|
| |
Obvious fix; these changes are the result of automation not creative thinking.
|
|\
| |
| | |
a Windows Habitat plan
|
| |
| |
| |
| | |
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Removed the promote_hab_package actions from the omnibus release
workloads.
Defined a new workload subscribed to BuildKite successfully publishing
to unstable packages for all platforms listed in .bldr.toml. The
habitat/test pipeline is now responsible for testing the unstable
packages just built and promoting them if they all pass. Currently
scoped only to the Windows package because the Linux packages don't test
well yet.
Co-authored-by: Jeremiah Snapp <jeremiah.snapp@gmail.com>
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Expeditor uses this to know for which platforms to crank out packages.
https://expeditor.chef.io/docs/patterns/habitat-packages/#bldr-toml
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We can disable the :choco_installed specs directly in the execution of
RSpec instead of deleting the choco.exe binary from the test system to
fool the "filter_run_excluding choco_installed" config in spec_helper.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Adds a test PowersShell script to habitat/tests/ to run some simple
tests on executable version output and then run the functional specs
suite like the omnibus_test script does.
scripts/ci/verify-plan.ps1 will perform a throwaway build of
the plan under a "ci" origin and then run the test script upon the built
package.
The habitat/verify pipeline was updated to run the verify-plan.ps1 script.
Signed-off-by: Robb Kidd <robb@thekidds.org>
add Windows plan verification to verify-hab pipeline
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
These fail in the Habitat plan verification tests because bundle isn't
on the PATH for Windows builds (bundle.cmd is). Adding a label to the
spec lets testing chose whether to run it or not.
Default is that the specs are included in a test run.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| |
| |
| |
| |
| | |
Tell ffi-yajl to use the C-extensions we know are there because we
depend on MRI. C is fast, y'know, and we don't need the FFI portability
for other Ruby runtimes.
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
| |
| |
| |
| | |
Signed-off-by: Robb Kidd <robb@thekidds.org>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Based on Stuart Preston's work. Currently depends on the very large
ruby-plus-devkit package[1] that is a repackaging of
RubyInstaller+DevKit[2]. The DevKit is essentially MSYS2, which is its
own software distribution. It can get large. It is depended on currently
because it RubyInstaller+DevKit has been the most common Ruby on Windows
solution for build environment and library ecosystem.
Whatever Ruby this plan ultimately depends on is expected to have its
executables on the PATH and any gems it ships with (say, bundler, rake,
etc) added to GEM_PATH which is totally a thing a package can do in
SetupEnvironment and pushing directories onto GEM_HOME.
[1] https://bldr.habitat.sh/#/pkgs/chef/ruby-plus-devkit
https://github.com/chef/chef-plans/tree/master/ruby-plus-devkit
[2] https://rubyinstaller.org/about/comparison/
* bundle install'ing
With core/git not being fully capable of supporting a `bundle install`
because of semi-hardcoded paths to binaries, git is baked into the
"devkit" portion of Chef's chef/ruby-plus-devkit.
That means `bundle install` works, so this build uses a pattern
established in the chef omnibus software definition:
1. bundle install the Ruby dependencies
2. gem install the local gems
3. install the git-ref'd gems
At the end of these steps, all the gems are "installed" in the standard
directories under GEM_HOME/gems and binstubs are in GEM_HOME/bin.
* add the other Ruby binstubs to the PATH
Gems got their bundle/gem installed binstubs placed in GEM_HOME/bin
a.k.a vendor/bin. That path has been added to the package's bin paths
for use in the build and later in testing.
Appbundler is executed in Invoke-Install to create our precisely-pinned
binstubs for only the gems that supply executables we expect users of
chef-client to use. Those appbundled binstubs are placed into the
package's bin directory under $pkg_prefix/bin.
While the binstubs under vendor/bin aren't locked down with appbundler,
they're worth having on the PATH, particularly for testing the build.
* Trimming the Fat
Remove many of the byproducts of gems that appear in $pkg_prefix. Some
C-extension build logs. Other gems' spec directories. We keep the chef
gem's spec directory because we will be testing builds with the
functional portion of the test suite.
* Stripping the FS_ROOT
The studio's FS_ROOT appears in the Gemfiles generated by appbundler.
Added a function to remove the build environment's FS_ROOT from a given
file. Currently only using it on the chef gem's Gemfile so that it
can be used with `bundle install` and `bundle exec` to test the build.
* build in "${HAB_CACHE_SRC_PATH}/${pkg_dirname}"
"${HAB_CACHE_SRC_PATH}/${pkg_dirname}" is $CACHE_PATH, but we can't use
CACHE_PATH directly because it seems the Windows plan build script
doesn't actually set that variable unless pkg_version is computed and
updated; probably a bug, need to investigate.
Mainly opted for this to take advantage of the clean-room features of
builds done in the CACHE directory.
Use git to archive up only the version-controlled files and place that
archive where Hab would normally download a source artifact. Set the
$pkg_filename so the plan build knows what to archive and unpack.
No-Op the Verify function because the archive "downloaded" was just
created.
For Install, set the location of the Gemfile for bundler via an
environment variable instead of a `bundle config --local` command so
that there is no need to clean up the generated `.bundle/config`.
* have the plan check for a minimum hab version
The Windows plan must be built with Hab version 0.85.0 or greater
because of its use of the -IsPath option when setting/pushing paths in
SetupEnvironment. This change adds a version check to the Begin build
callback to bail with an informative error message when the required
minimum version isn't present. Otherwise, the error that appears is
the slightly arcane:
```
An error occured in the build!
You cannot call a method on a null-valued expression.
At C:\hab\pkgs\core\hab-studio\0.83.0\20190712234514\bin\hab-plan-build.ps1:1447 char:5
+ $pathArray = $path.Split($separator)
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : InvokeMethodOnNull
```
Co-authored-by: Stuart Preston <stuart@chef.io>
Co-authored-by: John Snow <thelunaticscripter@outlook.com>
Signed-off-by: Robb Kidd <robb@thekidds.org>
|