Skip to content

Commit

Permalink
Migrate to newest PDK
Browse files Browse the repository at this point in the history
  • Loading branch information
jimirocks committed May 7, 2022
1 parent 5a870e0 commit 86b6792
Show file tree
Hide file tree
Showing 15 changed files with 617 additions and 55 deletions.
6 changes: 6 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
FROM puppet/pdk:latest

# [Optional] Uncomment this section to install additional packages.
# RUN apt-get update && export DEBIAN_FRONTEND=noninteractive \
# && apt-get -y install --no-install-recommends <your-package-list-here>

34 changes: 34 additions & 0 deletions .devcontainer/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# devcontainer


For format details, see https://aka.ms/devcontainer.json.

For config options, see the README at:
https://github.com/microsoft/vscode-dev-containers/tree/v0.140.1/containers/puppet

``` json
{
"name": "Puppet Development Kit (Community)",
"dockerFile": "Dockerfile",

// Set *default* container specific settings.json values on container create.
"settings": {
"terminal.integrated.shell.linux": "/bin/bash"
},

// Add the IDs of extensions you want installed when the container is created.
"extensions": [
"puppet.puppet-vscode",
"rebornix.Ruby"
]

// Use 'forwardPorts' to make a list of ports inside the container available locally.
"forwardPorts": [],

// Use 'postCreateCommand' to run commands after the container is created.
"postCreateCommand": "pdk --version",
}
```



17 changes: 17 additions & 0 deletions .devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
{
"name": "Puppet Development Kit (Community)",
"dockerFile": "Dockerfile",

"settings": {
"terminal.integrated.profiles.linux": {
"bash": {
"path": "bash"
}
}
},

"extensions": [
"puppet.puppet-vscode",
"rebornix.Ruby"
]
}
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,4 @@
.project
.envrc
/inventory.yaml
.rakeTasks
/spec/fixtures/litmus_inventory.yaml
53 changes: 53 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
stages:
- syntax
- unit

default:
cache:
paths:
- vendor/bundle

before_script: &before_script
- bundle -v
- rm Gemfile.lock || true
- "# Update system gems if requested. This is useful to temporarily workaround troubles in the test runner"
- "# Set `rubygems_version` in the .sync.yml to set a value"
- "# Ignore exit code of SIGPIPE'd yes to not fail with shell's pipefail set"
- '[ -z "$RUBYGEMS_VERSION" ] || (yes || true) | gem update --system $RUBYGEMS_VERSION'
- gem --version
- bundle -v
- bundle install --without system_tests --path vendor/bundle --jobs $(nproc)

validate lint check rubocop-Ruby 2.5.7-Puppet ~> 6:
stage: syntax
image: ruby:2.5.7
script:
- bundle exec rake validate lint check rubocop
variables:
PUPPET_GEM_VERSION: '~> 6'

parallel_spec-Ruby 2.5.7-Puppet ~> 6:
stage: unit
image: ruby:2.5.7
script:
- bundle exec rake parallel_spec
variables:
PUPPET_GEM_VERSION: '~> 6'

validate lint check rubocop-Ruby 2.7.2-Puppet ~> 7:
stage: syntax
image: ruby:2.7.2
script:
- bundle exec rake validate lint check rubocop
variables:
PUPPET_GEM_VERSION: '~> 7'

parallel_spec-Ruby 2.7.2-Puppet ~> 7:
stage: unit
image: ruby:2.7.2
script:
- bundle exec rake parallel_spec
variables:
PUPPET_GEM_VERSION: '~> 7'

