Skip to content

Commit 0948226

Browse files
authored
Merge pull request #643 from puppetlabs/cat-2665-fork-ci-haproxy
(CAT-2665) Roll out safe fork CI integration
2 parents e2b6ff8 + bf693b0 commit 0948226

7 files changed

Lines changed: 84 additions & 48 deletions

File tree

.github/workflows/ci.yml

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,32 @@ on:
44
pull_request:
55
branches:
66
- "main"
7+
pull_request_target:
8+
types: [labeled, reopened]
9+
branches:
10+
- "main"
711
workflow_dispatch:
8-
12+
13+
permissions:
14+
contents: read
15+
16+
concurrency:
17+
group: ${{ github.workflow }}-${{ github.ref }}
18+
cancel-in-progress: true
19+
920
jobs:
1021
Spec:
22+
if: github.event_name != 'pull_request_target'
1123
uses: "puppetlabs/cat-github-actions/.github/workflows/module_ci.yml@main"
12-
secrets: "inherit"
1324

1425
Acceptance:
15-
needs: Spec
26+
if: >-
27+
github.event_name == 'workflow_dispatch' ||
28+
(github.event_name == 'pull_request' &&
29+
github.event.pull_request.head.repo.full_name == github.repository) ||
30+
(github.event_name == 'pull_request_target' &&
31+
github.event.pull_request.head.repo.full_name != github.repository &&
32+
contains(github.event.pull_request.labels.*.name, 'allowed-for-ci'))
1633
uses: "puppetlabs/cat-github-actions/.github/workflows/module_acceptance.yml@main"
1734
with:
1835
flags: '--nightly --platform-exclude centos-7 --platform-exclude scientific-7 --platform-exclude oraclelinux-7'
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: "Fork CI Label Guard"
2+
3+
on:
4+
pull_request_target:
5+
types: [synchronize, closed]
6+
7+
permissions:
8+
pull-requests: write
9+
10+
jobs:
11+
strip:
12+
uses: "puppetlabs/cat-github-actions/.github/workflows/fork_ci_label_guard.yml@main"

.rubocop.yml

