diff --git a/.github/workflows/component_diff_check.yaml b/.github/workflows/component_diff_check.yaml index 8c4a2d70d..32169893a 100644 --- a/.github/workflows/component_diff_check.yaml +++ b/.github/workflows/component_diff_check.yaml @@ -35,7 +35,7 @@ jobs: cat ./output/text - name: Upload artifacts - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: artifacts path: output/ diff --git a/configs/projects/client-tools-runtime-2023.8.x.rb b/configs/projects/client-tools-runtime-2023.8.x.rb new file mode 100644 index 000000000..84b31517f --- /dev/null +++ b/configs/projects/client-tools-runtime-2023.8.x.rb @@ -0,0 +1,6 @@ +project 'client-tools-runtime-2023.8.x' do |proj| + proj.setting(:openssl_version, '3.0') + + # Common settings + instance_eval File.read(File.join(File.dirname(__FILE__), '_shared-client-tools-runtime.rb')) +end \ No newline at end of file diff --git a/configs/projects/pe-bolt-server-runtime-2023.8.x.rb b/configs/projects/pe-bolt-server-runtime-2023.8.x.rb new file mode 100644 index 000000000..df183dcdf --- /dev/null +++ b/configs/projects/pe-bolt-server-runtime-2023.8.x.rb @@ -0,0 +1,28 @@ +project 'pe-bolt-server-runtime-2023.8.x' do |proj| + proj.setting(:pe_version, '2023.8') + proj.setting(:rubygem_puppet_version, '8.8.1') + # We build bolt server with the ruby installed in the puppet-agent dep. For ruby 2.7 we need to use a --no-document flag + # for gem installs instead of --no-ri --no-rdoc. This setting allows us to use this while we support both ruby 2.5 and 2.7 + # Once we are no longer using ruby 2.5 we can update. + proj.setting(:no_doc, true) + + proj.setting(:ruby_version, '3.2.5') + proj.setting(:openssl_version, '3.0') + + # We enable legacy algorithms for winrm transport. Currently the winrm transport + # does not work on FIPS, so in order to stay compliant we do not enable legacy algorithms + # on fips builds. + if proj.get_platform.name =~ /^redhatfips/ + proj.setting(:use_legacy_openssl_algos, false) + else + proj.setting(:use_legacy_openssl_algos, true) + end + + instance_eval File.read(File.join(File.dirname(__FILE__), '_shared-pe-bolt-server_with_ruby.rb')) + # These are ruby 3/puppet 8 specific gems. Some of them are "default/standard" gems. There + # is a very annoying issue where default gems can be loaded by MRI but not jruby. + # We explicitly pacakge up some default gems where we have explicit dependencies for jruby + proj.component 'rubygem-prime' + proj.component 'rubygem-rexml' + proj.component 'rubygem-getoptlong' +end \ No newline at end of file diff --git a/configs/projects/pe-installer-runtime-2023.8.x.rb b/configs/projects/pe-installer-runtime-2023.8.x.rb new file mode 100644 index 000000000..f0d8930a2 --- /dev/null +++ b/configs/projects/pe-installer-runtime-2023.8.x.rb @@ -0,0 +1,13 @@ +project 'pe-installer-runtime-2023.8.x' do |proj| + proj.setting(:ruby_version, '3.2.5') + proj.setting(:openssl_version, '3.0') + # NLTM uses MD4 unconditionally in its protocol, so legacy algos must be + # enabled in OpenSSL >= 3.0 for Bolt's WinRM transport to work. + # We DO NOT WANT legacy algos enabled for the Puppet Agent runtime. + proj.setting(:use_legacy_openssl_algos, true) + + # rubygem-net-ssh included in shared-agent-components + proj.setting(:rubygem_net_ssh_version, '7.2.3') + proj.setting(:rubygem_puppet_version, '8.8.1') + instance_eval File.read(File.join(File.dirname(__FILE__), '_shared-pe-installer-runtime.rb')) +end \ No newline at end of file