Skip to content

Commit

Permalink
(SIMP-5585) Static Asset Updates (#4)
Browse files Browse the repository at this point in the history
- static asset updates for puppet 5
- added OEL nodeset

SIMP-5585 #comment ima
  • Loading branch information
jeannegreulich authored and lnemsick-simp committed Nov 6, 2018
1 parent 7816a0f commit 548542e
Show file tree
Hide file tree
Showing 10 changed files with 231 additions and 138 deletions.
164 changes: 104 additions & 60 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -1,26 +1,27 @@
# 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/docs/pe/2018.1/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
# https://puppet.com/docs/pe/2018.1/overview/getting_support_for_pe.html
# ------------------------------------------------------------------------------
# release pup ruby eol
# PE 2016.4 4.7 2.1.9 2018-10 (LTS)***
# SIMP 6.0 4.8 2.1.9 TBD***
# SIMP 6.2 4.10 2.1.9 TBD
# PE 2017.2 4.10 2.1.9 2018-02
# PE 2017.3 5.3 2.4.1 2018-08
# PE 2018.1 5.5 2.4.1 2020-05 (LTS)
# Release Puppet Ruby EOL
# SIMP 6.1 4.10.6 2.1.9 TBD
# SIMP 6.2 4.10.12 2.1.9 TBD
# PE 2016.4.15 4.10.12 2.1.9 2018-12 (LTS)
# PE 2017.3.10 5.3.8 2.4.4 2018-12 (STS)
# SIMP 6.3 5.5.7 2.4.4 TBD***
# PE 2018.1 5.5.6 2.4.4 2020-05 (LTS)***
#
# *** = Modules created for SIMP 6.2+ are not required to support Puppet < 4.10
# *** = Modules created for SIMP 6.3+ are not required to support Puppet < 5.5
---
stages:
- 'sanity'
- 'validation'
- 'acceptance'
- 'compliance'
- 'deployment'

image: 'ruby:2.1'
image: 'ruby:2.4'

variables:
PUPPET_VERSION: 'UNDEFINED' # <- Matrixed jobs MUST override this (or fail)
Expand All @@ -47,143 +48,186 @@ variables:
paths:
- '.vendor'
before_script:
- 'ruby -e "puts %(Environment Variables:\n * #{ENV.keys.grep(/PUPPET|SIMP|BEAKER|MATRIX/).map{|v| %(#{v} = #{ENV[v]})}.join(%(\n * ))})"'
- 'declare GEM_BUNDLER_VER=(-v "~> ${BUNDLER_VERSION:-1.16.0}")'
- 'declare GEM_INSTALL_CMD=(gem install --no-document)'
- 'declare BUNDLER_INSTALL_CMD=(bundle install --no-binstubs --jobs $(nproc) "${FLAGS[@]}")'
- 'mkdir -p ${GEM_HOME} ${BUNDLER_BIN}'
- 'gem list -ie "${GEM_BUNDLER_VER[@]}" --silent bundler || "${GEM_INSTALL_CMD[@]}" --local "${GEM_BUNDLER_VER[@]}" bundler || "${GEM_INSTALL_CMD[@]}" "${GEM_BUNDLER_VER[@]}" bundler'
- 'rm -rf pkg/ || :'
- 'bundle check || rm -f Gemfile.lock && ("${BUNDLER_INSTALL_CMD[@]}" --local || "${BUNDLER_INSTALL_CMD[@]}" || bundle pristine || "${BUNDLER_INSTALL_CMD[@]}") || echo "PIPELNE: Bundler could not find everything"'
- 'bundle check || rm -f Gemfile.lock && ("${BUNDLER_INSTALL_CMD[@]}" --local || "${BUNDLER_INSTALL_CMD[@]}" || bundle pristine || "${BUNDLER_INSTALL_CMD[@]}") || echo "PIPELINE: Bundler could not find everything"'

# Puppet + testing environments
# --------------------------------------
.pup_4_10_0: &pup_4_10_0
image: 'ruby:2.1'
# To avoid running a prohibitive number of tests every commit,
# don't set this env var in your gitlab instance
.only_with_SIMP_FULL_MATRIX: &only_with_SIMP_FULL_MATRIX
only:
variables:
- $SIMP_FULL_MATRIX

# Puppet Versions
#-----------------------------------------------------------------------

.pup_4: &pup_4
image: 'ruby:2.4'
variables:
PUPPET_VERSION: '~> 4.10.0'
PUPPET_VERSION: '~> 4.0'
MATRIX_RUBY_VERSION: '2.1'

.pup_4_latest: &pup_4_latest
.pup_4_10: &pup_4_10
image: 'ruby:2.1'
variables:
PUPPET_VERSION: '~> 4.0'
PUPPET_VERSION: '~> 4.10.4'
MATRIX_RUBY_VERSION: '2.1'

.pup_5_3_2: &pup_5_3_2
.pup_5: &pup_5
image: 'ruby:2.4'
variables:
PUPPET_VERSION: '~> 5.3.2'
PUPPET_VERSION: '~> 5.0'
BEAKER_PUPPET_COLLECTION: 'puppet5'
MATRIX_RUBY_VERSION: '2.4'
# These versions are allowed to fail for the purposes of SIMP-5125
# TODO: Fixing these failures will be addressed in a follow-on issue.
allow_failure: true

.pup_5_5_1: &pup_5_5_1
.pup_5_3: &pup_5_3
image: 'ruby:2.4'
variables:
PUPPET_VERSION: '~> 5.5.1'
PUPPET_VERSION: '~> 5.3.0'
BEAKER_PUPPET_COLLECTION: 'puppet5'
MATRIX_RUBY_VERSION: '2.4'
# These versions are allowed to fail for the purposes of SIMP-5125
# TODO: Fixing these failures will be addressed in a follow-on issue.
allow_failure: true


.pup_5_latest: &pup_5_latest
# Puppet for SIMP 6.3, PE is at 5.5.6 but close enough
.pup_5_5_7: &pup_5_5_7
image: 'ruby:2.4'
variables:
PUPPET_VERSION: '~> 5.0'
PUPPET_VERSION: '5.5.7'
BEAKER_PUPPET_COLLECTION: 'puppet5'
MATRIX_RUBY_VERSION: '2.4'
# These versions are allowed to fail for the purposes of SIMP-5125
# TODO: Fixing these failures will be addressed in a follow-on issue.

# Experimental
#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.pup_6: &pup_6
allow_failure: true
image: 'ruby:2.4'
variables:
PUPPET_VERSION: '~> 6.0'
BEAKER_PUPPET_COLLECTION: 'puppet6'
MATRIX_RUBY_VERSION: '2.4'

# Testing Environments
#-----------------------------------------------------------------------

# jobs
# --------------------------------------
.lint_tests: &lint_tests
stage: 'validation'
tags: ['docker']
<<: *setup_bundler_env
script:
- 'bundle exec rake syntax'
- 'bundle exec rake lint'
- 'bundle exec rake metadata_lint'

.unit_tests: &unit_tests
stage: 'validation'
tags: ['docker']
<<: *setup_bundler_env
script:
- 'STRICT_VARIABLES=${STRICT_VARIABLES:-yes} bundle exec rake spec'
- 'bundle exec rake spec'

.acceptance_base: &acceptance_base
.acceptance_tests: &acceptance_tests
stage: 'acceptance'
tags: ['beaker']
<<: *setup_bundler_env

.compliance_tests: &compliance_tests
stage: 'compliance'
tags: ['beaker']
<<: *setup_bundler_env


# Pipeline / testing matrix
#=======================================================================

sanity_checks:
<<: *pup_4_latest
<<: *pup_5
<<: *setup_bundler_env
stage: 'sanity'
tags: ['docker']
script:
- 'if `hash apt-get`; then apt-get update; fi'
- 'if `hash apt-get`; then apt-get install -y rpm; fi'
- '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 pkg:create_tag_changelog'
- 'bundle exec puppet module build'

# Linting
#-----------------------------------------------------------------------

pup4-lint:
<<: *pup_4_latest
<<: *pup_4_10
<<: *lint_tests

pup5-lint:
<<: *pup_5_latest
<<: *pup_5
<<: *lint_tests

pup6-lint:
<<: *pup_6
<<: *lint_tests

# Unit Tests
#-----------------------------------------------------------------------

pup4.10-unit:
<<: *pup_4_10_0
<<: *pup_4_10
<<: *unit_tests

pup5.3-unit:
<<: *pup_5_3_2
pup5-unit:
<<: *pup_5
<<: *unit_tests

pup5.5-unit:
<<: *pup_5_5_1
pup5_3-unit:
<<: *pup_5_3
<<: *unit_tests

pup5.latest-unit:
<<: *pup_5_latest
pup5.5.7-unit:
<<: *pup_5_5_7
<<: *unit_tests

pup6-unit:
<<: *pup_6
<<: *unit_tests

# Acceptance Tests
#-----------------------------------------------------------------------

pup4.10-acceptance:
<<: *pup_4_10_0
<<: *acceptance_base
pup4.10:
<<: *pup_4_10
<<: *acceptance_tests
script:
- 'bundle exec rake beaker:suites'

pup4.10-fips-acceptance:
<<: *pup_4_10_0
<<: *acceptance_base
pup4.10-fips:
<<: *pup_4_10
<<: *acceptance_tests
<<: *only_with_SIMP_FULL_MATRIX
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites'

pup5.5-acceptance:
<<: *pup_5_5_1
<<: *acceptance_base
pup5.5.7:
<<: *pup_5_5_7
<<: *acceptance_tests
script:
- 'bundle exec rake beaker:suites'

pup5.5-fips-acceptance:
<<: *pup_5_5_1
<<: *acceptance_base
pup5.5.7-fips:
<<: *pup_5_5_7
<<: *acceptance_tests
script:
- 'BEAKER_fips=yes bundle exec rake beaker:suites'

pup5.5.7-oel:
<<: *pup_5_5_7
<<: *acceptance_tests
script:
- 'bundle exec rake beaker:suites[default,oel]'
2 changes: 1 addition & 1 deletion .ruby-version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
2.1.9
2.4.4
Loading

0 comments on commit 548542e

Please sign in to comment.