Lines changed: 30 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
---
2-
require:
2+
plugins:
33
- rubocop-performance
44
- rubocop-rspec
5+
- rubocop-rspec_rails
6+
- rubocop-factory_bot
7+
- rubocop-capybara
58
AllCops:
69
NewCops: enable
710
DisplayCopNames: true
@@ -107,6 +110,8 @@ Performance/StringInclude:
107110
Enabled: true
108111
Performance/Sum:
109112
Enabled: true
113+
Security/IoMethods:
114+
Enabled: true
110115
Style/CollectionMethods:
111116
Enabled: true
112117
Style/MethodCalledOnDoEndBlock:
@@ -121,6 +126,12 @@ Capybara/CurrentPathExpectation:
121126
Enabled: false
122127
Capybara/VisibilityMatcher:
123128
Enabled: false
129+
FactoryBot/AttributeDefinedStatically:
130+
Enabled: false
131+
FactoryBot/CreateList:
132+
Enabled: false
133+
FactoryBot/FactoryClassName:
134+
Enabled: false
124135
Gemspec/DuplicatedAssignment:
125136
Enabled: false
126137
Gemspec/OrderedDependencies:
@@ -295,8 +306,6 @@ Performance/UriDefaultParser:
295306
Enabled: false
296307
RSpec/Be:
297308
Enabled: false
298-
RSpec/Capybara/FeatureMethods:
299-
Enabled: false
300309
RSpec/ContainExactly:
301310
Enabled: false
302311
RSpec/ContextMethod:
@@ -305,6 +314,8 @@ RSpec/ContextWording:
305314
Enabled: false
306315
RSpec/DescribeClass:
307316
Enabled: false
317+
RSpec/Dialect:
318+
Enabled: false
308319
RSpec/EmptyHook:
309320
Enabled: false
310321
RSpec/EmptyLineAfterExample:
@@ -321,12 +332,6 @@ RSpec/ExpectChange:
321332
Enabled: false
322333
RSpec/ExpectInHook:
323334
Enabled: false
324-
RSpec/FactoryBot/AttributeDefinedStatically:
325-
Enabled: false
326-
RSpec/FactoryBot/CreateList:
327-
Enabled: false
328-
RSpec/FactoryBot/FactoryClassName:
329-
Enabled: false
330335
RSpec/HooksBeforeExamples:
331336
Enabled: false
332337
RSpec/ImplicitBlockExpectation:
@@ -375,8 +380,6 @@ RSpec/VoidExpect:
375380
Enabled: false
376381
RSpec/Yield:
377382
Enabled: false
378-
Security/Open:
379-
Enabled: false
380383
Style/AccessModifierDeclarations:
381384
Enabled: false
382385
Style/AccessorGrouping:
@@ -501,6 +504,12 @@ Capybara/SpecificFinders:
501504
Enabled: false
502505
Capybara/SpecificMatcher:
503506
Enabled: false
507+
FactoryBot/ConsistentParenthesesStyle:
508+
Enabled: false
509+
FactoryBot/FactoryNameStyle:
510+
Enabled: false
511+
FactoryBot/SyntaxMethods:
512+
Enabled: false
504513
Gemspec/DeprecatedAttributeAssignment:
505514
Enabled: false
506515
Gemspec/DevelopmentDependencies:
@@ -601,28 +610,12 @@ RSpec/DuplicatedMetadata:
601610
Enabled: false
602611
RSpec/ExcessiveDocstringSpacing:
603612
Enabled: false
604-
RSpec/FactoryBot/ConsistentParenthesesStyle:
605-
Enabled: false
606-
RSpec/FactoryBot/FactoryNameStyle:
607-
Enabled: false
608-
RSpec/FactoryBot/SyntaxMethods:
609-
Enabled: false
610613
RSpec/IdenticalEqualityAssertion:
611614
Enabled: false
612615
RSpec/NoExpectationExample:
613616
Enabled: false
614617
RSpec/PendingWithoutReason:
615618
Enabled: false
616-
RSpec/Rails/AvoidSetupHook:
617-
Enabled: false
618-
RSpec/Rails/HaveHttpStatus:
619-
Enabled: false
620-
RSpec/Rails/InferredSpecType:
621-
Enabled: false
622-
RSpec/Rails/MinitestAssertions:
623-
Enabled: false
624-
RSpec/Rails/TravelAround:
625-
Enabled: false
626619
RSpec/RedundantAround:
627620
Enabled: false
628621
RSpec/SkipBlockInsideExample:
@@ -633,9 +626,17 @@ RSpec/SubjectDeclaration:
633626
Enabled: false
634627
RSpec/VerifiedDoubleReference:
635628
Enabled: false
636-
Security/CompoundHash:
629+
RSpecRails/AvoidSetupHook:
637630
Enabled: false
638-
Security/IoMethods:
631+
RSpecRails/HaveHttpStatus:
632+
Enabled: false
633+
RSpecRails/InferredSpecType:
634+
Enabled: false
635+
RSpecRails/MinitestAssertions:
636+
Enabled: false
637+
RSpecRails/TravelAround:
638+
Enabled: false
639+
Security/CompoundHash:
639640
Enabled: false
640641
Style/ArgumentsForwarding:
641642
Enabled: false

Gemfile

