Skip to content

Commit

Permalink
Convert to tailoredautomation/pdk-templates
Browse files Browse the repository at this point in the history
  • Loading branch information
ghoneycutt committed Aug 12, 2023
1 parent 97d8ebf commit 09dce4c
Show file tree
Hide file tree
Showing 21 changed files with 1,922 additions and 133 deletions.
2 changes: 1 addition & 1 deletion .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash"
"path": "bash",
}
}
},
Expand Down
96 changes: 96 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: CI

on:
push:
branches:
- main
- master
pull_request:

jobs:
unit:
runs-on: ubuntu-latest
continue-on-error: ${{ matrix.allow_failure }}
strategy:
fail-fast: false
matrix:
include:
- ruby: 2.7.8
puppet: 7
fixtures: .fixtures.yml
allow_failure: false
- ruby: 2.7.8
puppet: 7
fixtures: .fixtures-latest.yml
allow_failure: true
- ruby: 3.2.2
puppet: 8
fixtures: .fixtures.yml
allow_failure: false
- ruby: 3.2.2
puppet: 8
fixtures: .fixtures-latest.yml
allow_failure: true
env:
BUNDLE_WITHOUT: system_tests:release
PUPPET_GEM_VERSION: "~> ${{ matrix.puppet }}.0"
FIXTURES_YML: ${{ matrix.fixtures }}
name: Puppet ${{ matrix.puppet }} (Ruby ${{ matrix.ruby }} fixtures=${{ matrix.fixtures }})
steps:
- uses: actions/checkout@v3
- name: Setup ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby }}
bundler-cache: true
cache-version: 2
bundler: '2.1.0'
- name: Validate
run: bundle exec rake check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop syntax lint metadata_lint
- name: Run tests
run: bundle exec rake parallel_spec
# Disabled as there are no acceptance tests
# acceptance:
# runs-on: ubuntu-latest
# strategy:
# fail-fast: false
# matrix:
# set:
# - "el8"
# - "el9"
# - "debian-10"
# - "debian-11"
# - "ubuntu-2004"
# - "ubuntu-2204"
# puppet:
# - "puppet7"
# - "puppet8"
# env:
# BUNDLE_WITHOUT: development:release
# BEAKER_debug: true
# name:
# steps:
# - name: Enable IPv6 on docker
# run: |
# echo '{"ipv6":true,"fixed-cidr-v6":"2001:db8:1::/64"}' | sudo tee /etc/docker/daemon.json
# sudo service docker restart
# # https://github.com/actions/virtual-environments/issues/181#issuecomment-610874237
# - name: apparmor
# run: |
# set -x
# sudo apt-get remove mysql-server --purge
# sudo apt-get install apparmor-profiles
# sudo apparmor_parser -R /etc/apparmor.d/usr.sbin.mysqld
# - uses: actions/checkout@v3
# - name: Setup ruby
# uses: ruby/setup-ruby@v1
# with:
# ruby-version: '2.7'
# bundler-cache: true
# cache-version: 2
# bundler: '2.1.0'
# - name: Run tests
# run: bundle exec rake beaker
# env:
# BEAKER_PUPPET_COLLECTION: ${{ matrix.puppet }}
# BEAKER_set: ${{ matrix.set }}
92 changes: 0 additions & 92 deletions .github/workflows/ci.yml

This file was deleted.

31 changes: 31 additions & 0 deletions .github/workflows/release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Release

on:
push:
tags:
- '*'

env:
BUNDLE_WITHOUT: system_tests

jobs:
deploy:
name: 'deploy to forge'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@v1
with:
ruby-version: '2.7'
bundler-cache: true
cache-version: 2
bundler: '2.1.0'
- name: Build and Deploy
env:
# Configure secrets here:
# https://docs.github.com/en/free-pro-team@latest/actions/reference/encrypted-secrets
BLACKSMITH_FORGE_USERNAME: 'ghoneycutt'
BLACKSMITH_FORGE_API_KEY: '${{ secrets.PUPPET_FORGE_API_KEY }}'
run: bundle exec rake module:push
3 changes: 1 addition & 2 deletions .pdkignore
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,17 @@
/inventory.yaml
/spec/fixtures/litmus_inventory.yaml
/appveyor.yml
/.editorconfig
/.fixtures.yml
/Gemfile
/.gitattributes
/.gitignore
/.gitlab-ci.yml
/.pdkignore
/.puppet-lint.rc
/Rakefile
/rakelib/
/.rspec
/.rubocop.yml
/.travis.yml
/.yardopts
/spec/
/.vscode/
Expand Down
4 changes: 3 additions & 1 deletion .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
--relative
--no-80chars-check
--no-140chars-check
--no-manifest_whitespace_opening_brace_after-check
--relative
--fail_on_warnings
8 changes: 8 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,12 +71,20 @@ Style/TrailingCommaInArrayLiteral:
Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents.
EnforcedStyle: brackets
Layout/FirstHashElementIndentation:
Enabled: false
Performance/RegexpMatch:
Enabled: false
RSpec/MessageSpies:
EnforcedStyle: receive
RSpec/NamedSubject:
Enabled: false
Style/Documentation:
Exclude:
- lib/puppet/parser/functions/**/*
- spec/**/*
Style/HashEachMethods:
Enabled: false
Style/WordArray:
EnforcedStyle: brackets
Performance/AncestorsInclude:
Expand Down
7 changes: 3 additions & 4 deletions .sync.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,6 @@ appveyor.yml:
Gemfile:
unmanaged: false
optional:
':development':
- gem: 'github_changelog_generator'
version: '~> 1.15'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')"
':test':
# provides metadata2gha, needed for unit tests
- gem: 'puppet_metadata'
Expand All @@ -39,6 +35,9 @@ Rakefile:
- '80chars'
- '140chars'

