This changelog adheres to Keep a CHANGELOG.
- (RE-11477) Remove support for cisco-wrlinux and eos as those were EOL'd for platform6.
- (RE-13479) Remove support for AIX 6.1
- (PA-3614) Add macOS 11 to platforms
0.99.76 - 2021-03-21
- (PA-3531) Add support for RedHat 8 ppc64le
- (RE-11821) Create a configuration-validation hook after a pl:fetch
puppet-tools
andpuppet-nightly
repositories were missed in the apt path updates.create_link
tasks were initially created under the wrong namespace, these have been moved to under thepl
namespace.- SHA1 signing servers were updated
- (PA-3358) Removed puppet 7 nightly gem rake task
0.99.75 - 2020-12-08
- (PA-3478) add Ubuntu 2004 aarch64 to platform hash
- (PA-3497) accommodate arm64 debian packages for aarch64
0.99.74 - 2020-11-19
- Update bundle installs to use ruby 2.5.1
0.99.73 - 2020-10-28
- (RE-13722) make a semi-revert of the APT repository path changes, labeling them as 'FUTURE' changes in order to coordinate details of the changes better. This change is expected to reappear shortly once the downstream issues are resolved.
0.99.72 - 2020-10-26
- Allow
Pkg::Config.version
to be overridden with thePACKAGING_PACKAGE_VERSION
environment variable.
- Added the
--silent
flag to curl when fetching gem JSON data from rubygems.org. The live download progress/throughput information is noisy and not really helpful when packaging is running in a batch mode. - APT repository paths are changing in puppet7 to allow for new repos for each major puppet version. Updated the pathing calculations for this case.
0.99.71 - 2020-10-02
- Fixed a bug in the regex for debian component from path determination
0.99.70 - 2020-10-01
- Added ability to determine debian component for paths containing 'main'
0.99.69 - 2020-09-21
- (PA-3386) Add support for Redhat 8 aarch64.
0.99.68 - 2020-08-11
- (PA-3356) Add puppet 7 nightly gem rake task
- (RE-13629) Do not use exact file match when downloading final PE tarballs
0.99.67 - 2020-07-20
- (PA-3212) Add support for Fedora 32.
- Pinned the 'csv' gem to 3.1.5 to avoid pulling in a version of stringio that depends on ruby 2.5.
0.99.66 - 2020-07-02
- (RE-13303) Moved rolling repo link creation from the ship tasks
to separate rake tasks -
pl:remote:create_repo_links
andpl:remote:create_nightly_repo_links
- Update
Pkg::Paths::remote_repo_base
to support dmg, msi, and swix packaging types.
0.99.65 - 2020-06-22
- Add 0SX 10.13 platform back, it is not EOL for all projects.
0.99.64 - 2020-06-18
- Do not use exact match when searching for final PE tarballs.
0.99.63 - 2020-06-17
- Artifactory::Util.slice wasn't properly scoped in the
pattern_search
method.
0.99.62 - 2020-06-16
- (RE-13462) Mixins to allow artifactory
search
andchecksum_search
to look for an exact filename.
- (RE-13273) Removed support of PC1 repos. They are obsolete.
- (RE-13177)(RE-13180)(RE-13183)(RE-13186) Removed EOL platforms and updated spec tests accordingly.
- (RE-13386) In
Pkg::Artifactory
deb packages will no longer default to shipping to the 'pool' subdirectory.
0.99.61 - 2020-04-01
- Reverted removal of EOL platforms since it was causing breakage.
0.99.60 - 2020-04-01
- Added parameters to
ManageArtifactory#upload_file
to allow for setting properties and headers after the upload, matching the parameters in Resource::Artifact#upload. - Added platform support for:
- Ubuntu 20.04 'Focal'
- (RE-9687) Set
deb.architecture
correctly in artifactory for noarch packages.
- (RE-13177)(RE-13180)(RE-13183)(RE-13186) Removed EOL platforms and updated spec tests accordingly.
0.99.59 - 2020-03-11
- Added the option to specify a search path to the
download_packages
artifactory method. If packages are found in the correct repositories but not in the search path, they will be copied to the search path.
debian_component_from_path
now supports the master branch.debian_component_from_path
substitutes.
and/
with_
so the components are valid.
0.99.58 - 2020-03-03
- (RE-13163) Updated the signing cert and key filenames for Solaris 11 signing.
0.99.57 - 2020-02-18
- Add
search_with_path
artifactory method to allow you to easily access the Artifactory::Resource::Artifact objects matching your search criteria.
0.99.56 - 2020-02-11
- (RE-13220) Removed noisy informational message when loading
platform_data
0.99.55 - 2020-01-23
- (RE-13191) Fixed issue with the changes to MSI package signing.
0.99.54 - 2020-01-22
- (PA-2995) Add macOS 10.15 to platforms.
- Fixed the way we rsync msi packages to signing server to prevent overwriting.
0.99.53 - 2020-01-15
- (RE-13167) When checking if gem has been published, check platform as well as version.
- (RE-13101) Change warning to hard fail when release-metrics update doesn't work.
0.99.52 - 2019-12-17
- Fixed
link_nightly_shipped_gems_to_latest
task.
0.99.51 - 2019-12-11
- Fixed a typo in the CHANGELOG.md file preventing proper linking.
0.99.50 - 2019-12-11
- Add windowsfips versionless symlinks.
- Add rake task to build nightly gem packages.
- Add rake task to remotely link nightly shipped gems to latest versions.
0.99.49 - 2019-11-19
- Include filename when copying PE tarballs so the parent directory is created.
- Use correct parameter name in Artifactory promotion error message.
- (PDK-1546) Add Fedora 31 to platforms
- Include target directory in output when downloading from Artifactory.
- (RE-13072) Use artifact basename as target filename when downloading from Artifactory and manifest is missing filename metadata.
0.99.48 - 2019-11-12
- (RE-12874) Simplify the logic for setting 'cleanup.skip' for Artifactory artifact directories
- Replace
Pkg::Paths.two_digit_pe_version_from_path
withPkg::Paths.debian_component_from_path
since the method was only being used for setting components and was not working correctly for packages populated to 'release' or 'feature' repos - (RE-12869) Skip shipping gems to downloads.puppet.com, but don't exit or fail,
when
gem_host
orgem_path
is unset.
0.99.47 - 2019-10-22
- Capture debug output when updating release-metrics.
- (RE-12868) Update timestamp server for windows signing.
0.99.46 - 2019-10-14
- Allow Gemfile source to be overridden with
GEM SOURCE
. - (RE-11802) Add
update_release_metrics
task for adding a release to the release-metrics repo.
- Stop testing against Ruby 2.0.0 and 2.1.9.
- Start testing against Ruby 2.6.5.
0.99.45 - 2019-10-08
- (RE-12788) Set
deb.component
property when copying enterprise packages so repos are properly populated.
0.99.44 - 2019-10-03
- (RE-12793) Loosen the dependency on rake to allow packaging to use rake >= 13.0.0 at runtime.
- (RE-12727) Remove reverted packages from artifactory enterprise repositories.
0.99.43 - 2019-10-01
- (RE-12731) Set
cleanup.skip
property when uploading PE tarballs to Artifactory (and unset everwhere else) to ensure that the latest PE tarballs are never purged. - (RE-12734) Add
download_final_pe_tarballs
method for downloading PE tarballs from Artifactory. - (RE-12732) Add
download_beta_pe_tarballs
method for downloading PE Beta tarballs from Artifactory. - (RE-12734) Add
copy_final_pe_tarballs
method for copying PE tarballs to the archives/releases directory on Artifactory. - (RE-12765) Add
pattern_search
method to Artifactory gem. This is a monkey patch that should've been submitted upstream, but, due to Chef's recent contract with ICE, we don't feel comfortable contributing to their codebases at this time. - (RE-12767) Add
populate_pe_repos
method for copying all packages from one PE version into the appropriate directory structure for a new PE version. - (RE-12771) Add
teardown_repo
method for removing all packages that match a given search pattern from a given repo. - (PA-2839) Add support for windowsfips-7-x64.
- Include source path in output when promoting packages in Artifactory.
- Rename
update_latest_file
method toupload_file
to be more generic.
0.99.42 - 2019-09-06
- (RE-12728) Add
update_latest_file
for enterprise repos on artifactory. - (RE-12729) Add
download_artifact
to download artifact from artifactory based on name, repo, and file path. - (PE-16465) Add functionality to create a tarball of all PE platform repos.
0.99.41 - 2019-09-03
- Always ship
.yaml
and.json
files inship_to_artifactory
rake task.
0.99.40 - 2019-08-28
- (RE-12711) Add
package_exists_on_artifactory?
check so we don't re-ship already shipped packages to artifactory.
0.99.39 - 2019-08-20
- Calculate and ship md5sum for packages shipped to artifactory.
- (RE-11765) Remove unused symlinks from the spec directory.
- For the release action, only publish gem if it was a tag that was created.
0.99.38 - 2019-08-13
- (RE-12499) Add
purge_copied_pe_tarballs
function to remove shipped PE packages from artifactory. - Add
test
andrelease
actions for the packaging gem.
0.99.37 - 2019-08-09
- (RE-12605) Add CODEOWNERS file.
- (RE-12499) Add function
download_packages
that uses a provided manifest to download packages from artifactory to a staging directory. - (RE-12499) Add
ship_pe_tarballs
to upload packages to a specified artifactory repo and file path.
0.99.36 - 2019-07-09
- (RE-12520) Fail shipping gems to downloads.puppet.com when
gem_path
is unset. Skip shipping gems to downloads.puppet.com whengem_host
is unset.
0.99.35 - 2019-06-11
- Don't use
set -e
for windows signing. This will let retries work.
0.99.34 - 2019-06-05
- Update the regular expression to skip errors both when a package already exists and when you don't have permissions to overwrite the existing package when deploying to artifactory.
- Add rake tasks to sync yum, apt, and downloads archives individually.
- Don't delete packages from rsync servers so we don't need to stand up additional archive hosts.
0.99.33 - 2019-05-29
- (PA-2678) Add support for Fedora 30.
0.99.32 - 2019-05-21
- (CPR-698) Add
update_archive_yum_repo
andupdate_archive_apt_repo
tasks for updating repo metadata for release-archives.
- (CPR-698) Stage debian packages from the freight directory, rather than from the pool directory, in order to create repo metadata for release-archives.
0.99.31 - 2019-05-13
- (RE-11598) Add
stage_archives
,deploy_staged_archives_to_s3
, andarchive_cleanup
tasks for moving EOL packages to release-archives.
0.99.30 - 2019-04-25
- Add the ability to specify the debian repository component when promoting packages into artifactory.
- (CPR-677) We were not getting
-latest.[dmg|msi]
symlinks for nightly repositories. The code has been updated to account for path differences with nightly repositories.
0.99.29 - 2019-04-17
- (RE-10207) Add
stage_release_packages
andstage_nightly_release_packages
tasks to automatically ship release packages and update symlinks to them.
- (RE-12205) Add retries and additional time servers to MSI signing process.
0.99.28 - 2019-04-11
- Due to incorrect ordering in the checks for
nil?
andempty?
inall_artifact_names
, promotions into artifactory for anything that didn't have additional packages was (softly) failing. This has been fixed.
0.99.27 - 2019-04-10
- Presesrve the original tag to keep the
fedora-f
prefix in the repo config artifact path. We have discontinued the-f
in recent releases but this is still an issue with puppet-agent 1.10.x.
0.99.26 - 2019-04-09
- Ensure existing artifact path is not nil before comparing to additional artifact paths.
0.99.25 - 2019-04-09
- (RE-9511) Record
additional_artifacts
inplatform_data
yaml output for projects that produce multiple packages. - (RE-11105) Add
promote_package
method to promote (i.e. copy) packages to separate enterprise repositories on Artifactory.
0.99.24 - 2019-03-12
- (RE-12062) Copy all the build_metadata*.json files via glob rather than a single static file.
- Update ruby version exclusions for rubocop.
0.99.23 - 2019-01-28
- Check if a specific gem version has already been shipped to rubygems.org before attempting to ship the gem.
0.99.22 - 2019-01-22
- (RE-11984) Add quotes and escape '\d' in the regex used to find the latest version of a particular project.
0.99.21 - 2019-01-08
- (RE-11741) Search for '<project_name>-\d' in order to prevent aggressive matching when determining latest package to symlink to (e.g. prevent 'puppet-agent' from matching a search for 'puppet').
- (RE-11741) Only create '-latest' symlinks if there were packages to ship.
0.99.20 - 2018-12-17
- (PA-2326) Add support for RHEL 8
- (PA-2220) Add support for macOS 10.14 (Mojave)
0.99.19 - 2018-12-13
- Pin artifactory gem to ~> 2, since artifactory 3.0.0 requires ruby >= 2.3.
0.99.18 - 2018-11-28
- (PA-2232) Add support for Fedora 29.
- (RE-11584) Replace
remote_bootstrap
withremote_unpack_git_bundle
, which does the same thing except for actually bootstrapping or bundle installing packaging. Instead of bundle installing in the same method as unpacking the git bundle, we now bundle install as part of the same command as remote rake calls to ensure that all gems are accessible when we need them.
- Remove deprecated
remote_bootstrap
method, since there is no longer anything using the bootstrap method of installing packaging.
0.99.17 - 2018-11-13
- Add
release_package_link_path
method to determine the release package symlink path for a given platform.
- (RE-11291) Improve rsync error message with more detail on how to resolve the error.
- (RE-11714) Update
link_name
method to take an optionalnonfinal
param to determine whether we want therepo_link_target
ornonfinal_repo_link_target
. Previously, we pivoted on the build version, which caused undesired symlink creation when final-tagged builds were shipped to nightlies.
0.99.16 - 2018-10-17
- Sign debian .changes files individually rather than as a glob.
0.99.15 - 2018-10-15
- (RE-11600) Skip signing dmgs and msis if they're already signed.
- Add optional
:key
and:host
params toship_to_rubygems
method to allow shipping to other rubygems hosts (e.g. Artifactory). - Add
ship_to_internal_mirror
method as a wrapper around the newly-updatedship_to_rubygems
method. - Add
nonfinal_gem_path
param to determine where to ship nightly gems. - (RE-11480) Add
ship_nightly_gem
task to ship gems to our internal mirror and to our public nightly repos. - Add support for ubuntu-18.10-amd64 (cosmic).
- Remove
ship_gem_to_internal_mirror
task. This was previously used to ship gems to our internal stickler server, but has been no-op for some time now.
0.99.14 - 2018-09-26
- Signed packages now get rsync'd back to the root directory they were originally staged in.
- Added quotes around the
PACKAGING_LOCATION
environment variable that gets exported during remote bundle installs.
0.99.13 - 2018-09-12
- Don't run
has_sig?
for AIX packages.
0.99.12 - 2018-09-11
- Export
PACKAGING_LOCATION
before doing remote bundle installs. Must be set to a git branch and will fail if set to a local directory.
- Use lowercase boolean constants.
- Move rpm
sign_all
method into Pkg::Sign::Rpm module. - Updates to
has_sig?
for better testing and now checks for short gpg key rather than full.
0.99.11 - 2018-09-04
- (PA-2001) Add support for SLES 15.
- Use packaging gem in uber_build job templates.
0.99.10 - 2018-08-14
- Fix find_tool for Windows.
- Improve error messages for missing build targets.
0.99.9 - 2018-07-31
- Dropped support for Ruby 1.9.3.
- Bumped rake dependency to ~> 12.3.
- Removed unnecessary win32console dependency.
- Fail messages when
project
is unset now includes the correct environment variable to set (PROJECT_OVERRIDE
).
0.99.8 - 2018-07-12
- 64-bit platform architectures are now listed first to maintain consistency when determining platform tag for noarch packages.
- Gem tasks are now always loaded, even without the
build_gem
setting, but gems will only be built whenbuild_gem
is true.
0.99.7 - 2018-06-19
- Remote bundle installs now use Ruby 2.4.1
0.99.6 - 2018-06-11
- '-latest' symlinks for Windows and macOS will now be created for all projects, not just puppet-agent.
- The
uber_ship_lite
task can now ship gems.
0.99.5 - 2018-05-08
- PROJECT_OVERRIDE can now be passed in to allow packaging to run on projects which produce multiple package artifacts.
- Pkg::Tar now archives the working directory by default.
- Updates to remove references to old stickler server.
- Packages promoted to a release branch no longer cause PEZ to fail.
- When shipping packages packaging will now fetch all artifacts instead of relying on the artifacts specified in .yaml so that projects with multiple packages can be shipped together.
0.99.4 - 2018-04-17
- Added platform support for:
- Debian 10 'Buster'
- Ubuntu 18.04 'Bionic'
- Fedora 28
- Added
is_legacy_repo?
helper to determine if files should be shipped to legacy or current path structures. - Added
yum_repo_name
andapt_repo_name
helper methods which allows us to maintain compatibility with projects that don't setPkg::Config.repo_name
but rather setPkg::Config.yum_repo_name
andPkg::Config.apt_repo_name
. - Fail if nonfinal_repo_name is unset for nonfinal repos.
- Added option for user to specify which directory of packages they want to sign.
- Use
tar
labeled nodes to build tarballs - Use
ppc
in AIX artifact paths by updating theparse_platform_tag
function. - Renamed redhat-fips platform to redhatfips.
- Fix nightlies path so we can pass a
nonfinal
variable through when we're working on a nightly ship so we don't need to rely on the magic checking of whether or not this is a final version. - Copy pasta error where we were syncing the latest directory instead of the file.
- Skip tarball signing if signature already exists.
0.99.3 - 2018-03-15
- Initial support added for Puppet Enterprise release branches.
- (CPR-521) When building dmgs, explicitly set the filesystem type to 'HFS+'.
- Some maintenance and cleanup of repository update logic.
- No longer sign noarch packages multiple times.
- Only link noarch packages to supported and tested architecture directories.
- Only update the repository we're shipping to during yum repository updates.
- Some maintenance and cleanup of package shipping logic.
- Some maintenance and cleanup of package signing logic.
- Some maintenance and cleanup of package retrieval logic.
- Update
sign_tar
to sign all retrieved tarballs, not only tarballs for final tagged versions. - Update
sign_gem
to sign all retrieved gems, not only gems for final tagged versions of the expected project name. This is helpful if a single project creates multiple gems. - Fail explicitly if the package signing commands fail.
- Updated to new Solaris 11 signing certs.
0.99.2 - 2018-02-14
FOSS_ONLY
mode was failing to fetch source tarballs.- Fix a few issues relating to using
bundle exec
when calling rake tasks via SSH.
- The
PLATFORM_INFO
hash has added support for Fedora 27.
0.99.1 - 2018-02-06
- Some tidying and maintenance in the gemspec file.
- Platform tag parsing wasn't recognizing tags for sources (el-6-SRPMS or ubuntu-16.04-source for example).
- Updated to use
Pkg::Util::RakeUtils.invoke_task
instead of the deprecatedinvoke_task
. - Use
bundle exec
when calling rake tasks from an SSH session so we can take advantage of packaging being shipped as a gem.
0.99.0 - 2018-01-29
- Packaging no longer needs to be cloned into ext/packaging of whatever project
you're building, it now can be run as a gem! Rather than loading the rake tasks
manually, you can now do
require 'packaging' Pkg::Util::RakeUtils.load_packaging_tasks
- Between the
master
and1.0.x
branches of packaging, there was a major code refactoring to enable a change to the paths we are shipping to. Unfortunately, with the vastness of these changes and the amount of time over which they occurred, we do not have accurate accounting for all of the changes. We attempted to keep backwards compatibility where possible, though we probably missed something. If you want to look more into the change set, it's available here. If you find anything we unintentionally broke, please open a ticket here.
0.6.8 - 2018-08-14
- Remove stickler and nexus configs for gem shipping.
0.6.7 - 2018-07-11
- Retrieving with
FOSS_ONLY=true
now fetches all (non-platform-specific) top-level files.
0.6.6 - 2018-05-08
- Backported
uber_ship_lite
task.
- Pkg::Tar now archives the working directory by default.
- Packages promoted to a release branch no longer cause PEZ to fail
0.6.5 - 2018-04-17
- Added platform support for:
- Debian 10 'Buster'
- Ubuntu 18.04 'Bionic'
- Fedora 28
- Use
tar
labeled nodes to build tarballs. - Renamed redhat-fips platform to redhatfips.
- Skip tarball signing if signature already exists.
0.6.4 - 2018-03-14
- Initial support added for Puppet Enterprise release branches.
- (CPR-521) When building dmgs, explicitly set the filesystem type to 'HFS+'.
- Updated to new Solaris 11 signing certs.
0.6.3 - 2018-02-14
- Use
Pkg::Util::RakeUtils.invoke_task
instead of the deprecatedinvoke_task
.
- Added support for macOS 10.13 (High Sierra) and Fedora 27 to the
PLATFORM_INFO
hash.
0.6.2 - 2018-01-09
- Don't generate repo configs for AIX since AIX doesn't support yum.
- Update default
internal_gem_host
to artifactory instead of stickler.
0.6.1 - 2017-12-12
- Added platform support for:
- el7 aarch64
- Fedora 26
- SLES 12 power8
- Improved 'Getting Started' docs in the README.
- Added automation to help with shipping packages to s3.
- Don't fail if
ext/project_data.yaml
doesn't exist since that is a supplemental file toext/build_defaults.yaml
. - Don't prepend a user if the
osx_signing_server
string already contains a user. - When calculating the deb destination dir, use
codename.to_s
instead ofcodename
in casecodename
isnil
.
- Removed support for the following end-of-life platforms:
- AIX 5.3
- Fedora 24
- Huaweios 6
- Ubuntu 16.10 - Yakkety
- Platform data is now added to the manifest yaml file.
- Added
ppc64le
as an architecture for el-7. - PEZ repo promotion has been enabled for debian packages.
- Started shipping apt, rpm, and downloads to S3 if configured.
- Started shiping metadata from vanagon and ezbake to the builds server if the metadata file exists.
- Adds a
latest
symlink that points to the latest version of a package for osx and windows.
- Default repo paths for rpm have been changed to have the repo name to be the root directory instead of the platform.
- Removes support for end-of-life platforms.