Commit 2d61455f authored by Javier's avatar Javier
Browse files

Initial commit

parents
Pipeline #451 failed with stages
in 1 minute and 21 seconds
# This file can be used to install module dependencies for unit testing
# See https://github.com/puppetlabs/puppetlabs_spec_helper#using-fixtures for details
---
fixtures:
forge_modules:
# stdlib: "puppetlabs/stdlib"
*.rb eol=lf
*.erb eol=lf
*.pp eol=lf
*.sh eol=lf
*.epp eol=lf
.git/
.*.sw[op]
.metadata
.yardoc
.yardwarns
*.iml
/.bundle/
/.idea/
/.vagrant/
/coverage/
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
/junit/
/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/
/tmp/
/vendor/
/convert_report.txt
/update_report.txt
.DS_Store
---
stages:
- syntax
- unit
cache:
paths:
- vendor/bundle
before_script:
- bundle -v
- rm Gemfile.lock || true
- gem update --system $RUBYGEMS_VERSION
- gem --version
- bundle -v
- bundle install --without system_tests --path vendor/bundle --jobs $(nproc)
parallel_spec-Ruby 2.1.9-Puppet ~> 4.0:
stage: unit
image: ruby:2.1.9
script:
- bundle exec rake parallel_spec
variables:
PUPPET_GEM_VERSION: '~> 4.0'
RUBYGEMS_VERSION: '2.7.8'
syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop-Ruby 2.4.4-Puppet ~> 5.5:
stage: syntax
image: ruby:2.4.4
script:
- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
variables:
PUPPET_GEM_VERSION: '~> 5.5'
parallel_spec-Ruby 2.4.4-Puppet ~> 5.5:
stage: unit
image: ruby:2.4.4
script:
- bundle exec rake parallel_spec
variables:
PUPPET_GEM_VERSION: '~> 5.5'
.git/
.*.sw[op]
.metadata
.yardoc
.yardwarns
*.iml
/.bundle/
/.idea/
/.vagrant/
/coverage/
/bin/
/doc/
/Gemfile.local
/Gemfile.lock
/junit/
/log/
/pkg/
/spec/fixtures/manifests/
/spec/fixtures/modules/
/tmp/
/vendor/
/convert_report.txt
/update_report.txt
.DS_Store
/appveyor.yml
/.fixtures.yml
/Gemfile
/.gitattributes
/.gitignore
/.gitlab-ci.yml
/.pdkignore
/Rakefile
/.rspec
/.rubocop.yml
/.travis.yml
/.yardopts
/spec/
--color
--format documentation
---
require: rubocop-rspec
AllCops:
DisplayCopNames: true
TargetRubyVersion: '2.1'
Include:
- "./**/*.rb"
Exclude:
- bin/*
- ".vendor/**/*"
- "**/Gemfile"
- "**/Rakefile"
- pkg/**/*
- spec/fixtures/**/*
- vendor/**/*
- "**/Puppetfile"
- "**/Vagrantfile"
- "**/Guardfile"
Metrics/LineLength:
Description: People have wide screens, use them.
Max: 200
GetText/DecorateString:
Description: We don't want to decorate test output.
Exclude:
- spec/*
RSpec/BeforeAfterAll:
Description: Beware of using after(:all) as it may cause state to leak between tests.
A necessary evil in acceptance testing.
Exclude:
- spec/acceptance/**/*.rb
RSpec/HookArgument:
Description: Prefer explicit :each argument, matching existing module's style
EnforcedStyle: each
Style/BlockDelimiters:
Description: Prefer braces for chaining. Mostly an aesthetical choice. Better to
be consistent then.
EnforcedStyle: braces_for_chaining
Style/ClassAndModuleChildren:
Description: Compact style reduces the required amount of indentation.
EnforcedStyle: compact
Style/EmptyElse:
Description: Enforce against empty else clauses, but allow `nil` for clarity.
EnforcedStyle: empty
Style/FormatString:
Description: Following the main puppet project's style, prefer the % format format.
EnforcedStyle: percent
Style/FormatStringToken:
Description: Following the main puppet project's style, prefer the simpler template
tokens over annotated ones.
EnforcedStyle: template
Style/Lambda:
Description: Prefer the keyword for easier discoverability.
EnforcedStyle: literal
Style/RegexpLiteral:
Description: Community preference. See https://github.com/voxpupuli/modulesync_config/issues/168
EnforcedStyle: percent_r
Style/TernaryParentheses:
Description: Checks for use of parentheses around ternary conditions. Enforce parentheses
on complex expressions for better readability, but seriously consider breaking
it up.
EnforcedStyle: require_parentheses_when_complex
Style/TrailingCommaInArguments:
Description: Prefer always trailing comma on multiline argument lists. This makes
diffs, and re-ordering nicer.
EnforcedStyleForMultiline: comma
Style/TrailingCommaInLiteral:
Description: Prefer always trailing comma on multiline literals. This makes diffs,
and re-ordering nicer.
EnforcedStyleForMultiline: comma
Style/SymbolArray:
Description: Using percent style obscures symbolic intent of array's contents.
EnforcedStyle: brackets
RSpec/MessageSpies:
EnforcedStyle: receive
Style/Documentation:
Exclude:
- lib/puppet/parser/functions/**/*
- spec/**/*
Style/WordArray:
EnforcedStyle: brackets
Style/CollectionMethods:
Enabled: true
Style/MethodCalledOnDoEndBlock:
Enabled: true
Style/StringMethods:
Enabled: true
Layout/EndOfLine:
Enabled: false
Layout/IndentHeredoc:
Enabled: false
Metrics/AbcSize:
Enabled: false
Metrics/BlockLength:
Enabled: false
Metrics/ClassLength:
Enabled: false
Metrics/CyclomaticComplexity:
Enabled: false
Metrics/MethodLength:
Enabled: false
Metrics/ModuleLength:
Enabled: false
Metrics/ParameterLists:
Enabled: false
Metrics/PerceivedComplexity:
Enabled: false
RSpec/DescribeClass:
Enabled: false
RSpec/ExampleLength:
Enabled: false
RSpec/MessageExpectation:
Enabled: false
RSpec/MultipleExpectations:
Enabled: false
RSpec/NestedGroups:
Enabled: false
Style/AsciiComments:
Enabled: false
Style/IfUnlessModifier:
Enabled: false
Style/SymbolProc:
Enabled: false
---
dist: trusty
language: ruby
cache: bundler
before_install:
- bundle -v
- rm -f Gemfile.lock
- gem update --system $RUBYGEMS_VERSION
- gem --version
- bundle -v
script:
- 'bundle exec rake $CHECK'
bundler_args: --without system_tests
rvm:
- 2.5.1
env:
global:
- BEAKER_PUPPET_COLLECTION=puppet6 PUPPET_GEM_VERSION="~> 6.0"
matrix:
fast_finish: true
include:
-
env: CHECK="syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop"
-
env: CHECK=parallel_spec
-
env: PUPPET_GEM_VERSION="~> 5.0" CHECK=parallel_spec
rvm: 2.4.4
branches:
only:
- master
- /^v\d/
notifications:
email: false
deploy:
provider: puppetforge
user: puppet
password:
secure: ""
on:
tags: true
all_branches: true
condition: "$DEPLOY_TO_FORGE = yes"
--markup markdown
# Changelog
All notable changes to this project will be documented in this file.
## Release 0.1.0
**Features**
**Bugfixes**
**Known Issues**
source ENV['GEM_SOURCE'] || 'https://rubygems.org'
def location_for(place_or_version, fake_version = nil)
git_url_regex = %r{\A(?<url>(https?|git)[:@][^#]*)(#(?<branch>.*))?}
file_url_regex = %r{\Afile:\/\/(?<path>.*)}
if place_or_version && (git_url = place_or_version.match(git_url_regex))
[fake_version, { git: git_url[:url], branch: git_url[:branch], require: false }].compact
elsif place_or_version && (file_url = place_or_version.match(file_url_regex))
['>= 0', { path: File.expand_path(file_url[:path]), require: false }]
else
[place_or_version, { require: false }]
end
end
ruby_version_segments = Gem::Version.new(RUBY_VERSION.dup).segments
minor_version = ruby_version_segments[0..1].join('.')
group :development do
gem "fast_gettext", '1.1.0', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.1.0')
gem "fast_gettext", require: false if Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.1.0')
gem "json_pure", '<= 2.0.1', require: false if Gem::Version.new(RUBY_VERSION.dup) < Gem::Version.new('2.0.0')
gem "json", '= 1.8.1', require: false if Gem::Version.new(RUBY_VERSION.dup) == Gem::Version.new('2.1.9')
gem "json", '= 2.0.4', require: false if Gem::Requirement.create('~> 2.4.2').satisfied_by?(Gem::Version.new(RUBY_VERSION.dup))
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 "puppet-module-posix-default-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-posix-dev-r#{minor_version}", require: false, platforms: [:ruby]
gem "puppet-module-win-default-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
gem "puppet-module-win-dev-r#{minor_version}", require: false, platforms: [:mswin, :mingw, :x64_mingw]
end
puppet_version = ENV['PUPPET_GEM_VERSION']
facter_version = ENV['FACTER_GEM_VERSION']
hiera_version = ENV['HIERA_GEM_VERSION']
gems = {}
gems['puppet'] = location_for(puppet_version)
# If facter or hiera versions have been specified via the environment
# variables
gems['facter'] = location_for(facter_version) if facter_version
gems['hiera'] = location_for(hiera_version) if hiera_version
if Gem.win_platform? && puppet_version =~ %r{^(file:///|git://)}
# If we're using a Puppet gem on Windows which handles its own win32-xxx gem
# dependencies (>= 3.5.0), set the maximum versions (see PUP-6445).
gems['win32-dir'] = ['<= 0.4.9', require: false]
gems['win32-eventlog'] = ['<= 0.6.5', require: false]
gems['win32-process'] = ['<= 0.7.5', require: false]
gems['win32-security'] = ['<= 0.2.5', require: false]
gems['win32-service'] = ['0.8.8', require: false]
end
gems.each do |gem_name, gem_params|
gem gem_name, *gem_params
end
# Evaluate Gemfile.local and ~/.gemfile if they exist
extra_gemfiles = [
"#{__FILE__}.local",
File.join(Dir.home, '.gemfile'),
]
extra_gemfiles.each do |gemfile|
if File.file?(gemfile) && File.readable?(gemfile)
eval(File.read(gemfile), binding)
end
end
# vim: syntax=ruby
# easybuild
Welcome to your new module. A short overview of the generated parts can be found in the PDK documentation at https://puppet.com/pdk/latest/pdk_generating_modules.html .
The README template below provides a starting point with details about what information to include in your README.
#### Table of Contents
1. [Description](#description)
2. [Setup - The basics of getting started with easybuild](#setup)
* [What easybuild affects](#what-easybuild-affects)
* [Setup requirements](#setup-requirements)
* [Beginning with easybuild](#beginning-with-easybuild)
3. [Usage - Configuration options and additional functionality](#usage)
4. [Limitations - OS compatibility, etc.](#limitations)
5. [Development - Guide for contributing to the module](#development)
## Description
Briefly tell users why they might want to use your module. Explain what your module does and what kind of problems users can solve with it.
This should be a fairly short description helps the user decide if your module is what they want.
## Setup
### What easybuild affects **OPTIONAL**
If it's obvious what your module touches, you can skip this section. For example, folks can probably figure out that your mysql_instance module affects their MySQL instances.
If there's more that they should know about, though, this is the place to mention:
* Files, packages, services, or operations that the module will alter, impact, or execute.
* Dependencies that your module automatically installs.
* Warnings or other important notices.
### Setup Requirements **OPTIONAL**
If your module requires anything extra before setting up (pluginsync enabled, another module, etc.), mention it here.
If your most recent release breaks compatibility or requires particular steps for upgrading, you might want to include an additional "Upgrading" section here.
### Beginning with easybuild
The very basic steps needed for a user to get the module up and running. This can include setup steps, if necessary, or it can be an example of the most basic use of the module.
## Usage
Include usage examples for common use cases in the **Usage** section. Show your users how to use your module to solve problems, and be sure to include code examples. Include three to five examples of the most important or common tasks a user can accomplish with your module. Show users how to accomplish more complex tasks that involve different types, classes, and functions working in tandem.
## Reference
This section is deprecated. Instead, add reference information to your code as Puppet Strings comments, and then use Strings to generate a REFERENCE.md in your module. For details on how to add code comments and generate documentation with Strings, see the Puppet Strings [documentation](https://puppet.com/docs/puppet/latest/puppet_strings.html) and [style guide](https://puppet.com/docs/puppet/latest/puppet_strings_style.html)
If you aren't ready to use Strings yet, manually create a REFERENCE.md in the root of your module directory and list out each of your module's classes, defined types, facts, functions, Puppet tasks, task plans, and resource types and providers, along with the parameters for each.
For each element (class, defined type, function, and so on), list:
* The data type, if applicable.
* A description of what the element does.
* Valid values, if the data type doesn't make it obvious.
* Default value, if any.
For example:
```
### `pet::cat`
#### Parameters
##### `meow`
Enables vocalization in your cat. Valid options: 'string'.
Default: 'medium-loud'.
```
## Limitations
In the Limitations section, list any incompatibilities, known issues, or other warnings.
## Development
In the Development section, tell other users the ground rules for contributing to your project and how they should submit their work.
## Release Notes/Contributors/Etc. **Optional**
If you aren't using changelog, put your release notes here (though you should consider using changelog). You can also add any additional sections you feel are necessary or important to include here. Please use the `## ` header.
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-syntax/tasks/puppet-syntax'
require 'puppet_blacksmith/rake_tasks' if Bundler.rubygems.find_name('puppet-blacksmith').any?
require 'github_changelog_generator/task' if Bundler.rubygems.find_name('github_changelog_generator').any?
require 'puppet-strings/tasks' if Bundler.rubygems.find_name('puppet-strings').any?
def changelog_user
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['author']
raise "unable to find the changelog_user in .sync.yml, or the author in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator user:#{returnVal}"
returnVal
end
def changelog_project
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = nil || JSON.load(File.read('metadata.json'))['name']
raise "unable to find the changelog_project in .sync.yml or the name in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator project:#{returnVal}"
returnVal
end
def changelog_future_release
return unless Rake.application.top_level_tasks.include? "changelog"
returnVal = JSON.load(File.read('metadata.json'))['version']
raise "unable to find the future_release (version) in metadata.json" if returnVal.nil?
puts "GitHubChangelogGenerator future_release:#{returnVal}"
returnVal
end
PuppetLint.configuration.send('disable_relative')
if Bundler.rubygems.find_name('github_changelog_generator').any?
GitHubChangelogGenerator::RakeTask.new :changelog do |config|
raise "Set CHANGELOG_GITHUB_TOKEN environment variable eg 'export CHANGELOG_GITHUB_TOKEN=valid_token_here'" if Rake.application.top_level_tasks.include? "changelog" and ENV['CHANGELOG_GITHUB_TOKEN'].nil?
config.user = "#{changelog_user}"
config.project = "#{changelog_project}"
config.future_release = "#{changelog_future_release}"
config.exclude_labels = ['maintenance']
config.header = "# Change log\n\nAll notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](http://semver.org)."
config.add_pr_wo_labels = true
config.issues = false
config.merge_prefix = "### UNCATEGORIZED PRS; GO LABEL THEM"
config.configure_sections = {
"Changed" => {
"prefix" => "### Changed",
"labels" => ["backwards-incompatible"],
},
"Added" => {
"prefix" => "### Added",
"labels" => ["feature", "enhancement"],
},
"Fixed" => {
"prefix" => "### Fixed",
"labels" => ["bugfix"],
},
}
end
else
desc 'Generate a Changelog from GitHub'
task :changelog do
raise <<EOM
The changelog tasks depends on unreleased features of the github_changelog_generator gem.
Please manually add it to your .sync.yml for now, and run `pdk update`:
---
Gemfile:
optional:
':development':
- gem: 'github_changelog_generator'
git: 'https://github.com/skywinder/github-changelog-generator'
ref: '20ee04ba1234e9e83eb2ffb5056e23d641c7a018'
condition: "Gem::Version.new(RUBY_VERSION.dup) >= Gem::Version.new('2.2.2')"
EOM
end
end
---
version: 1.1.x.{build}
branches:
only:
- master
skip_commits:
message: /^\(?doc\)?.*/
clone_depth: 10
init:
- SET
- 'mkdir C:\ProgramData\PuppetLabs\code && exit 0'
- 'mkdir C:\ProgramData\PuppetLabs\facter && exit 0'
- 'mkdir C:\ProgramData\PuppetLabs\hiera && exit 0'
- 'mkdir C:\ProgramData\PuppetLabs\puppet\var && exit 0'
environment:
matrix:
-
RUBY_VERSION: 24-x64
CHECK: syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
-
PUPPET_GEM_VERSION: ~> 5.0
RUBY_VERSION: 24
CHECK: parallel_spec
-
PUPPET_GEM_VERSION: ~> 5.0
RUBY_VERSION: 24-x64
CHECK: parallel_spec
-
PUPPET_GEM_VERSION: ~> 6.0
RUBY_VERSION: 25
CHECK: parallel_spec
-
PUPPET_GEM_VERSION: ~> 6.0
RUBY_VERSION: 25-x64
CHECK: parallel_spec
matrix:
fast_finish: true
install:
- set PATH=C:\Ruby%RUBY_VERSION%\bin;%PATH%
- bundle install --jobs 4 --retry 2 --without system_tests
- type Gemfile.lock
build: off
test_script:
- bundle exec puppet -V
- ruby -v
- gem -v
- bundle -v
- bundle exec rake %CHECK%
notifications:
- provider: Email
to:
- nobody@nowhere.com
on_build_success: false
on_build_failure: false
on_build_status_changed: false
[MAIN]
# Enable debug log mode (def False)
#debug=
# Enable info log mode (def False)
#info=
# Enable quiet/warning log mode (def False)
#quiet=
[basic]
# Print build overview incl. dependencies (full paths) (def False)
#dry-run=
# Print build overview incl. dependencies (short paths) (def False)
#dry-run-short=
# Print build environment and (expected) build procedure that will be performed (def False)
#extended-dry-run=
# Ignore errors that occur during dry run (def True)
#extended-dry-run-ignore-errors=
# Force to rebuild software even if it's already installed (i.e. if it can be found as module), and skipping check for OS dependencies (def False)
#force=
# Submit the build as a job (def False)
#job=
# Redirect main log to stdout (def False)
#logtostdout=
# Only build listed blocks (type comma-separated list)
#only-blocks=
# Rebuild software, even if module already exists (don't skip OS dependencies checks) (def False)
#rebuild=
# Enable dependency resolution, using easyconfigs in specified paths (type pathsep-separated list; def )
#robot=
# Additional paths to consider by robot for easyconfigs (--robot paths get priority) (type pathsep-separated list; def /opt/easybuild/software/EasyBuild/3.6.2/lib/python2.7/site-packages/easybuild_easyconfigs-3.6.2-py2.7.egg/easybuild/easyconfigs)
#robot-paths=
# Additional locations to consider in --search (next to --robot and --robot-paths paths) (type pathsep-separated list; def )
#search-paths=
# Skip existing software (useful for installing additional packages) (def False)
#skip=
# Stop the installation after certain step (type choice; def source) (choices: fetch, ready, source, patch, prepare, configure, build, test, install, extensions, postproc, sanitycheck, cleanup, module, permissions, package, testcases)
#stop=
# Set strictness level (type choice; def warn) (choices: ignore, warn, error)
#strict=
[config]
# Show all supported module naming schemes (def False)
#avail-module-naming-schemes=
# Show all supported module tools (def False)
#avail-modules-tools=
# Show all repository types (incl. non-usable) (def False)
#avail-repositories=
# Temporary build path (def /home/CLUSTER/easybuild/.local/easybuild/build)
buildpath=/opt/apps/easybuild/build
# Location where container recipe & image will be stored (def /home/CLUSTER/easybuild/.local/easybuild/containers)
#containerpath=
# List of files specifying metadata for external modules (INI format) (type comma-separated list)
#external-modules-metadata=
# Location of Python module with hook implementations (type str)
#hooks=
# Directory names to ignore when searching for files/dirs (type comma-separated list; def .git,.svn)
#ignore-dirs=
# Location(s) of extra or customized easyblocks (type comma-separated list; def )
#include-easyblocks=
# Location(s) of extra or customized module naming schemes (type comma-separated list; def )
#include-module-naming-schemes=
# Location(s) of extra or customized toolchains or toolchain components (type comma-separated list; def )
#include-toolchains=
# Install path for software and modules (def /home/CLUSTER/easybuild/.local/easybuild)
installpath=/opt/apps/easybuild
# Install path for modules (if None, combine --installpath and --subdir-modules)
#installpath-modules=
# Install path for software (if None, combine --installpath and --subdir-software)
#installpath-software=
# Backend to use for submitting jobs (type choice; def GC3Pie) (choices: GC3Pie, PbsPython)
#job-backend=
# Directory name and format of the log file (type comma-separated tuple; def easybuild,easybuild-%(name)s-%(version)s-%(date)s.%(time)s.log)
#logfile-format=
# Use depends_on (Lmod 7.6.1+) for dependencies in all generated modules (implies recursive unloading of modules). (def False)
#module-depends-on=
# Module naming scheme to use (def EasyBuildMNS)
#module-naming-scheme=
# Syntax to be used for module files (type choice; def Lua) (choices: Lua, Tcl)
#module-syntax=
# Extend supported module classes (For more info on the default classes, use --show-default-moduleclasses) (type comma-separated list; def base,bio,cae,chem,compiler,data,debugger,devel,geo,ide,lang,lib,math,mpi,numlib,perf,phys,system,toolchain,tools,vis)
#moduleclasses=
# Path to file containing footer to be added to all generated module files
#modules-footer=
# Path to file containing header to be added to all generated module files
#modules-header=
# Modules tool to use (type choice; def Lmod) (choices: EnvironmentModules, EnvironmentModulesC, EnvironmentModulesTcl, Lmod)
#modules-tool=
# Packaging naming scheme choice (type choice; def EasyBuildPNS) (choices: EasyBuildPNS)
#package-naming-scheme=
# The destination path for the packages built by package-tool (def /home/CLUSTER/easybuild/.local/easybuild/packages)
#packagepath=
# Change prefix for buildpath, installpath, sourcepath and repositorypath (used prefix for defaults /home/CLUSTER/easybuild/.local/easybuild)
#prefix=
# Enable generating of modules that unload recursively. (def False)
#recursive-module-unload=
# Repository type, using repositorypath (type choice; def FileRepository) (choices: FileRepository)
#repository=
# Repository path, used by repository (is passed as list of arguments to create the repository instance). For more info, use --avail-repositories. (type comma-separated list; def /home/CLUSTER/easybuild/.local/easybuild/ebfiles_repo)
repositorypath=/home/CLUSTER/easybuild/.local/easybuild/ebfiles_repo_nehalem
# Path(s) to where sources should be downloaded (string, colon-separated) (def /home/CLUSTER/easybuild/.local/easybuild/sources)
sourcepath=/opt/sources
# Installpath subdir for modules (def modules)
#subdir-modules=
# Installpath subdir for software (def software)
#subdir-software=
# Base path of user-specific modules relative to their $HOME
#subdir-user-modules=
# Suffix for module files install path (def all)
#suffix-modules-path=
# Path to where a job should place the output (to be set within jobscript)
#testoutput=
# Log directory where temporary log files are stored
#tmp-logdir=
# Directory to use for temporary storage
#tmpdir=
[container]
# Base for container image. Examples (for Singularity): --container-base localimage:/path/to/image.img, --container-base shub:<image>:<tag>, --container-base docker:<image>:<tag> (type <type 'str'>)
#container-base=
# Build container image (requires sudo privileges!) (def False)
#container-build-image=
# Container image format (type choice) (choices: ext3, sandbox, squashfs)
#container-image-format=
# Custom name for container image (defaults to name of easyconfig)
#container-image-name=
# Temporary directory where container image is built
#container-tmpdir=
# Type of container recipe/image to create (type choice; def singularity) (choices: docker, singularity)
#container-type=
[easyconfig]
# Inject checksums of specified type for sources/patches into easyconfig file(s) (type choice; def sha256) (choices: adler32, crc32, md5, sha1, sha256, sha512, size)
#inject-checksums=
[github]
# Check status of GitHub integration, and report back (def False)
#check-github=
# Run a style check on the given easyconfigs (def False)
#check-style=
# Clean up easyconfig files for pull request (def True)
#cleanup-easyconfigs=
# Dump test report to specified path (def test_report.md)
#dump-test-report=
# Obtain easyconfigs from specified PR (type <type 'int'>)
#from-pr=
# Path to Git working directories for EasyBuild repositories (type <type 'str'>)
#git-working-dirs-path=
# GitHub organization (type <type 'str'>)
#github-org=
# GitHub username (type <type 'str'>)
#github-user=
# Install GitHub token (requires --github-user) (def False)
#install-github-token=
# Merge pull request (type <type 'int'>)
#merge-pr=
# Open a new pull request (def False)
#new-pr=
# Branch name to use for new PRs; '<timestamp>_new_pr_<name><version>' if unspecified (type <type 'str'>)
#pr-branch-name=
# Commit message for new/updated pull request created with --new-pr (type <type 'str'>)
#pr-commit-msg=
# Description for new pull request created with --new-pr (type <type 'str'>)
#pr-descr=
# Target account for new PRs (type <type 'str'>; def easybuilders)
#pr-target-account=
# Target branch for new PRs (type <type 'str'>; def develop)
#pr-target-branch=
# Target repository for new/updating PRs (type <type 'str'>; def easybuild-easyconfigs)
#pr-target-repo=
# Title for new pull request created with --new-pr (type <type 'str'>)
#pr-title=
# Preview a new pull request (def False)
#preview-pr=
# Review specified pull request (type <type 'int'>)
#review-pr=
# Regex used to filter out variables in environment dump of test report
#test-report-env-filter=
# Update an existing pull request (type <type 'int'>)
#update-pr=
# Upload full test report as a gist on GitHub (def False)
#upload-test-report=
[informative]
# Show all constants that can be used in configuration files (def False)
#avail-cfgfile-constants=
# Show all constants that can be used in easyconfigs (def False)
#avail-easyconfig-constants=
# Show all license constants that can be used in easyconfigs (def False)
#avail-easyconfig-licenses=
# Show all easyconfig parameters (include easyblock-specific ones by using -e) (def False)
#avail-easyconfig-params=
# Show all template names and template constants that can be used in easyconfigs. (def False)
#avail-easyconfig-templates=
# Show list of known hooks (def False)
#avail-hooks=
# Show options for toolchain (type str)
#avail-toolchain-opts=
# Check for version conflicts in dependency graphs (def False)
#check-conflicts=
# Create dependency graph
#dep-graph=
# Dump source script to set up build environment based on toolchain/dependencies (def False)
#dump-env-script=
# Print location to EasyBuild log file of last (failed) session (def False)
#last-log=
# Show list of available easyblocks (type choice; def simple) (choices: simple, detailed)
#list-easyblocks=
# Show list of installed software (type choice; def simple) (choices: simple, detailed)
#list-installed-software=
# Show list of supported software (type choice; def simple) (choices: simple, detailed)
#list-software=
# Show list of known toolchains (def False)
#list-toolchains=
# Search for easyconfig files in the robot search path, print full paths
#search=
# Search for easyconfig files in the robot search path, print only filenames
#search-filename=
# Search for easyconfig files in the robot search path, print short paths
#search-short=
# Show current EasyBuild configuration (only non-default + selected settings) (def False)
#show-config=
# Show list of default config files (def False)
#show-default-configfiles=
# Show default module classes with description (def False)
#show-default-moduleclasses=
# Show current EasyBuild configuration (all settings) (def False)
#show-full-config=
# Terse output (machine-readable) (def False)
#terse=
[job]
# Configuration file for job backend
#job-backend-config=
# Number of cores to request per job (type int)
#job-cores=
# Maximum number of concurrent jobs (queued and running, 0 = unlimited) (type int; def 0)
#job-max-jobs=
# Maximum walltime for jobs (in hours) (type int; def 24)
#job-max-walltime=
# Output directory for jobs (default: current directory) (def /home/CLUSTER/easybuild)
#job-output-dir=
# Interval between polls for status of jobs (in seconds) (type <type 'float'>; def 30.0)
#job-polling-interval=
# Target resource for jobs
#job-target-resource=
[override]
# Include dummy in minimal toolchain searches (def False)
#add-dummy-to-minimal-toolchains=
# List of software names for which to allow loaded modules in initial environment (type comma-separated list; def EasyBuild)
#allow-loaded-modules=
# Allow mismatch of modules tool and definition of 'module' function (def False)
#allow-modules-tool-mismatch=
# Allow using of EasyBuild as root (NOT RECOMMENDED!) (def False)
#allow-use-as-root-and-accept-consequences=
# Back up an existing module file, if any. Only works when using --module-only
#backup-modules=
# Action to take when defined $EBROOT* environment variables are found for which there is no matching loaded module; supported values: error, ignore, unset, warn (def warn)
#check-ebroot-env-vars=
# Cleanup build dir after successful installation. (def True)
#cleanup-builddir=
# Cleanup tmp dir after successful run. (def True)
#cleanup-tmpdir=
# Colorize output (type choice; def auto) (choices: auto, always, never)
#color=
# Also consider archived easyconfigs (def False)
#consider-archived-easyconfigs=
# Generate container recipe/image (def False)
#containerize=
# Run Lmod modules tool commands in debug module (def False)
#debug-lmod=
# Specify default optimisation level (type choice; def defaultopt) (choices: noopt, lowopt, defaultopt, opt)
#default-opt-level=
# Run pretending to be (future) version, to test removal of deprecated code.
#deprecated=
# Detect loaded EasyBuild-generated modules, act accordingly; supported values: error, ignore, purge, unload, warn (def warn)
#detect-loaded-modules=
# Enable including of development log messages (def False)
#devel=
# Timeout for initiating downloads (in seconds) (type <type 'float'>)
#download-timeout=
# Reformat easyconfigs using autopep8 when dumping them (def False)
#dump-autopep8=
# easyblock to use for processing the spec file or dumping the options
#easyblock=
# Enforce availability of checksums for all sources/patches, so they can be verified (def False)
#enforce-checksums=
# Allow experimental code (with behaviour that can be changed/removed at any given time). (def False)
#experimental=
# List of extra modules to load after setting up the build environment (type comma-separated list)
#extra-modules=
# Allow downloading sources ignoring OS and modules tool dependencies, implies --stop=fetch, --ignore-osdeps and ignore modules tool (def False)
#fetch=
# List of dependencies that you do *not* want to install with EasyBuild, because equivalent OS packages are installed. (e.g. --filter-deps=zlib,ncurses) (type comma-separated list)
#filter-deps=
# List of names of environment variables that should *not* be defined/updated by module files generated by EasyBuild (type comma-separated list)
#filter-env-vars=
# Use fixed naming scheme for installation directories (def False)
#fixed-installdir-naming-scheme=
# Force re-downloading of sources and/or patches, even if they are available already in source path (type choice; def sources) (choices: all, patches, sources)
#force-download=
# Group to be used for software installations (only verified, not set)
#group=
# Enable group write permissions on installation directory after installation (def False)
#group-writable-installdir=
# Install 'hidden' module file(s) by prefixing their version with '.' (def False)
#hidden=
# Comma separated list of dependencies that you want automatically hidden, (e.g. --hide-deps=zlib,ncurses) (type comma-separated list)
#hide-deps=
# Comma separated list of toolchains that you want automatically hidden, (e.g. --hide-toolchains=GCCcore) (type comma-separated list)
#hide-toolchains=
# Ignore failing checksum verification (def False)
#ignore-checksums=
# Ignore any listed OS dependencies (def False)
#ignore-osdeps=
# Install latest known version of easybuild (def False)
#install-latest-eb-release=
# Fallback in sanity check to lib64/ equivalent for missing libraries (def True)
#lib64-fallback-sanity-check=
# Maximum ratio for failures to allow when adjusting permissions (type float; def 0.5)
#max-fail-ratio-adjust-permissions=
# Use minimal toolchain when resolving dependencies (def False)
#minimal-toolchains=
# Only generate module file(s); skip all steps except for module, prepare, ready, sanitycheck (def False)
#module-only=
# Template for MPI commands (template keys: %(nr_ranks)s, %(cmd)s)
#mpi-cmd-template=
# Run MPI tests (when relevant) (def True)
#mpi-tests=
# Set architecture optimization, overriding native architecture optimizations
#optarch=
# Set output format (type choice; def txt) (choices: txt, rst)
#output-format=
# Specify (maximum) level of parallellism used during build procedure (type int)
#parallel=
# Does the build/installation in a test directory located in $HOME/easybuildinstall (def False)
#pretend=
# Set read-only permissions on installation directory after installation (def False)
#read-only-installdir=
# Enable use of RPATH for linking with libraries (def False)
#rpath=
# List of regex patterns to use for filtering out RPATH paths (type comma-separated list)
#rpath-filter=
# Set the generated module as default (def False)
#set-default-module=
# Set group ID bit on newly created directories (def False)
#set-gid-bit=
# Skip running test cases (def False)
#skip-test-cases=
# Set sticky bit on newly created directories (def False)
#sticky-bit=
# Provide more information in output to stdout on progress (def False)
#trace=
# umask to use (e.g. '022'); non-user write permissions on install directories are removed
#umask=
# Update modules tool cache file(s) after generating module file (def False)
#update-modules-tool-cache=
# Enable use of ccache to speed up compilation, with specified cache dir (type <type 'str'>; def False)
#use-ccache=
# Use existing modules when resolving dependencies with minimal toolchains (def False)
#use-existing-modules=
# Enable use of f90cache to speed up compilation, with specified cache dir (type <type 'str'>; def False)
#use-f90cache=
# Verify whether filename of specified easyconfigs matches with contents (def False)
#verify-easyconfig-filenames=
# Zip logs that are copied to install directory, using specified command (def gzip)
#zip-logs=
[package]
# Enabling packaging (def False)
#package=
# Package release iteration number (def 1)
#package-release=
# Packaging tool to use (def fpm)
#package-tool=
# Extra options for packaging tool (def '')
#package-tool-options=
# Type of package to generate (def rpm)
#package-type=
[regtest]
# Collect all the xmls inside the given directory and generate a single file
#aggregate-regtest=
# Enable regression test mode (def False)
#regtest=
# Set output directory for test-run
#regtest-output-dir=
# Specify this option if you want to prevent parallel build (def False)
#sequential=
[software]
# Specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch)
#amend=
# Search and build software with given name and version (type comma-separated list)
#software=
# Search and build software with given name
#software-name=
# Search and build software with given version
#software-version=
# Search and build with given toolchain (name and version) (type comma-separated list)
#toolchain=
# Search and build with given toolchain name
#toolchain-name=
# Search and build with given toolchain version
#toolchain-version=
# Try to specify additional search and build parameters (can be used multiple times); for example: versionprefix=foo or patches=one.patch,two.patch) (USE WITH CARE!)
#try-amend=
# Try to search and build software with given name and version (USE WITH CARE!) (type comma-separated list)
#try-software=
# Try to search and build software with given name (USE WITH CARE!)
#try-software-name=
# Try to search and build software with given version (USE WITH CARE!)
#try-software-version=
# Try to search and build with given toolchain (name and version) (USE WITH CARE!) (type comma-separated list)
#try-toolchain=
# Try to search and build with given toolchain name (USE WITH CARE!)
#try-toolchain-name=
# Try to search and build with given toolchain version (USE WITH CARE!)
#try-toolchain-version=
[unittest]
# Log to this file in unittest mode
#unittest-file=
---
version: 5
defaults: # Used for any hierarchy level that omits these keys.
datadir: data # This path is relative to hiera.yaml's directory.
data_hash: yaml_data # Use the built-in YAML backend.
hierarchy:
- name: 'common'
path: 'common.yaml'
# A description of what this class does
#
# @summary A short summary of the purpose of this class
#
# @example
# include easybuild
class easybuild {
}
{
"name": "jrbosch-easybuild",
"version": "0.1.0",
"author": "jrbosch",
"summary": "",
"license": "Apache-2.0",
"source": "",
"dependencies": [
],
"operatingsystem_support": [
{
"operatingsystem": "CentOS",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "OracleLinux",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "RedHat",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "Scientific",
"operatingsystemrelease": [
"7"
]
},
{
"operatingsystem": "Debian",
"operatingsystemrelease": [
"8"
]
},
{
"operatingsystem": "Ubuntu",
"operatingsystemrelease": [
"16.04"
]
}
],
"requirements": [
{
"name": "puppet",
"version_requirement": ">= 4.10.0 < 7.0.0"
}
],
"pdk-version": "1.9.0",
"template-url": "file:///opt/puppetlabs/pdk/share/cache/pdk-templates.git",
"template-ref": "1.9.0-0-g7281db5"
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment