Showing with 251 additions and 528 deletions.
  1. +9 −6 .github/workflows/auto_release.yml
  2. +9 −2 .github/workflows/nightly.yml
  3. +9 −2 .github/workflows/pr_test.yml
  4. +47 −0 .github/workflows/release.yml
  5. +129 −0 .github/workflows/spec.yml
  6. +1 −0 .gitignore
  7. +1 −1 .gitpod.yml
  8. +3 −0 .pdkignore
  9. +11 −34 .sync.yml
  10. +0 −89 .travis.yml
  11. +11 −0 CHANGELOG.md
  12. +1 −277 CONTRIBUTING.md
  13. +0 −10 Gemfile
  14. +0 −76 appveyor.yml
  15. +0 −26 locales/config.yaml
  16. +8 −5 metadata.json
  17. +12 −0 spec/spec_helper.rb
15 changes: 9 additions & 6 deletions .github/workflows/auto_release.yml
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
name: "Auto release"

on:
schedule:
- cron: '0 3 * * 6'
workflow_dispatch:

env:
Expand Down Expand Up @@ -36,7 +34,7 @@ jobs:
persist-credentials: false

- name: "PDK Release prep"
uses: docker://puppet/pdk:nightly
uses: docker://puppet/iac_release:ci
with:
args: 'release prep --force'
env:
Expand All @@ -46,12 +44,12 @@ jobs:
if: ${{ github.repository_owner == 'puppetlabs' }}
id: gv
run: |
echo "::set-output name=ver::$(cat metadata.json | jq .version | tr -d \")"
echo "::set-output name=ver::$(jq --raw-output .version metadata.json)"
- name: "Commit changes"
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
git config --local user.email "action@github.com"
git config --local user.email "${{ github.repository_owner }}@users.noreply.github.com"
git config --local user.name "GitHub Action"
git add .
git commit -m "Release prep v${{ steps.gv.outputs.ver }}"
Expand All @@ -66,7 +64,12 @@ jobs:
branch: "release-prep"
delete-branch: true
title: "Release prep v${{ steps.gv.outputs.ver }}"
body: "Automated release-prep through [pdk-templates](https://github.com/puppetlabs/pdk-templates/blob/main/moduleroot/.github/workflows/auto_release.yml.erb)"
body: |
Automated release-prep through [pdk-templates](https://github.com/puppetlabs/pdk-templates/blob/main/moduleroot/.github/workflows/auto_release.yml.erb) from commit ${{ github.sha }}.
Please verify before merging:
- [ ] last [nightly](https://github.com/${{ github.repository }}/actions/workflows/nightly.yml) run is green
- [ ] [Changelog](https://github.com/${{ github.repository }}/blob/release-prep/CHANGELOG.md) is readable and has no unlabeled pull requests
- [ ] Ensure the [changelog](https://github.com/${{ github.repository }}/blob/release-prep/CHANGELOG.md) version and [metadata](https://github.com/${{ github.repository }}/blob/release-prep/metadata.json) version match
labels: "maintenance"

- name: PR outputs
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,14 @@ jobs:
echo
echo ::endgroup::
echo ::group::=== INVENTORY ===
sed -e 's/password: .*/password: "[redacted]"/' < inventory.yaml || true
if [ -f 'spec/fixtures/litmus_inventory.yaml' ];
then
FILE='spec/fixtures/litmus_inventory.yaml'
elif [ -f 'inventory.yaml' ];
then
FILE='inventory.yaml'
fi
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true
echo ::endgroup::
- name: Install agent
Expand Down Expand Up @@ -166,7 +173,7 @@ jobs:
if: ${{ always() }}
continue-on-error: true
run: |
if [ -f inventory.yaml ]; then
if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then
buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:tear_down' -- bundle exec rake 'litmus:tear_down'
echo ::group::=== REQUEST ===
cat request.json || true
Expand Down
11 changes: 9 additions & 2 deletions .github/workflows/pr_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,14 @@ jobs:
echo
echo ::endgroup::
echo ::group::=== INVENTORY ===
sed -e 's/password: .*/password: "[redacted]"/' < inventory.yaml || true
if [ -f 'spec/fixtures/litmus_inventory.yaml' ];
then
FILE='spec/fixtures/litmus_inventory.yaml'
elif [ -f 'inventory.yaml' ];
then
FILE='inventory.yaml'
fi
sed -e 's/password: .*/password: "[redacted]"/' < $FILE || true
echo ::endgroup::
- name: Install agent
Expand Down Expand Up @@ -163,7 +170,7 @@ jobs:
if: ${{ always() }}
continue-on-error: true
run: |
if [ -f inventory.yaml ]; then
if [[ -f inventory.yaml || -f spec/fixtures/litmus_inventory.yaml ]]; then
buildevents cmd $TRACE_ID $STEP_ID 'rake litmus:tear_down' -- bundle exec rake 'litmus:tear_down'
echo ::group::=== REQUEST ===
cat request.json || true
Expand Down
47 changes: 47 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: "Publish module"

on:
workflow_dispatch:

jobs:
create-github-release:
name: Deploy GitHub Release
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.ref }}
clean: true
fetch-depth: 0
- name: Get Version
id: gv
run: |
echo "::set-output name=ver::$(jq --raw-output .version metadata.json)"
- name: Create Release
uses: actions/create-release@v1
id: create_release
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: "v${{ steps.gv.outputs.ver }}"
draft: false
prerelease: false

deploy-forge:
name: Deploy to Forge
runs-on: ubuntu-20.04
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
ref: ${{ github.ref }}
clean: true
- name: "PDK Build"
uses: docker://puppet/pdk:nightly
with:
args: 'build'
- name: "Push to Forge"
uses: docker://puppet/pdk:nightly
with:
args: 'release publish --forge-token ${{ secrets.FORGE_API_KEY }} --force'
129 changes: 129 additions & 0 deletions .github/workflows/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
name: "Spec Tests"

on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
pull_request:

env:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests

jobs:
setup_matrix:
name: "Setup Test Matrix"
runs-on: ubuntu-20.04
outputs:
spec_matrix: ${{ steps.get-matrix.outputs.spec_matrix }}

steps:
- name: "Honeycomb: Start recording"
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
with:
apikey: ${{ env.HONEYCOMB_WRITEKEY }}
dataset: ${{ env.HONEYCOMB_DATASET }}
job-status: ${{ job.status }}

- name: "Honeycomb: Start first step"
run: |
echo STEP_ID=setup-environment >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: Checkout Source
uses: actions/checkout@v2
if: ${{ github.repository_owner == 'puppetlabs' }}

- name: Activate Ruby 2.7
uses: ruby/setup-ruby@v1
if: ${{ github.repository_owner == 'puppetlabs' }}
with:
ruby-version: "2.7"
bundler-cache: true

- name: Print bundle environment
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
echo ::group::bundler environment
buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
echo ::endgroup::
- name: "Honeycomb: Record Setup Environment time"
if: ${{ github.repository_owner == 'puppetlabs' }}
run: |
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Environment'
echo STEP_ID=Setup-Acceptance-Test-Matrix >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: Setup Spec Test Matrix
id: get-matrix
run: |
if [ '${{ github.repository_owner }}' == 'puppetlabs' ]; then
buildevents cmd $TRACE_ID $STEP_ID matrix_from_metadata -- bundle exec matrix_from_metadata_v2
else
echo "::set-output name=spec_matrix::{}"
fi
- name: "Honeycomb: Record Setup Test Matrix time"
if: ${{ always() }}
run: |
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Setup Test Matrix'
Spec:
name: "Spec Tests (Puppet: ${{matrix.puppet_version}}, Ruby Ver: ${{matrix.ruby_version}})"
needs:
- setup_matrix
if: ${{ needs.setup_matrix.outputs.spec_matrix != '{}' }}

runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix: ${{fromJson(needs.setup_matrix.outputs.spec_matrix)}}

env:
BUILDEVENT_FILE: '../buildevents.txt'
PUPPET_GEM_VERSION: ${{ matrix.puppet_version }}
FACTER_GEM_VERSION: 'https://github.com/puppetlabs/facter#main'

steps:
- run: |
echo "SANITIZED_PUPPET_VERSION=$(echo '${{ matrix.puppet_version }}' | sed 's/~> //g')" >> $GITHUB_ENV
- run: |
echo 'puppet_version=${{ env.SANITIZED_PUPPET_VERSION }}' >> $BUILDEVENT_FILE
- name: "Honeycomb: Start first step"
run: |
echo "STEP_ID=${{ env.SANITIZED_PUPPET_VERSION }}-spec" >> $GITHUB_ENV
echo STEP_START=$(date +%s) >> $GITHUB_ENV
- name: "Honeycomb: Start recording"
uses: puppetlabs/kvrhdn-gha-buildevents@pdk-templates-v1
with:
apikey: ${{ env.HONEYCOMB_WRITEKEY }}
dataset: ${{ env.HONEYCOMB_DATASET }}
job-status: ${{ job.status }}
matrix-key: ${{ env.SANITIZED_PUPPET_VERSION }}

- name: Checkout Source
uses: actions/checkout@v2

- name: "Activate Ruby ${{ matrix.ruby_version }}"
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{matrix.ruby_version}}
bundler-cache: true

- name: Print bundle environment
run: |
echo ::group::bundler environment
buildevents cmd $TRACE_ID $STEP_ID 'bundle env' -- bundle env
echo ::endgroup::
- name: Run Static & Syntax Tests
run: |
buildevents cmd $TRACE_ID $STEP_ID 'static_syntax_checks Puppet ${{ matrix.puppet_version }}, Ruby ${{ matrix.ruby_version }}' -- bundle exec rake syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop
- name: Run parallel_spec tests
run: |
buildevents cmd $TRACE_ID $STEP_ID 'rake parallel_spec Puppet ${{ matrix.puppet_version }}, Ruby ${{ matrix.ruby_version }}' -- bundle exec rake parallel_spec
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,4 @@
.project
.envrc
/inventory.yaml
/spec/fixtures/litmus_inventory.yaml
2 changes: 1 addition & 1 deletion .gitpod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,4 @@ tasks:

vscode:
extensions:
- puppet.puppet-vscode@1.0.0:oSzfTkDf6Cmc1jOjgW33VA==
- puppet.puppet-vscode@1.2.0:f5iEPbmOj6FoFTOV6q8LTg==
3 changes: 3 additions & 0 deletions .pdkignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,9 @@
.project
.envrc
/inventory.yaml
/spec/fixtures/litmus_inventory.yaml
/appveyor.yml
/.editorconfig
/.fixtures.yml
/Gemfile
/.gitattributes
Expand All @@ -42,3 +44,4 @@
/spec/
/.vscode/
/.sync.yml
/.devcontainer/
45 changes: 11 additions & 34 deletions .sync.yml
Original file line number Diff line number Diff line change
@@ -1,41 +1,9 @@
---
".gitlab-ci.yml":
delete: true
".travis.yml":
global_env:
- HONEYCOMB_WRITEKEY="7f3c63a70eecc61d635917de46bea4e6",HONEYCOMB_DATASET="litmus tests"
deploy_to_forge:
enabled: false
branches:
- release
use_litmus: true
litmus:
provision_list:
- travis_deb
- travis_ub
- travis_el7
- travis_el8
- ---travis_el
simplecov: true
notifications:
slack:
secure: >-
bkgukmfDEw0pA7mx0e8UU4p4GmpWL/s7kC5D/3XyqNilYI5SArkAt5MTnwMn7/GSF0JRspcrt3J9Y69lNseE5dDegArlht6D2c5Ad8o0ibrCN7yuz6XVyiODyYf32+w/lzsaTQJ1E/55HgTKJ9Tzk8sPlLsYcSEt2OGm+hR/2AoaLi6M8WSc5fCmTUI7AgLnT95jbDu5ioJkOILGCet47A24MXKR2jNaQ7KYhiQ8xqXPZ3Zp0N/bZuYjDiYEeRbjHWvALyInQVqCytv9aLW5v7tg4IjhkyYrDf4g5XamU2909uyTgHT+M/nuPsScnyEu5YdSWT9RqoAHhADz+7daFcgVtUIN5K8EEaNmA8b/nXrGnSh2S1MJ/D/lbo176oHiKh/KME0/L7+YfCxnyGMaraUcxVjj9FQzBDRDIiyDqJOVe4v0cpkdEuCgJTgaIJ2NLHVmJzgGYTuIp/xV2/zWEgqNxz977ydsPObU0T0MCqpzaFR7a5zj3hsNlGa25bbehDGUyi7MFi6TVQMRYhldiZXydERCFaBbKfOT5xfNNpu3FZmi7t1Tu2sClZFwKW9OachoDI/NFam6+D/Q2nuuAl+p/L5edeF3ciGTjMr9OGZeLqFS/6fUxfM/GP/3bDBzF8RN6gZW5HQdtJkXq5GbpifKsA9gEL4VbPKqNhEtDss=
appveyor.yml:
environment:
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6
HONEYCOMB_DATASET: litmus tests
use_litmus: true
spec_type: spec
matrix_extras:
- RUBY_VERSION: 25-x64
ACCEPTANCE: 'yes'
TARGET_HOST: localhost
- RUBY_VERSION: 25-x64
ACCEPTANCE: 'yes'
TARGET_HOST: localhost
APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017
simplecov: true
delete: true

Gemfile:
optional:
":development":
Expand All @@ -51,3 +19,12 @@ spec/spec_helper.rb:
unmanaged: false
.github/workflows/pr_test.yml:
unmanaged: false
.github/workflows/spec.yml:
checks: 'syntax lint metadata_lint check:symlinks check:git_ignore check:dot_underscore check:test_file rubocop'
unmanaged: false
.github/workflows/release.yml:
unmanaged: false
.github/workflows/auto_release.yml:
unmanaged: false
.travis.yml:
delete: true
Loading