-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* CLoud CI Conversion, no acceptance workflows for now
- Loading branch information
1 parent
2ab5d97
commit 69e848b
Showing
19 changed files
with
778 additions
and
201 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// 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 | ||
{ | ||
"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", | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
name: "Auto release" | ||
|
||
on: | ||
schedule: | ||
- cron: '0 3 * * 6' | ||
workflow_dispatch: | ||
|
||
env: | ||
HONEYCOMB_WRITEKEY: 7f3c63a70eecc61d635917de46bea4e6 | ||
HONEYCOMB_DATASET: litmus tests | ||
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
jobs: | ||
auto_release: | ||
name: "Automatic release prep" | ||
runs-on: ubuntu-20.04 | ||
|
||
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="auto-release" >> $GITHUB_ENV | ||
echo STEP_START=$(date +%s) >> $GITHUB_ENV | ||
- name: "Checkout Source" | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
persist-credentials: false | ||
|
||
- name: "PDK Release prep" | ||
uses: docker://puppet/iac_release:ci | ||
with: | ||
args: 'release prep --force' | ||
env: | ||
CHANGELOG_GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
|
||
- name: "Get Version" | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
id: gv | ||
run: | | ||
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 "${{ 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 }}" | ||
- name: Create Pull Request | ||
id: cpr | ||
uses: puppetlabs/peter-evans-create-pull-request@v3 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
commit-message: "Release prep v${{ steps.gv.outputs.ver }}" | ||
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) 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 | ||
if: ${{ github.repository_owner == 'puppetlabs' }} | ||
run: | | ||
echo "Pull Request Number - ${{ steps.cpr.outputs.pull-request-number }}" | ||
echo "Pull Request URL - ${{ steps.cpr.outputs.pull-request-url }}" | ||
- name: "Honeycomb: Record finish step" | ||
if: ${{ always() }} | ||
run: | | ||
buildevents step $TRACE_ID $STEP_ID $STEP_START 'Finished auto release workflow' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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:2.1.0.0 | ||
with: | ||
args: 'build' | ||
- name: "Push to Forge" | ||
uses: docker://puppet/pdk:2.1.0.0 | ||
with: | ||
args: 'release publish --forge-token ${{ secrets.FORGE_API_KEY }} --force' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,128 @@ | ||
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 }} | ||
|
||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -25,3 +25,4 @@ | |
.project | ||
.envrc | ||
/inventory.yaml | ||
/spec/fixtures/litmus_inventory.yaml |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
FROM gitpod/workspace-full | ||
RUN sudo wget https://apt.puppet.com/puppet-tools-release-bionic.deb && \ | ||
wget https://apt.puppetlabs.com/puppet6-release-bionic.deb && \ | ||
sudo dpkg -i puppet6-release-bionic.deb && \ | ||
sudo dpkg -i puppet-tools-release-bionic.deb && \ | ||
sudo apt-get update && \ | ||
sudo apt-get install -y pdk zsh puppet-agent && \ | ||
sudo apt-get clean && \ | ||
sudo rm -rf /var/lib/apt/lists/* | ||
RUN sudo usermod -s $(which zsh) gitpod && \ | ||
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" && \ | ||
echo "plugins=(git gitignore github gem pip bundler python ruby docker docker-compose)" >> /home/gitpod/.zshrc && \ | ||
echo 'PATH="$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/puppetlabs/bin:/opt/puppetlabs/puppet/bin"' >> /home/gitpod/.zshrc && \ | ||
sudo /opt/puppetlabs/puppet/bin/gem install puppet-debugger hub -N && \ | ||
mkdir -p /home/gitpod/.config/puppet && \ | ||
/opt/puppetlabs/puppet/bin/ruby -r yaml -e "puts ({'disabled' => true}).to_yaml" > /home/gitpod/.config/puppet/analytics.yml | ||
RUN rm -f puppet6-release-bionic.deb puppet-tools-release-bionic.deb | ||
ENTRYPOINT /usr/bin/zsh |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
image: | ||
file: .gitpod.Dockerfile | ||
|
||
tasks: | ||
- init: pdk bundle install | ||
|
||
vscode: | ||
extensions: | ||
- puppet.puppet-vscode@1.2.0:f5iEPbmOj6FoFTOV6q8LTg== |
Oops, something went wrong.