Releases: homebysix/pre-commit-macadmin
v1.17.0
Added
-
New
--warn-on-duplicate-imports
flag for use with Munki pkginfo checks, for Munki administrators who don't care about multiple potential versions of the same pkginfo/pkg in the repository (perhaps because of differingsupported_architectures
or other keys).When this is specified, the pre-commit hook will warn when files with
__1
(and similar) suffixes are seen in the pkgsinfo/pkgs folders. This will enbale pre-commit hooks to pass, as long as there are no other errors. Omitting the--warn-on-duplicate-imports
flag will continue generating an error and failing the hooks, as was the previous behavior. -
Include
SignToolVerifier
andURLDownloaderPython
AutoPkg processors when suggesting minimum versions. -
Updated AutoPkg recipe type convention checking to include new
JamfUpload
processors as well asURLDownloaderPython
andMunkiInfoCreator
. -
Added a suggestion to use Rich Trouton's VariablePlaceholder processor for setting arbitrary environment variables instead of supplying unexpected arguments to existing processors.
Fixed
- Fixed FileWaveImporter processor detection.
v1.16.2
Fixed
- Fixed two bugs in shebang validation that would result in ModuleNotFoundError when running check-munki-pkgsinfo hook.
Removed
- Dropped Python 2 string instance validation. No further support will be provided for Python 2.
Changed
- Added PyUpgrade hook to this repo's own pre-commit linting, in order to ensure modern Python syntax.
- Don't specify
"r"
mode when usingopen()
, as this is the default behavior.
v1.16.1
Added
- New
format-xml-plist
hook to auto-format XML property list (plist) files to use tabs instead of spaces, and will alphabetically sort keys. (#79, thanks to n8felton) - New
--valid-shebangs
parameter to specify additional custom shebangs in use for your environment. Works with thecheck-munki-pkgsinfo
,check-jamf-scripts
,check-jamf-extension-attributes
,check-outset-scripts
, andcheck-munkiadmin-scripts
hooks. (#75, thanks to @kbrewersq) - Checks to ensure the MinimumVersion key in AutoPkg recipes is a string. (If quotes are omitted in yaml-formatted recipes, this key could be interpreted as a float.)
Removed
- No longer warn when using AutoPkg MinimumVersion greater than 2.0.
- Python 2 support deprecated and will be removed in the future.
Changed
- Hook output rewritten to use f-strings instead of
.format()
.
v1.15.0
Added
- Now validates that all XML
<result>
tags are closed in Jamf extension attributes (#76, thanks to @WardsParadox).
Fixed
- Fixed a bug in the
munki-makecatalogs
hook (#72, thanks to @kbrewersq). - Added optional
--munki-repo
parameter tocheck-munki-pkgsinfo
andmunki-makecatalogs
hooks, in order to specify a path to your Munki repo. Useful for situations where the Munki repo is a subdirectory of the Git repo itself. (#73 and #74, thanks to @kbrewersq).
v1.14.1
v1.14.0
Added
check-preference-manifests
hook now outputs more specific error message ifpfm_documentation_url
is empty (#67, thanks to @relgit).check-munki-pkgsinfo
hook now detects path mismatches on case-sensitive filesystems (#66, thanks to @AaronBurchfield).
v1.13.0
v1.12.4
Added
- Added compatibility checks for MunkiOptionalReceiptEditor processor, included in AutoPkg 2.7+.
- Added a
--require-pkg-blocking-apps
argument for thecheck-munki-pkgsinfo
hook. If specified, tests will fail for any pkg installer that does not have ablocking_applications
array (even an empty one). This change maintains the alignment with Munki's design established in 1.12.3 while allowing Munki repo admins flexibility to be stricter in their own environments.
Changed
- Improved compatibility with Munki repos where the pkgsinfo folder is not at the root level. (#63, thanks to @kbrewersq)
v1.12.3
Changed
- Changed check-munki-pkgsinfo to WARN on the absence of the
blocking_applications
array for installers in pkg format, rather than to fail the pre-commit test. This better aligns with Munki's own design, which does not requireblocking_applications
.
Fixed
- Resolved an uncaught exception if the git config email is unset. (#58)
v1.12.2
Changed
- Adjusted preference manifest checks to require
pfm_name
for every preference key except immediate descendants of keys whosepfm_type
isarray
(#54). - Improved preference manifest output to more accurately specify which key or subkey is failing
pfm_name
orpfm_type
checks. - Continued development work on a hook that checks Jamf JSON schema manifests.