Skip to content

Commit

Permalink
(SIMP-4348) Move failover tests to independent suite (simp#63)
Browse files Browse the repository at this point in the history
SIMP-4348 #close
  • Loading branch information
lnemsick-simp authored and trevor-vaughan committed Feb 2, 2018
1 parent 3cf8173 commit 8cea134
Show file tree
Hide file tree
Showing 7 changed files with 260 additions and 117 deletions.
259 changes: 184 additions & 75 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,97 +1,206 @@
# 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
# An attempt at caching between runs (ala Travis CI)
key: "${CI_PROJECT_NAMESPACE}__bundler"
paths:
- '.vendor'
- 'vendor'

.setup_bundler_env: &setup_bundler_env
before_script:
- '(find .vendor | wc -l) || :'
- gem install bundler --no-rdoc --no-ri
- rm -f Gemfile.lock
- rm -rf pkg/
- bundle install --no-binstubs --jobs $(nproc) --path=.vendor "${FLAGS[@]}"

.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
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
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:

pup5.latest-unit:
stage: unit
tags:
- docker
image: ruby:2.3
image: ruby:2.4
variables:
PUPPET_VERSION: '~> 5.0'
<<: *cache_bundler
<<: *setup_bundler_env
<<: *spec_tests
allow_failure: true
script:
- PUPPET_VERSION=4.7 bundle install
- PUPPET_VERSION=4.7 bundle exec rake spec

acceptance-test:
stage: test
tags:


# Acceptance tests
# ==============================================================================
acceptance-default:
stage: acceptance
tags:
- beaker
<<: *cache_bundler
<<: *setup_bundler_env
variables:
PUPPET_VERSION: '4.10'
script:
- bundle exec rake beaker:suites[default]

acceptance-fips-default:
stage: acceptance
tags:
- beaker
script:
- bundle install --no-binstubs --path=vendor
- bundle exec rake acceptance
<<: *cache_bundler
<<: *setup_bundler_env
variables:
PUPPET_VERSION: '4.10'
BEAKER_fips: 'yes'
script:
- bundle exec rake beaker:suites[default]
1 change: 0 additions & 1 deletion .puppet-lint.rc
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
--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
Expand Down
Loading

0 comments on commit 8cea134

Please sign in to comment.