5 changes: 5 additions & 0 deletions .pdkignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,16 @@
.project
.envrc
/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
Expand All @@ -40,3 +43,5 @@
/.yardopts
/spec/
/.vscode/
/.sync.yml
/.devcontainer/
7 changes: 7 additions & 0 deletions .rakeTasks
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Settings><!--This file was automatically generated by Ruby plugin.
You are allowed to:
1. Remove rake task
2. Add existing rake tasks
To add existing rake tasks automatically delete this file and reload the project.
--><RakeGroup description="" fullCmd="" taksId="rake"><RakeTask description="Run beaker acceptance tests" fullCmd="beaker" taksId="beaker" /><RakeGroup description="" fullCmd="" taksId="beaker"><RakeTask description="List available beaker nodesets" fullCmd="beaker:sets" taksId="sets" /><RakeTask description="Try to use vagrant to login to the Beaker node" fullCmd="beaker:ssh[set,node]" taksId="ssh[set,node]" /><RakeTask description="" fullCmd="beaker:ssh" taksId="ssh" /></RakeGroup><RakeTask description="Build puppet module package" fullCmd="build" taksId="build" /><RakeGroup description="" fullCmd="" taksId="build"><RakeTask description="Build Puppet module with PDK" fullCmd="build:pdk" taksId="pdk" /><RakeTask description="Build Puppet module package with PMT (Puppet &lt; 6.0.0 only)" fullCmd="build:pmt" taksId="pmt" /></RakeGroup><RakeTask description="Generate a Changelog from GitHub" fullCmd="changelog" taksId="changelog" /><RakeGroup description="" fullCmd="" taksId="check"><RakeTask description="Fails if any ._ files are present in directory" fullCmd="check:dot_underscore" taksId="dot_underscore" /><RakeTask description="Fails if directories contain the files specified in .gitignore" fullCmd="check:git_ignore" taksId="git_ignore" /><RakeTask description="Fails if symlinks are present in directory" fullCmd="check:symlinks" taksId="symlinks" /><RakeTask description="Fails if .pp files present in tests folder" fullCmd="check:test_file" taksId="test_file" /></RakeGroup><RakeTask description="Clean a built module package" fullCmd="clean" taksId="clean" /><RakeTask description="Print development version of module" fullCmd="compute_dev_version" taksId="compute_dev_version" /><RakeTask description="Display the list of available rake tasks" fullCmd="help" taksId="help" /><RakeTask description="Run puppet-lint" fullCmd="lint" taksId="lint" /><RakeTask description="Run puppet-lint" fullCmd="lint_fix" taksId="lint_fix" /><RakeGroup description="" fullCmd="" taksId="litmus"><RakeGroup description="" fullCmd="" taksId="acceptance"><RakeTask description="Run serverspec against localhost, USE WITH CAUTION, this action can be potentially dangerous" fullCmd="litmus:acceptance:localhost" taksId="localhost" /></RakeGroup><RakeTask description="add_feature, [:added_feature, :target_node_name]" fullCmd="litmus:add_feature[added_feature,target_node_name]" taksId="add_feature[added_feature,target_node_name]" /><RakeTask description="check_connectivity - build and install module" fullCmd="litmus:check_connectivity[target_node_name]" taksId="check_connectivity[target_node_name]" /><RakeTask description="install puppet agent, [:collection, :target_node_name]" fullCmd="litmus:install_agent[collection,target_node_name]" taksId="install_agent[collection,target_node_name]" /><RakeTask description="install_module - build and install module" fullCmd="litmus:install_module[target_node_name,module_repository]" taksId="install_module[target_node_name,module_repository]" /><RakeTask description="install_module - build and install module" fullCmd="litmus:install_modules_from_directory[source,target_node_name,module_repository]" taksId="install_modules_from_directory[source,target_node_name,module_repository]" /><RakeTask description="print all supported OSes from metadata" fullCmd="litmus:metadata" taksId="metadata" /><RakeTask description="provision container/VM - abs/docker/vagrant/vmpooler eg 'bundle exec rake 'litmus:provision[vmpooler, ubuntu-1604-x86_64]'" fullCmd="litmus:provision[provisioner,platform,inventory_vars]" taksId="provision[provisioner,platform,inventory_vars]" /><RakeTask description="provision_install - provision a list of machines, install an agent, and the module" fullCmd="litmus:provision_install[key,collection,module_repository]" taksId="provision_install[key,collection,module_repository]" /><RakeTask description="provision list of machines from provision.yaml file" fullCmd="litmus:provision_list[key]" taksId="provision_list[key]" /><RakeTask description="reinstall_module - reinstall module" fullCmd="litmus:reinstall_module[target_node_name,module_repository]" taksId="reinstall_module[target_node_name,module_repository]" /><RakeTask description="tear-down - decommission machines" fullCmd="litmus:tear_down[target]" taksId="tear_down[target]" /><RakeTask description="uninstall_module - uninstall module" fullCmd="litmus:uninstall_module[target_node_name,module_name]" taksId="uninstall_module[target_node_name,module_name]" /><RakeTask description="" fullCmd="litmus:add_feature" taksId="add_feature" /><RakeTask description="" fullCmd="litmus:check_connectivity" taksId="check_connectivity" /><RakeTask description="" fullCmd="litmus:install_agent" taksId="install_agent" /><RakeTask description="" fullCmd="litmus:install_module" taksId="install_module" /><RakeTask description="" fullCmd="litmus:install_modules_from_directory" taksId="install_modules_from_directory" /><RakeTask description="" fullCmd="litmus:provision" taksId="provision" /><RakeTask description="" fullCmd="litmus:provision_install" taksId="provision_install" /><RakeTask description="" fullCmd="litmus:provision_list" taksId="provision_list" /><RakeTask description="" fullCmd="litmus:reinstall_module" taksId="reinstall_module" /><RakeTask description="" fullCmd="litmus:tear_down" taksId="tear_down" /><RakeTask description="" fullCmd="litmus:uninstall_module" taksId="uninstall_module" /></RakeGroup><RakeTask description="Run metadata-json-lint" fullCmd="metadata_lint" taksId="metadata_lint" /><RakeGroup description="" fullCmd="" taksId="module"><RakeTask description="Build the module using puppet-modulebuilder" fullCmd="module:build" taksId="build" /><RakeTask description="Bump module version to the next patch" fullCmd="module:bump" taksId="bump" /><RakeGroup description="" fullCmd="" taksId="bump"><RakeTask description="Bump module version to the next FULL version" fullCmd="module:bump:full" taksId="full" /><RakeTask description="Bump module version to the next MAJOR version" fullCmd="module:bump:major" taksId="major" /><RakeTask description="Bump module version to the next MINOR version" fullCmd="module:bump:minor" taksId="minor" /><RakeTask description="Bump module version to the next PATCH version" fullCmd="module:bump:patch" taksId="patch" /></RakeGroup><RakeTask description="Bump version and git commit" fullCmd="module:bump_commit" taksId="bump_commit" /><RakeGroup description="" fullCmd="" taksId="bump_commit"><RakeTask description="Bump module version to the next FULL version and git commit" fullCmd="module:bump_commit:full" taksId="full" /><RakeTask description="Bump module version to the next MAJOR version and git commit" fullCmd="module:bump_commit:major" taksId="major" /><RakeTask description="Bump module version to the next MINOR version and git commit" fullCmd="module:bump_commit:minor" taksId="minor" /><RakeTask description="Bump module version to the next PATCH version and git commit" fullCmd="module:bump_commit:patch" taksId="patch" /></RakeGroup><RakeTask description="Bump module to specific version number" fullCmd="module:bump_to_version[new_version]" taksId="bump_to_version[new_version]" /><RakeTask description="Runs clean again" fullCmd="module:clean" taksId="clean" /><RakeTask description="Set specific module dependency version" fullCmd="module:dependency[module_name,version]" taksId="dependency[module_name,version]" /><RakeTask description="Push module to the Puppet Forge" fullCmd="module:push" taksId="push" /><RakeTask description="Release the Puppet module, doing a clean, build, bump_commit, tag, push and git push" fullCmd="module:release" taksId="release" /><RakeTask description="Git tag with the current module version" fullCmd="module:tag" taksId="tag" /><RakeTask description="Get current module version" fullCmd="module:version" taksId="version" /><RakeGroup description="" fullCmd="" taksId="version"><RakeTask description="Get next module version" fullCmd="module:version:next" taksId="next" /><RakeGroup description="" fullCmd="" taksId="next"><RakeTask description="Get the next MAJOR version" fullCmd="module:version:next:major" taksId="major" /><RakeTask description="Get the next MINOR version" fullCmd="module:version:next:minor" taksId="minor" /><RakeTask description="Get the next PATCH version" fullCmd="module:version:next:patch" taksId="patch" /></RakeGroup></RakeGroup><RakeTask description="" fullCmd="module:bump_to_version" taksId="bump_to_version" /><RakeTask description="" fullCmd="module:dependency" taksId="dependency" /></RakeGroup><RakeTask description="Run spec tests in parallel and clean the fixtures directory if successful" fullCmd="parallel_spec" taksId="parallel_spec" /><RakeTask description="Parallel spec tests" fullCmd="parallel_spec_standalone" taksId="parallel_spec_standalone" /><RakeTask description="Runs all necessary checks on a module in preparation for a release" fullCmd="release_checks" taksId="release_checks" /><RakeTask description="Run RuboCop" fullCmd="rubocop" taksId="rubocop" /><RakeGroup description="" fullCmd="" taksId="rubocop"><RakeTask description="Auto-correct RuboCop offenses" fullCmd="rubocop:auto_correct" taksId="auto_correct" /></RakeGroup><RakeTask description="Run spec tests and clean the fixtures directory if successful" fullCmd="spec" taksId="spec" /><RakeGroup description="" fullCmd="" taksId="spec"><RakeTask description="Run spec tests with ruby simplecov code coverage" fullCmd="spec:simplecov" taksId="simplecov" /></RakeGroup><RakeTask description="Clean up the fixtures directory" fullCmd="spec_clean" taksId="spec_clean" /><RakeTask description="Clean up any fixture symlinks" fullCmd="spec_clean_symlinks" taksId="spec_clean_symlinks" /><RakeTask description="List spec tests in a JSON document" fullCmd="spec_list_json" taksId="spec_list_json" /><RakeTask description="Create the fixtures directory" fullCmd="spec_prep" taksId="spec_prep" /><RakeTask description="Run RSpec code examples" fullCmd="spec_standalone" taksId="spec_standalone" /><RakeGroup description="" fullCmd="" taksId="strings"><RakeTask description="Generate Puppet documentation with YARD" fullCmd="strings:generate[patterns,debug,backtrace,markup,json,markdown,yard_args]" taksId="generate[patterns,debug,backtrace,markup,json,markdown,yard_args]" /><RakeGroup description="" fullCmd="" taksId="generate"><RakeTask description="Generate Puppet Reference documentation" fullCmd="strings:generate:reference[patterns,debug,backtrace]" taksId="reference[patterns,debug,backtrace]" /><RakeTask description="" fullCmd="strings:generate:reference" taksId="reference" /></RakeGroup><RakeGroup description="" fullCmd="" taksId="gh_pages"><RakeTask description="Update docs on the gh-pages branch and push to GitHub" fullCmd="strings:gh_pages:update" taksId="update" /><RakeTask description="" fullCmd="strings:gh_pages:checkout" taksId="checkout" /><RakeTask description="" fullCmd="strings:gh_pages:configure" taksId="configure" /><RakeTask description="" fullCmd="strings:gh_pages:push" taksId="push" /></RakeGroup><RakeTask description="" fullCmd="strings:generate" taksId="generate" /></RakeGroup><RakeTask description="Syntax check Puppet manifests and templates" fullCmd="syntax" taksId="syntax" /><RakeGroup description="" fullCmd="" taksId="syntax"><RakeTask description="Syntax check Hiera config files" fullCmd="syntax:hiera" taksId="hiera" /><RakeTask description="Syntax check Puppet manifests" fullCmd="syntax:manifests" taksId="manifests" /><RakeTask description="Syntax check Puppet templates" fullCmd="syntax:templates" taksId="templates" /><RakeTask description="" fullCmd="syntax:check_puppetlabs_spec_helper" taksId="check_puppetlabs_spec_helper" /><RakeGroup description="" fullCmd="" taksId="hiera"><RakeTask description="" fullCmd="syntax:hiera:yaml" taksId="yaml" /></RakeGroup></RakeGroup><RakeTask description="Check syntax of Ruby files and call :syntax and :metadata_lint" fullCmd="validate" taksId="validate" /><RakeTask description="" fullCmd="beaker_nodes" taksId="beaker_nodes" /><RakeTask description="" fullCmd="default" taksId="default" /><RakeTask description="" fullCmd="metadata" taksId="metadata" /></RakeGroup></Settings>
Loading

0 comments on commit 86b6792

Please sign in to comment.