Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update omnibus-overrides, switch to ruby 2.7 #1123

Merged
merged 21 commits into from
May 6, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
74c2666
Switch to Ruby 2.7.1
clintoncwolfe Apr 23, 2020
83e569b
Update bundler and rubygems to match chef/chef
clintoncwolfe Apr 23, 2020
4c88f82
Adding Ruby 2.7 to testing pipeline
tyler-ball Apr 29, 2020
b176173
Updating rake and minitest to version embedded in Ruby
tyler-ball Apr 29, 2020
652f90f
Updating the bcrypt_pbkdf gem to the latest RC version
tyler-ball Apr 29, 2020
3aa55e8
Updating rb-fsevent gem to remove dependency on bundler
tyler-ball Apr 29, 2020
d05cf47
Updating chef-telemetry, which pulls in http 4.x
tyler-ball Apr 29, 2020
cf45a97
Updating omnibus deps
tyler-ball Apr 30, 2020
9389d45
Uncommenting some tests to see if they pass
tyler-ball Apr 30, 2020
26d0562
Removing unecessary Rubygems and Bundler software deps
tyler-ball Apr 30, 2020
2a86125
Updating nokogiri, chef-apply, chef-workstation-app, and nodejs to la…
tyler-ball Apr 30, 2020
ed94be7
Updating to the latest chef-workstation-app
tyler-ball May 1, 2020
20f8b31
Pinning Nokogiri since 1.11.0.rc2 fails to build
tyler-ball May 1, 2020
a6ac415
Cannot upgrade to NodeJS > 11 until we drop EL 6 support
tyler-ball May 1, 2020
f6566e2
Comment to help my future self out
tyler-ball May 1, 2020
1bd21d8
Force Nokogiri to compile instead of installing pre-built extensions
tyler-ball May 1, 2020
ae506b9
Updating to latest chef-cli release (support for .yml recipes)
tyler-ball May 5, 2020
59fe0a6
Don't delete native extension folders during cleanup
tyler-ball May 5, 2020
e78b07e
Windows Nokogiri requires specifying the lib paths
tyler-ball May 5, 2020
1b4e282
Updating omnibus deps
tyler-ball May 6, 2020
9b27255
Unziping app has started failing, using ditto as recommended
tyler-ball May 6, 2020
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .expeditor/update_dep.sh
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ sleep 120
gem install $EXPEDITOR_GEM_NAME --no-document

pushd components/gems
bundle _1.17.3_ install
bundle _2.1.4_ install
tries=12
for (( i=1; i<=$tries; i+=1 )); do
bundle _1.17.3_ exec rake update
bundle _2.1.4_ exec rake update
new_gem_included && break || sleep 20
if [ $i -eq $tries ]; then
echo "Searching for '${EXPEDITOR_GEM_NAME} (${EXPEDITOR_VERSION})' ${i} times and did not find it"
Expand Down
8 changes: 4 additions & 4 deletions .expeditor/verify.pipeline.yml
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
steps:
- label: chefstyle-tests-ruby-2.6
- label: chefstyle-tests-ruby-2.7
command:
- export USER="root"
- bundle install --jobs=7 --retry=3
- bundle exec rake style
expeditor:
executor:
docker:
image: ruby:2.6-stretch
image: ruby:2.7-buster
# This tests that our verify.rb script (and dependencies) can successfully test components included in CW
- label: component-test-tests-ruby-2.6
- label: component-test-tests-ruby-2.7
command:
- export USER="root"
- bundle install --jobs=7 --retry=3
- bundle exec rspec omnibus/verification
expeditor:
executor:
docker:
image: ruby:2.6-stretch
image: ruby:2.7-buster
- label: ":linux: :darwin: :windows: top-level chef cmd"
command:
- hab studio run "source .studiorc && build_cross_platform"
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ ARG CHANNEL=stable
ARG EXPEDITOR_VERSION
ARG VERSION=20.4.1
ENV DEBIAN_FRONTEND=noninteractive \
PATH=/opt/chef-workstation/bin:/opt/chef-workstation/embedded/bin:/root/.chefdk/gem/ruby/2.6.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
PATH=/opt/chef-workstation/bin:/opt/chef-workstation/embedded/bin:/root/.chefdk/gem/ruby/2.7.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# Allow the build arg below to be controlled by either build arguments
ENV VERSION ${EXPEDITOR_VERSION:-${VERSION}}
Expand Down
16 changes: 8 additions & 8 deletions components/gems/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@
source "https://rubygems.org"

group(:omnibus_package, :development, :test) do
# we pin these gems as they are installed in the ruby source and if we let them
# float we'll end up with 2 copies shipped in Workstation.
# When we bump Ruby we need to look at these pins and adjust them
gem "rake", "<= 12.3.2"
gem "minitest", "<= 5.11.3"
# Require a minimum version that is packaged in the Ruby install, so we do
# not install old unecessary versions. When we bump Ruby we need to look
# at these pins and adjust them.
gem "rake", ">= 13.0.1"
gem "minitest", ">= 5.13.0"

gem "pry"
gem "yard"
Expand Down Expand Up @@ -94,8 +94,8 @@ group(:omnibus_package) do
# ed25519 ssh key support done here as it's a native gem we can't put in train
gem "ed25519"
gem "bcrypt_pbkdf", ">= 1.1.0.rc1"
gem "chef-cli", ">= 1.0.9"
gem "chef-apply", ">= 0.4.13"
gem "chef-cli", ">= 2.0.10"
gem "chef-apply", ">= 0.4.16"

# For Delivery build node
gem "chef-sugar"
Expand All @@ -109,7 +109,7 @@ group(:omnibus_package) do
gem "net-ssh", ">= 4.2.0"
gem "listen"
gem "mixlib-install"
gem "nokogiri"
gem "nokogiri", "= 1.11.0.rc2" # Pinning until 1.11 is released and builds correctly
gem "pry-byebug"
gem "pry-remote"
gem "pry-stack_explorer"
Expand Down
94 changes: 48 additions & 46 deletions components/gems/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,16 @@ GEM
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
appbundler (0.13.2)
mixlib-cli (>= 1.4, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
artifactory (3.0.12)
ast (2.4.0)
aws-eventstream (1.1.0)
aws-partitions (1.305.0)
aws-sdk-apigateway (1.38.0)
aws-partitions (1.309.0)
aws-sdk-apigateway (1.39.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-apigatewayv2 (1.19.0)
Expand Down Expand Up @@ -60,7 +60,7 @@ GEM
aws-sdk-configservice (1.43.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-core (3.94.0)
aws-sdk-core (3.94.1)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
Expand All @@ -71,7 +71,7 @@ GEM
aws-sdk-dynamodb (1.45.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ec2 (1.154.0)
aws-sdk-ec2 (1.156.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ecr (1.27.0)
Expand All @@ -80,7 +80,7 @@ GEM
aws-sdk-ecs (1.60.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-efs (1.26.0)
aws-sdk-efs (1.27.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-eks (1.35.0)
Expand Down Expand Up @@ -116,7 +116,7 @@ GEM
aws-sdk-kms (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-lambda (1.39.0)
aws-sdk-lambda (1.40.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-organizations (1.17.0)
Expand All @@ -137,7 +137,7 @@ GEM
aws-sdk-route53resolver (1.12.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.63.0)
aws-sdk-s3 (1.63.1)
aws-sdk-core (~> 3, >= 3.83.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
Expand All @@ -156,7 +156,7 @@ GEM
aws-sdk-sqs (1.24.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sdk-ssm (1.74.0)
aws-sdk-ssm (1.76.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
aws-sigv4 (1.1.3)
Expand Down Expand Up @@ -279,7 +279,7 @@ GEM
chef-api (0.10.5)
mime-types
mixlib-log (>= 1, < 4)
chef-apply (0.4.15)
chef-apply (0.4.16)
chef (>= 15.0)
chef-cli (>= 1.0.3)
chef-telemetry (>= 1.0.2)
Expand All @@ -296,8 +296,8 @@ GEM
tty-spinner
chef-bin (15.10.12)
chef (= 15.10.12)
chef-cli (2.0.0)
addressable (>= 2.3.5, < 2.6)
chef-cli (2.0.10)
addressable (>= 2.3.5, < 2.8)
chef (>= 14.0)
cookbook-omnifetch (~> 0.5)
diff-lcs (~> 1.0)
Expand All @@ -306,7 +306,7 @@ GEM
minitar (~> 0.6)
mixlib-cli (>= 1.7, < 3.0)
mixlib-shellout (>= 2.0, < 4.0)
paint (~> 1.0)
paint (>= 1, < 3)
solve (> 2.0, < 5.0)
chef-config (15.10.12)
addressable
Expand All @@ -316,11 +316,11 @@ GEM
mixlib-shellout (>= 2.0, < 4.0)
tomlrb (~> 1.2)
chef-sugar (5.1.9)
chef-telemetry (1.0.3)
chef-telemetry (1.0.5)
chef-config
concurrent-ruby (~> 1.0)
ffi-yajl (~> 2.2)
http (~> 2.2)
http (~> 4)
chef-utils (15.10.12)
chef-vault (4.0.1)
chef-zero (15.0.0)
Expand Down Expand Up @@ -389,11 +389,14 @@ GEM
http-cookie (~> 1.0.0)
faraday_middleware (0.12.2)
faraday (>= 0.7.4, < 1.0)
fauxhai-ng (8.0.0)
fauxhai-ng (8.1.0)
net-ssh
ffi (1.12.2)
ffi (1.12.2-x64-mingw32)
ffi (1.12.2-x86-mingw32)
ffi-compiler (1.0.1)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tas50 @lamont-granquist Is this going to bite me in the ass?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🤷

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new library which builds native extensions is https://github.com/cotag/http-parser which pulls in https://github.com/nodejs/http-parser/tree/77310eeb839c4251c07184a5db8885a572a08352 which is a C extension so... hopefully not?

tenor-129399655

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Turns out the answer is YES

ffi (>= 1.0.0)
rake
ffi-libarchive (1.0.0)
ffi (~> 1.0)
ffi-rzmq (2.0.7)
Expand Down Expand Up @@ -458,19 +461,20 @@ GEM
thor (>= 0.18.1)
gyoku (1.3.1)
builder (>= 2.1.2)
hana (1.3.5)
hana (1.3.6)
hashie (3.6.0)
highline (1.7.10)
htmlentities (4.3.4)
http (2.2.2)
http (4.4.1)
addressable (~> 2.3)
http-cookie (~> 1.0)
http-form_data (~> 1.0.1)
http_parser.rb (~> 0.6.0)
http-form_data (~> 2.2)
http-parser (~> 1.2.0)
http-cookie (1.0.3)
domain_name (~> 0.5)
http-form_data (1.0.3)
http_parser.rb (0.6.0)
http-form_data (2.3.0)
http-parser (1.2.1)
ffi-compiler (>= 1.0, < 2.0)
httpclient (2.8.3)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
Expand Down Expand Up @@ -634,9 +638,9 @@ GEM
mime-types-data (~> 3.2015)
mime-types-data (3.2020.0425)
mini_mime (1.0.2)
mini_portile2 (2.4.0)
mini_portile2 (2.5.0)
minitar (0.9)
minitest (5.11.3)
minitest (5.14.0)
mixlib-archive (1.0.5)
mixlib-log
mixlib-archive (1.0.5-universal-mingw32)
Expand Down Expand Up @@ -681,12 +685,10 @@ GEM
net-ssh (>= 2.6.5)
net-ssh-gateway (>= 1.2.0)
netaddr (1.5.1)
nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
nokogiri (1.10.9-x64-mingw32)
mini_portile2 (~> 2.4.0)
nokogiri (1.10.9-x86-mingw32)
mini_portile2 (~> 2.4.0)
nokogiri (1.11.0.rc2)
mini_portile2 (~> 2.5.0)
nokogiri (1.11.0.rc2-x64-mingw32)
nokogiri (1.11.0.rc2-x86-mingw32)
nori (2.6.0)
notiffany (0.1.3)
nenv (~> 0.1)
Expand All @@ -713,9 +715,9 @@ GEM
uuidtools
optimist (3.0.1)
os (1.1.0)
paint (1.0.1)
paint (2.2.0)
parallel (1.19.1)
parser (2.7.1.1)
parser (2.7.1.2)
ast (~> 2.4.0)
parslet (1.8.2)
pastel (0.7.3)
Expand All @@ -736,14 +738,14 @@ GEM
pry-stack_explorer (0.4.9.3)
binding_of_caller (>= 0.7)
pry (>= 0.9.11)
public_suffix (3.1.1)
public_suffix (4.0.4)
r18n-core (4.0.0)
r18n-desktop (4.0.0)
r18n-core (= 4.0.0)
rack (2.2.2)
rainbow (3.0.0)
rake (12.3.2)
rb-fsevent (0.10.3)
rake (13.0.1)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rb-readline (0.5.5)
Expand All @@ -767,8 +769,8 @@ GEM
rspec-core (~> 3.9.0)
rspec-expectations (~> 3.9.0)
rspec-mocks (~> 3.9.0)
rspec-core (3.9.1)
rspec-support (~> 3.9.1)
rspec-core (3.9.2)
rspec-support (~> 3.9.3)
rspec-expectations (3.9.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
Expand All @@ -778,7 +780,7 @@ GEM
rspec-mocks (3.9.1)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.9.0)
rspec-support (3.9.2)
rspec-support (3.9.3)
rubocop (0.82.0)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
Expand Down Expand Up @@ -1028,7 +1030,7 @@ GEM
winrm (~> 2.0)
wisper (2.0.1)
wmi-lite (1.0.5)
yard (0.9.24)
yard (0.9.25)

PLATFORMS
ruby
Expand All @@ -1041,9 +1043,9 @@ DEPENDENCIES
bcrypt_pbkdf (>= 1.1.0.rc1)
berkshelf (>= 7.0.9)
chef (= 15.10.12)
chef-apply (>= 0.4.13)
chef-apply (>= 0.4.16)
chef-bin (= 15.10.12)
chef-cli (>= 1.0.9)
chef-cli (>= 2.0.10)
chef-sugar
chef-vault (>= 4.0)
cheffish (>= 14.0.1)
Expand Down Expand Up @@ -1083,19 +1085,19 @@ DEPENDENCIES
knife-windows (>= 3.0.11)
listen
mdl (>= 0.7.0)
minitest (<= 5.11.3)
minitest (>= 5.13.0)
mixlib-archive (>= 1.0)
mixlib-install
mixlib-versioning
net-ssh (>= 4.2.0)
nokogiri
nokogiri (= 1.11.0.rc2)
ohai (>= 15)
opscode-pushy-client (>= 2.99)
pry
pry-byebug
pry-remote
pry-stack_explorer
rake (<= 12.3.2)
rake (>= 13.0.1)
rb-readline
rdp-ruby-wmi
ruby-prof
Expand All @@ -1114,4 +1116,4 @@ DEPENDENCIES
yard

BUNDLED WITH
1.17.3
2.1.4
4 changes: 2 additions & 2 deletions components/gems/Rakefile
Original file line number Diff line number Diff line change
Expand Up @@ -22,8 +22,8 @@ end
desc "Update the One True Gemfile.lock in this directory with the latest dependencies."
task :update do
require "bundler"
Bundler.with_clean_env do
Bundler.with_unbundled_env do
rm_f "Gemfile.lock"
sh "bundle _1.17.3_ lock --update --add-platform ruby x64-mingw32 x86-mingw32"
sh "bundle _2.1.4_ lock --update --add-platform ruby x64-mingw32 x86-mingw32"
end
end
1 change: 1 addition & 0 deletions omnibus/Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ gem "omnibus-software", git: "https://github.com/chef/omnibus-software.git", bra
gem "artifactory"

gem "pedump"
gem "bcrypt_pbkdf", ">= 1.1.0.rc1"

# This development group is installed by default when you run `bundle install`,
# but if you are using Omnibus in a CI-based infrastructure, you do not need
Expand Down
Loading