.github/workflows/release.yaml:
username: ghoneycutt

# Disabled as the associate Ruby Gem has unmet dependency issues (2021-07-26)
#Rakefile:
# extras:
Expand Down
6 changes: 6 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# Release Process

1. Update metadata.json version, eg: `pdk bundle exec rake module:bump:{major,minor,patch}`
1. Run release task, eg: `pdk bundle exec rake release`
1. Update GitHub pages, eg: `pdk bundle exec rake strings:gh_pages:update`
1. Push to GitHub: `git push --tags origin main`
43 changes: 20 additions & 23 deletions Gemfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,32 +13,27 @@ def location_for(place_or_version, fake_version = nil)
end
end

ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = ruby_version_segments[0..1].join('.')

group :development do
gem "json", '= 2.1.0', require: false if Gem::Requirement.create(['>= 2.5.0', '< 2.7.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.3.0', require: false if Gem::Requirement.create(['>= 2.7.0', '< 3.0.0']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
gem "json", '= 2.5.1', require: false if Gem::Requirement.create(['>= 3.0.0', '< 3.0.5']).satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
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))
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))
gem "voxpupuli-puppet-lint-plugins", '~> 4.0', require: false
gem "facterdb", '~> 1.18', require: false
gem "metadata-json-lint", '>= 2.0.2', '< 4.0.0', require: false
gem "puppetlabs_spec_helper", '~> 5.0', require: false
gem "rspec-puppet-facts", '~> 2.0', require: false
gem "codecov", '~> 0.2', require: false
gem "dependency_checker", '~> 0.2', require: false
gem "parallel_tests", '= 3.12.1', require: false
gem "pry", '~> 0.10', require: false
gem "simplecov-console", '~> 0.5', require: false
gem "puppet-debugger", '~> 1.0', require: false
gem "rubocop", '= 1.6.1', require: false
gem "rubocop-performance", '= 1.9.1', require: false
gem "rubocop-rspec", '= 2.0.1', require: false
gem "rb-readline", '= 0.5.5', require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "github_changelog_generator", '~> 1.15', require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.3.0')
gem "voxpupuli-test", '6.0.0', require: false
gem "rubocop-performance", '~> 1.18', require: false
gem "faraday", '~> 1.0', require: false
gem "github_changelog_generator", require: false
gem "puppet-blacksmith", require: false
gem "puppet-strings", require: false
end
group :system_tests do
gem "puppet_litmus", '< 1.0.0', require: false, platforms: [:ruby, :x64_mingw]
gem "serverspec", '~> 2.41', require: false
gem "beaker", *location_for(ENV['BEAKER_VERSION'] || '~> 4.29')
gem "beaker-abs", *location_for(ENV['BEAKER_ABS_VERSION'] || '~> 0.1')
gem "beaker-pe", require: false
gem "beaker-hostgenerator"
gem "beaker-rspec"
gem "beaker-docker"
gem "beaker-puppet"
gem "beaker-puppet_install_helper", require: false
gem "beaker-module_install_helper", require: false
end
group :test do
gem "puppet_metadata", '~> 1.9.0', require: false
Expand All @@ -50,6 +45,8 @@ hiera_version = ENV['HIERA_GEM_VERSION']

gems = {}

gems['rake'] = [require: false]
gems['puppetlabs_spec_helper'] = [require: false]
gems['puppet'] = location_for(puppet_version)

# If facter or hiera versions have been specified via the environment
Expand Down
Loading

0 comments on commit 09dce4c

Please sign in to comment.