Lines changed: 17 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ end
3838
group :development do
3939
gem "json", '= 2.6.1', require: false if Gem::Requirement.create(['>= 3.1.0', '< 3.1.3']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
4040
gem "json", '= 2.6.3', require: false if Gem::Requirement.create(['>= 3.2.0', '< 4.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
41+
gem "json", '= 2.18.0', require: false if Gem::Requirement.create(['>= 4.0.0', '< 5.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
4142
gem "racc", '~> 1.4.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
4243
gem "deep_merge", '~> 1.2.2', require: false
4344
gem "voxpupuli-puppet-lint-plugins", '~> 5.0', require: false
@@ -52,29 +53,34 @@ group :development do
5253
gem "pry", '~> 0.10', require: false
5354
gem "simplecov-console", '~> 0.9', require: false
5455
gem "puppet-debugger", '~> 1.6', require: false
55-
gem "rubocop", '~> 1.50.0', require: false
56-
gem "rubocop-performance", '= 1.16.0', require: false
57-
gem "rubocop-rspec", '= 2.19.0', require: false
58-
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
59-
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:mswin, :mingw, :x64_mingw]
56+
gem "rubocop", '~> 1.73.0', require: false
57+
gem "rubocop-performance", '~> 1.24.0', require: false
58+
gem "rubocop-rspec", '~> 3.5.0', require: false
59+
gem "rubocop-rspec_rails", '~> 2.31.0', require: false
60+
gem "rubocop-factory_bot", '~> 2.27.0', require: false
61+
gem "rubocop-capybara", '~> 2.22.0', require: false
62+
gem "rb-readline", '= 0.5.5', require: false, platforms: [:windows]
63+
gem "bigdecimal", '< 3.2.2', require: false, platforms: [:windows]
6064
end
6165
group :development, :release_prep do
62-
gem "puppet-strings", '~> 4.0', require: false
63-
gem "puppetlabs_spec_helper", '~> 8.0', require: false
64-
gem "puppet-blacksmith", '~> 7.0', require: false
66+
gem "puppet-strings", '~> 4.0', require: false
67+
gem "puppetlabs_spec_helper", '~> 8.0', require: false
68+
gem "puppet-blacksmith", '>= 7.0', '< 10.0', require: false
6569
end
6670
group :system_tests do
67-
gem "puppet_litmus", '~> 2.0', require: false, platforms: [:ruby, :x64_mingw] if !ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
68-
gem "puppet_litmus", '~> 1.0', require: false, platforms: [:ruby, :x64_mingw] if ENV['PUPPET_FORGE_TOKEN'].to_s.empty?
69-
gem "CFPropertyList", '< 3.0.7', require: false, platforms: [:mswin, :mingw, :x64_mingw]
71+
gem "puppet_litmus", '~> 2.5', require: false
72+
gem "faraday", '~> 2.5', require: false
73+
gem "CFPropertyList", '< 3.0.7', require: false if RUBY_PLATFORM.include?('darwin')
7074
gem "serverspec", '~> 2.41', require: false
7175
end
7276

7377
gems = {}
78+
bolt_version = ENV.fetch('BOLT_GEM_VERSION', nil)
7479
puppet_version = ENV.fetch('PUPPET_GEM_VERSION', nil)
7580
facter_version = ENV.fetch('FACTER_GEM_VERSION', nil)
7681
hiera_version = ENV.fetch('HIERA_GEM_VERSION', nil)
7782

83+
gems['bolt'] = location_for(bolt_version, nil, { source: gemsource_puppetcore })
7884
gems['puppet'] = location_for(puppet_version, nil, { source: gemsource_puppetcore })
7985
gems['facter'] = location_for(facter_version, nil, { source: gemsource_puppetcore })
8086
gems['hiera'] = location_for(hiera_version, nil, {}) if hiera_version

metadata.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
},
1515
{
1616
"name": "puppetlabs/concat",
17-
"version_requirement": ">= 1.2.3 < 10.0.0"
17+
"version_requirement": ">= 1.2.3 < 11.0.0"
1818
}
1919
],
2020
"operatingsystem_support": [
@@ -81,6 +81,6 @@
8181
}
8282
],
8383
"template-url": "https://github.com/puppetlabs/pdk-templates.git#main",
84-
"template-ref": "heads/main-0-g19976cd",
85-
"pdk-version": "3.5.1"
84+
"template-ref": "heads/main-0-g6420755",
85+
"pdk-version": "3.7.0"
8686
}

spec/spec_helper.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
begin
2828
require 'deep_merge'
29-
default_facts.deep_merge!(YAML.safe_load(File.read(f), permitted_classes: [], permitted_symbols: [], aliases: true))
29+
default_facts.deep_merge!(YAML.safe_load_file(f, permitted_classes: [], permitted_symbols: [], aliases: true))
3030
rescue StandardError => e
3131
RSpec.configuration.reporter.message "WARNING: Unable to load #{f}: #{e}"
3232
end

spec/unit/facter/haproxy_version_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
require 'spec_helper'
44

5-
describe Facter::Util::Fact do # rubocop:disable RSpec/FilePath
5+
describe Facter::Util::Fact do # rubocop:disable RSpec/SpecFilePathFormat
66
before(:each) do
77
Facter.clear
88
end

0 commit comments

Comments
 (0)