Puppet Development Kit (PDK) Packaging
This repo contains all the packaging scripts to build the native PDK packages across various platforms.
Promoting and releasing new packages
- Choose the upstream pdk SHA that you want to release. Optionally, follow the pdk's release process to create a public gem release.
- PDK merges to master are automatically promoted into pdk-vanagon with this jenkins job.
- Make sure the correct
ref
andversion
have landed inconfigs/components/rubygem-pdk.json
. - Edit
resources/files/windows/PuppetDevelopmentKit/PuppetDevelopmentKit.psd1
. Update theversion
of this Powershell wrapper to the release version. - Edit
configs/components/pdk-templates.json
. Update theref
to point to the desired SHA from the pdk-templates. - Commit, PR, and merge these changes.
- If you want this to be a long-lived build (e.g. a new release candidate):
- Create a new tag conforming to the scheme
X.Y.Z.N
where X.Y.Z matches the new version of thepdk
gem, and N is the build number for this package, starting with zero ("0"). For example:git tag -s 1.2.3.0 -m 'Release 1.2.3.0'
- Push new tag to upstream puppetlabs/pdk-vanagon repo.
- Create a new tag conforming to the scheme
- Trigger a new build with default params.
- Once the Jenkins jobs are finished, your new packages will appear in builds.delivery.p.n with either the tag you attached to your new commit or the SHA of your
pdk-vanagon
(notpdk
) commit. - Optional: If the packages were tagged with a version, use the S3 ship job to sign and ship the packages to S3. The REF parameter receives the pdk-vanagon tag to ship. RE's CGI script (see RE-9094) will need modifications to pick up the new version.
- After pushing a release to S3, send out a Release Announcement
- Notify symantec about the new version via https://submit.symantec.com/false_positive/ to avoid recurrence of PDK-527
- Celebrate
Promoting changes to puppetlabs/pdk-templates into new packages
- Edit
configs/components/pdk-templates.json
. Update theref
to point to the desired SHA from the pdk-templates.
See https://tickets.puppetlabs.com/browse/PDK-578
Building new packages for any other changes
Local package build
- Clone this repo
- Change the
configs/components/rubygem-pdk.json
to point to the SHA or ref and version you want to test/build. - Change the
configs/components/pdk-templates.json
to point to the SHA or ref and version you want to test/build. bundle install
bundle exec build pdk ubuntu-16.04-amd64,windows-2012r2-x64,el-7-x86_64
For more info see https://github.com/puppetlabs/vanagon