Skip to content

Commit

Permalink
(SIMP-4009) Added OEL and Puppet 5 support (#9)
Browse files Browse the repository at this point in the history
SIMP-4009 #comment updated chkrootkit
  • Loading branch information
trevor-vaughan authored and Nick Miller committed Jul 13, 2018
1 parent 69f14e3 commit 921b27b
Show file tree
Hide file tree
Showing 8 changed files with 252 additions and 153 deletions.
243 changes: 164 additions & 79 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,182 @@
# The testing matrix considers ruby/puppet versions supported by SIMP and PE:
#
# https://puppet.com/docs/pe/2017.3/overview/component_versions_in_recent_pe_releases.html
# https://puppet.com/misc/puppet-enterprise-lifecycle
# https://puppet.com/docs/pe/2017.3/overview/getting_support_for_pe.html#standard-releases-and-long-term-support-releases
# ------------------------------------------------------------------------------
# release pup ruby eol
# PE 2016.4 4.7 2.1.9 2018-10 (LTS)
# SIMP6.0.0 4.8 2.1.9 TBD
# PE 2017.2 4.10 2.1.9 2018-02-21
# PE 2017.3 5.3 2.4.1 2018-07
# PE 2018.1 ??? ????? ????-?? (LTS)
---
puppet-syntax:
stage: test
tags:
- docker
image: ruby:2.1
script:
- bundle install
.cache_bundler: &cache_bundler
cache:
untracked: true
# A broad attempt at caching between runs (ala Travis CI)
key: "${CI_PROJECT_NAMESPACE}__bundler"
paths:
- '.vendor'
- 'vendor'

.setup_bundler_env: &setup_bundler_env
before_script:
- 'echo Files in cache: $(find .vendor | wc -l) || :'
- 'export GEM_HOME=.vendor/gem_install'
- 'export BUNDLE_CACHE_PATH=.vendor/bundler'
- 'declare GEM_BUNDLER_VER=(-v ''~> ${BUNDLER_VERSION:-1.16.0}'')'
- declare GEM_INSTALL=(gem install --no-document)
- declare BUNDLER_INSTALL=(bundle install --no-binstubs --jobs $(nproc) --path=.vendor "${FLAGS[@]}")
- gem list -ie "${GEM_BUNDLE_VER[@]}" --silent bundler || "${GEM_INSTALL[@]}" --local "${GEM_BUNDLE_VER[@]}" bundler || "${GEM_INSTALL[@]}" "${GEM_BUNDLE_VER[@]}" bundler
- 'rm -rf pkg/ || :'
- bundle check || rm -f Gemfile.lock && ("${BUNDLER_INSTALL[@]}" --local || "${BUNDLER_INSTALL[@]}")


.validation_checks: &validation_checks
script:
- bundle exec rake syntax
puppet-lint:
stage: test
tags:
- docker
image: ruby:2.1
script:
- bundle install
- bundle exec rake check:dot_underscore
- bundle exec rake check:test_file
- bundle exec rake pkg:check_version
- bundle exec rake pkg:compare_latest_tag
- bundle exec rake lint
puppet-metadata:
stage: test
tags:
- bundle exec rake clean
- bundle exec puppet module build

.spec_tests: &spec_tests
script:
- bundle exec rake spec

stages:
- validation
- unit
- acceptance
- deploy

# Puppet 4.7 for PE 2016.4 LTS Support (EOL: 2018-10-21)
# See: https://puppet.com/misc/puppet-enterprise-lifecycle
# --------------------------------------
pup4_7-validation:
stage: validation
tags:
- docker
image: ruby:2.1
script:
- bundle install
- bundle exec rake metadata
unit-test-ruby-2.1:
stage: test
tags:
variables:
PUPPET_VERSION: '~> 4.7.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *validation_checks

pup4_7-unit:
stage: unit
tags:
- docker
image: ruby:2.1
script:
- bundle install
- bundle exec rake spec
unit-test-ruby-2.2:
stage: test
tags:
variables:
PUPPET_VERSION: '~> 4.7.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests


# Puppet 4.8 for SIMP 6.0 + 6.1 support
# --------------------------------------
pup4_8-validation:
stage: validation
tags:
- docker
image: ruby:2.2
allow_failure: true
script:
- bundle install
- bundle exec rake spec
unit-test-ruby-2.3:
stage: test
tags:
image: ruby:2.1
variables:
PUPPET_VERSION: '~> 4.8.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *validation_checks

pup4_8-unit:
stage: unit
tags:
- docker
image: ruby:2.3
allow_failure: true
script:
- bundle install
- bundle exec rake spec
image: ruby:2.1
variables:
PUPPET_VERSION: '~> 4.8.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests


# For PE LTS Support
# Puppet 4.10 for PE 2017.2 support (EOL:2018-02-21)
# See: https://puppet.com/misc/puppet-enterprise-lifecycle
puppet4.7-syntax:
stage: test
tags:
# --------------------------------------
pup4_10-validation:
stage: validation
tags:
- docker
image: ruby:2.1
script:
- PUPPET_VERSION=4.7 bundle install
- PUPPET_VERSION=4.7 bundle exec rake syntax
unit-test-puppet4.7-ruby-2.1:
stage: test
tags:
variables:
PUPPET_VERSION: '~> 4.10.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *validation_checks

pup4_10-unit:
stage: unit
tags:
- docker
image: ruby:2.1
script:
- PUPPET_VERSION=4.7 bundle install
- PUPPET_VERSION=4.7 bundle exec rake spec
unit-test-puppet4.7-ruby-2.2:
stage: test
tags:
variables:
PUPPET_VERSION: '~> 4.10.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests


# Puppet 5.3 for PE 2017.3 support (EOL: 2018-07)
# See: https://puppet.com/misc/puppet-enterprise-lifecycle
# --------------------------------------
pup5_3-validation:
stage: validation
tags:
- docker
image: ruby:2.4
variables:
PUPPET_VERSION: '~> 5.3.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *validation_checks

pup5_3-unit:
stage: unit
tags:
- docker
image: ruby:2.2
allow_failure: true
script:
- PUPPET_VERSION=4.7 bundle install
- PUPPET_VERSION=4.7 bundle exec rake spec
unit-test-puppet4.7-ruby-2.3:
stage: test
tags:
image: ruby:2.4
variables:
PUPPET_VERSION: '~> 5.3.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests


# Keep an eye on the latest puppet 5
# ----------------------------------
pup5_latest-validation:
stage: validation
tags:
- docker
image: ruby:2.4
variables:
PUPPET_VERSION: '~> 5.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *validation_checks

pup5_latest-unit:
stage: unit
tags:
- docker
image: ruby:2.3
allow_failure: true
script:
- PUPPET_VERSION=4.7 bundle install
- PUPPET_VERSION=4.7 bundle exec rake spec

acceptance-test:
stage: test
tags:
- beaker
script:
- bundle install --no-binstubs --path=vendor
- bundle exec rake acceptance
image: ruby:2.4
variables:
PUPPET_VERSION: '~> 5.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests
5 changes: 0 additions & 5 deletions .puppet-lint.rc
Original file line number Diff line number Diff line change
@@ -1,9 +1,4 @@
--log-format="%{path}:%{line}:%{check}:%{KIND}:%{message}"
--relative
--no-class_inherits_from_params_class-check
--no-140chars-check
--no-empty_string-check
--no-trailing_comma-check
# This is here because the code can't handle lookups in parameters and we have
# a LOT of those
--no-parameter_order-check
113 changes: 73 additions & 40 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,48 +8,81 @@
# PE 2017.2 4.10 2.1.9 TBD
---
language: ruby
sudo: false
cache: bundler
before_script:
- bundle update
sudo: false

bundler_args: --without development system_tests --path .vendor
before_install: rm Gemfile.lock || true
script:
- bundle exec rake test

notifications:
email: false
rvm:
- 2.1.9
env:
global:
- STRICT_VARIABLES=yes
matrix:
- PUPPET_VERSION="~> 4.8.2" FORGE_PUBLISH=true
- PUPPET_VERSION="~> 4.10.0"
- PUPPET_VERSION="~> 4.9.2"
- PUPPET_VERSION="~> 4.7.0"
matrix:
fast_finish: true

before_deploy:
- 'bundle exec rake metadata_lint'
- 'bundle exec rake clobber'
- 'bundle exec rake spec_clean'
- "export PUPMOD_METADATA_VERSION=`ruby -r json -e \"puts JSON.parse(File.read('metadata.json')).fetch('version')\"`"
- '[[ $TRAVIS_TAG =~ ^simp-${PUPMOD_METADATA_VERSION}$|^${PUPMOD_METADATA_VERSION}$ ]]'
deploy:
- provider: puppetforge
user: simp
password:
secure: "weHKxY5HKhLO8et3b+wbEEmPbcUj4QLszARsD0f0Dlu9sPOi5/PthYmBpCaK8f8DZgNN7ejtBobAWqI5l+pXpD+PNswf37ZHbNORzp6QDXBOoS7wHg92jgxxY9tygmPbJ3zvWmIMP+iWktFIOwd8JSEDpYhhC0lYdxUbIJ4rb45M7OTc0k4ag/jwp7h1NZN2PCAWFwN4zkNxsEWmJVtmCKaMQMcT4V4frRnyPG97XJOiim9Wt6uKQiLAh4QCOwp/CcFvNRFR8N7flliurCrT6OwCmol4G9KTO4wmc1HNy7mIMZRDwqfEpHFN8w+2TTF4lVQ6jpjtq/RpgssR8TM+4K7e0nrfxpJF8CLVeUPzpYz6F9zCG8AHc2ix/z4Myj6KAG8ZNsNx9wmpaP29AmIULVbS6WcLNkXXux0+6ky2DXzQ+t1bSQVVwz6wnEa2+1k7QON5/b8PN1m8AmSP6ViEeAwHRCEJw7/Z/i/7YOtC4yEPfT+Q4fap2zRGH1ABkes3u3Od4BZEOGN1jeGVDBTji+cNanRgCFQCPWXzB9mb8RGT7ReXDRMs/kD5mkOxWErss//H7zZ6yRKD4PyYq5kjoDxBR+qYJn8ZGZYZSEgsTdSuXK6aO7/mxZGfduacvjkrBSNYlzRwaY6e2FnmeyenaPVTR60z3YEG2ce4UiTegTA="
on:
tags: true

addons:
apt:
packages:
- rpm

before_install:
- rm -f Gemfile.lock

jobs:
include:
- stage: check
rvm: 2.4.1
env: STRICT_VARIABLES=yes TRUSTED_NODE_DATA=yes PUPPET_VERSION="~> 5"
script:
- bundle exec rake check:dot_underscore
- bundle exec rake check:test_file
- bundle exec rake pkg:check_version
- bundle exec rake metadata_lint
- bundle exec rake pkg:compare_latest_tag
- bundle exec rake pkg:create_tag_changelog
- bundle exec rake lint
- bundle exec puppet module build

- stage: spec
rvm: 2.4.1
env: STRICT_VARIABLES=yes TRUSTED_NODE_DATA=yes PUPPET_VERSION="~> 5.0"
script:
- bundle exec rake spec

- stage: spec
rvm: 2.1.9
env: STRICT_VARIABLES=yes TRUSTED_NODE_DATA=yes PUPPET_VERSION="~> 4.10.0"
script:
- bundle exec rake spec

- stage: spec
rvm: 2.1.9
condition: '($SKIP_FORGE_PUBLISH != true) && ($FORGE_PUBLISH = true)'
- provider: releases
api_key:
secure: "eyFFavsdZL3jceonFxIIQePil1JcYlUNVk5IyNEyq+CHjwf/TbijS9bk7t4OgDJTpuAvzZ1w3Nrotd0IN5dynpHfJlEpZdP37OjE0zmVULOWqMUTVsSpSW3B/R2VOMwQQHvsehpKZPL3Uhd5sTV5Ci7TfBAOZN0l6y5siF63w8jIIglBaqmlWCHoHZOmMpbm8g3QSYV1b6hPmSftKxOY03B8UVsl7ovfC7Of6HCt7cPr2hohK9v4ceuVL37ij1ajMj257+YCqss5gU5kn8K8F3L3dLHMG4RW/1OHaagYrdDz/U4yDjNGK742PHZiSg3Vp4y2eHdg1gAlHke/Tq2z8O5Ape1tC1coI+dOfuKFPdpqqQQ6WLb3COyEzE971gvyCi7lUL5xsoX94enmJ/mTBV5hjXFKSCBGfny90gNZ6DGMD7/dDGRHjT6q+f8bdaTBjfXkgoB/h/YdKcFJvvS2i/7I5wI5Z1hsk59h8sa7RbT/A2cUd+7uxVv9ATL0AIFk3gq0yFLdGQNfm6zjbmR+Kj9pVq4a/Fu2H1Fexoe58CAVIBgMi+I2SiFS9xDYBSRnH+H2XcU1n99aWKWi48MxvgUBLZMNtuBh1rkeDAn1OntmiObIKTfDM8QsxF0IztDYq8GWGulsrip2p3jGQZ1IlFNYLkfgt0WmS16Kf20079Q="
skip_cleanup: true
on:
tags: true
condition: '($SKIP_FORGE_PUBLISH != true) && ($FORGE_PUBLISH = true)'
env: STRICT_VARIABLES=yes TRUSTED_NODE_DATA=yes PUPPET_VERSION="~> 4.9.2"
script:
- bundle exec rake spec

- stage: spec
rvm: 2.1.9
env: STRICT_VARIABLES=yes TRUSTED_NODE_DATA=yes PUPPET_VERSION="~> 4.7.0"
script:
- bundle exec rake spec

- stage: deploy
rvm: 2.4.1
script:
- true
before_deploy:
- "export PUPMOD_METADATA_VERSION=`ruby -r json -e \"puts JSON.parse(File.read('metadata.json')).fetch('version')\"`"
- '[[ $TRAVIS_TAG =~ ^simp-${PUPMOD_METADATA_VERSION}$|^${PUPMOD_METADATA_VERSION}$ ]]'

deploy:
- provider: releases
api_key:
secure: "eyFFavsdZL3jceonFxIIQePil1JcYlUNVk5IyNEyq+CHjwf/TbijS9bk7t4OgDJTpuAvzZ1w3Nrotd0IN5dynpHfJlEpZdP37OjE0zmVULOWqMUTVsSpSW3B/R2VOMwQQHvsehpKZPL3Uhd5sTV5Ci7TfBAOZN0l6y5siF63w8jIIglBaqmlWCHoHZOmMpbm8g3QSYV1b6hPmSftKxOY03B8UVsl7ovfC7Of6HCt7cPr2hohK9v4ceuVL37ij1ajMj257+YCqss5gU5kn8K8F3L3dLHMG4RW/1OHaagYrdDz/U4yDjNGK742PHZiSg3Vp4y2eHdg1gAlHke/Tq2z8O5Ape1tC1coI+dOfuKFPdpqqQQ6WLb3COyEzE971gvyCi7lUL5xsoX94enmJ/mTBV5hjXFKSCBGfny90gNZ6DGMD7/dDGRHjT6q+f8bdaTBjfXkgoB/h/YdKcFJvvS2i/7I5wI5Z1hsk59h8sa7RbT/A2cUd+7uxVv9ATL0AIFk3gq0yFLdGQNfm6zjbmR+Kj9pVq4a/Fu2H1Fexoe58CAVIBgMi+I2SiFS9xDYBSRnH+H2XcU1n99aWKWi48MxvgUBLZMNtuBh1rkeDAn1OntmiObIKTfDM8QsxF0IztDYq8GWGulsrip2p3jGQZ1IlFNYLkfgt0WmS16Kf20079Q="
skip_cleanup: true
on:
tags: true
condition: '($SKIP_FORGE_PUBLISH != true)'
- provider: puppetforge
user: simp
password:
secure: "weHKxY5HKhLO8et3b+wbEEmPbcUj4QLszARsD0f0Dlu9sPOi5/PthYmBpCaK8f8DZgNN7ejtBobAWqI5l+pXpD+PNswf37ZHbNORzp6QDXBOoS7wHg92jgxxY9tygmPbJ3zvWmIMP+iWktFIOwd8JSEDpYhhC0lYdxUbIJ4rb45M7OTc0k4ag/jwp7h1NZN2PCAWFwN4zkNxsEWmJVtmCKaMQMcT4V4frRnyPG97XJOiim9Wt6uKQiLAh4QCOwp/CcFvNRFR8N7flliurCrT6OwCmol4G9KTO4wmc1HNy7mIMZRDwqfEpHFN8w+2TTF4lVQ6jpjtq/RpgssR8TM+4K7e0nrfxpJF8CLVeUPzpYz6F9zCG8AHc2ix/z4Myj6KAG8ZNsNx9wmpaP29AmIULVbS6WcLNkXXux0+6ky2DXzQ+t1bSQVVwz6wnEa2+1k7QON5/b8PN1m8AmSP6ViEeAwHRCEJw7/Z/i/7YOtC4yEPfT+Q4fap2zRGH1ABkes3u3Od4BZEOGN1jeGVDBTji+cNanRgCFQCPWXzB9mb8RGT7ReXDRMs/kD5mkOxWErss//H7zZ6yRKD4PyYq5kjoDxBR+qYJn8ZGZYZSEgsTdSuXK6aO7/mxZGfduacvjkrBSNYlzRwaY6e2FnmeyenaPVTR60z3YEG2ce4UiTegTA="
on:
tags: true
condition: '($SKIP_FORGE_PUBLISH != true)'
Loading

0 comments on commit 921b27b

Please sign in to comment.