This way changes to omnibus-software or omnibus don't change the builds. This is important for us, but also for cinc. It also makes sure that we're tracking bumps to the omnibus-software in the InSpec changelog so we can build release notes that reflect key dep changes like openssl. We recently added the same thing to Infra Server to better track deps there and we've done this in infra client for many years.
Signed-off-by: Tim Smith <tsmith@chef.io>
This logic has been moved into the Omnibus Buildkite Plugin.
These scripts can now be used outside of the Buildkite pipelines.
Signed-off-by: Tom Duffield <github@tomduffield.com>
ffi 1.13.1 reverts the breaking change in 1.13.0
We can now use any version other than specifically 1.13.0.
Signed-off-by: James Stocks <jstocks@chef.io>
Recent versions of Ruby have included Rubygems and Bundler, which they
did not always do. We also recently fixed some issues in Appbundler so
these software dependencies are no longer needed.
Signed-off-by: tyler-ball <tball@chef.io>
This changes makes the neccessary changes to enable the pkg to pass apples notarization requirements.
1. Drop 'Developer ID Installer:' from signing key. This lets sigining pick up the correct key for what is being signed.
2. Update inspec software definition to delete test dir from rubyzip gem because its fixtures contain zip files that the notarization service cannot inspect.
Signed-off-by: Jon Morrow <jmorrow@chef.io>
We thought we were riding the latest, but actually the overrides file wasn't wired up the same way it is in Chef. This properly sources that file and does a few other syncs from the chef config so we can diff things more easily.
Signed-off-by: Tim Smith <tsmith@chef.io>
By not adding inspec's bin path to the PATH env var
we can properly test that inspec's install scripts
created the appropriate symlinks.
Signed-off-by: Jeremiah Snapp <jeremiah@chef.io>
Reloading Env:PATH does a better job of testing if
the installation properly configured the system's
PATH.
Signed-off-by: Jeremiah Snapp <jeremiah@chef.io>
Do not use omnibus-software gem definitions for installing gems,
and use the Gemfile in the inspec project as the source of truth.
Signed-off-by: Lamont Granquist <lamont@scriptkiddie.org>
* Modernize the kitchen config
This is basically the same one we use in chef/chef
* Modernize the omnibus deps
* Remove cookbook constraints
* Avoid security warnings when bundle installing
* Use the ruby-cleanup project to slim the omnibus package
We're using this in chef and DK to greatly reduce our artifact size. It's just a set of cleanup steps that are the same for all ruby omnibus projects.
Signed-off-by: Tim Smith <tsmith@chef.io>
* Enable compression for deb/rpm packages
In Chef we've seen this shrink package sizes by 22%. Should save us some sweet $$$ on the CDN costs.
* Maintain support for RHEL 5
Signed-off-by: Tim Smith <tsmith@chef.io>
* Updated `postinst` script to symlink to appbundle created binstubs
rather than rubygems binstubs in embedded directory.
The rubygems binstubs do not account for GEM_HOME or GEM_PATHS existing
in the invoking shell. This creates problems on systems with multiple
ruby versions. If GEM_HOME or GEM_PATH is set the rubygems embedded
binstubs will attempt to use this external gem source which will
generally result in errors for the user.
Signed-off-by: Miah Johnson <miah@chia-pet.org>
* Bump Rubocop to 0.49.1
This change bumps Rubocop to 0.49.1. There have been a lot of changes
since 0.39.0 and this PR is hopefully a nice compromise of turning off
certain cops and updating our codebase to take advantage of new Ruby
2.3 methods and operators.
Signed-off-by: Adam Leff <adam@leff.co>
* Set end-of-line format to line-feed only, avoid Windows-related CRLF issues
Signed-off-by: Adam Leff <adam@leff.co>
* Pin RubyGems to 2.6.14
2.7.0 seems to have introduced an issue causing bundler to fail to
install in our Jenkins pipeline.
Signed-off-by: Adam Leff <adam@leff.co>
* Added comment explaining the pin
Signed-off-by: Adam Leff <adam@leff.co>
This reverts commit b803194abd.
Reverting this as we are investigating using an EV cert which has
instant reputation with Microsoft Smartscreen filter.
Signed-off-by: Seth Chisamore <schisamo@chef.io>
In #1454, we welcomed a newly-revamped JUnit formatter which has
a dependency on Nokogiri. Unfortunately, this had led us to problems
getting InSpec included in Chef omnibus builds (see chef/chef#5937)
because Chef is using Ruby 2.4.1 and the Nokogiri maintainers have
not yet released a windows binary gem that supports Ruby 2.4.x.
This has led to breaking builds in Chef's CI platform and would
block the acceptance of chef/chef#5937.
This change replaces Nokogiri use with REXML instead. While REXML
can be slower than Nokogiri, it does not require native extensions
and is supported on all Chef platforms.
Signed-off-by: Adam Leff <adam@leff.co>
The simulator gems are not necessary for building InSpec, only the website.
This is currently causing issues in the Jenkins infrastructure due to
a downstream dependency of github-markup.
Signed-off-by: Adam Leff <adam@leff.co>
The latest omnibus master expects certain settings to be enabled for
S3 caching to work, and our omnibus.rb wasn't set up properly. Also
aligning some of our settings to chef/chef's settings which we know
to work properly.
Signed-off-by: Adam Leff <adam@leff.co>
The new JUnit formatter requires nokogiri, so we need
to build nokogiri via omnibus to ensure liblzma, etc.
is built as part of the omnibus package instead of
`gem` picking up a system liblzma, such as on Mac OS X.
Also bumping ruby to 2.3.1 to match ChefDK.
Signed-off-by: Adam Leff <adam@leff.co>
- Removes resource files which matched the default implementations
contained in omnibus.
- Removes software definition for train which will be installed via the
gem dependecies in the inspec defintion.
- Appbundle inspec to match our other ruby-based projects
- Update rubocop style violations
- Update copyright notices
Signed-off-by: Steven Danna <steve@chef.io>