Skip to content

Releases: homebysix/pre-commit-macadmin

Release v1.25.1

Choose a tag to compare

@github-actions github-actions released this 15 Jul 12:18
f185830

Added

  • check-munki-pkgsinfo and check-autopkg-recipes now validate the type of allow_untrusted, icon_hash, installed_size_staged, uninstaller_item_hash, and uninstaller_item_size pkginfo keys. These are set by current Munki 7 code but aren't yet documented on the Munki wiki.

Changed

  • Clarified RELEASING.md on which version to use when preparing a release, since the release workflow auto-bumps setup.py on dev to the next patch version after each release.

Fixed

  • Fixed a bug in generate_autopkg_processor_versions.py that caused argument-introduction versions to be miscalculated for any AutoPkg release with Python 2-only syntax. The regex/tokenizer fallback parser used for those releases only recognized the first key of each input_variables dict, so most arguments were misattributed to whichever later release first became parseable by Python 3's ast module (typically reported as AutoPkg 1.1), causing check-autopkg-recipes to falsely flag long-standing recipes.
  • The release workflow now runs the test suite and requires it to pass before publishing a release.
  • check-autopkg-recipes now reports an invalid MinimumVersion string as a lint error instead of crashing with an uncaught exception.
  • validate_supported_architectures no longer crashes with a TypeError when supported_architectures is present but not a list; the type mismatch is still reported by validate_pkginfo_key_types.

Release v1.25.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 02:42
50336b2

Added

  • New format-autopkg-yaml-recipes hook that tidies AutoPkg YAML recipes by reordering keys and normalizing spacing. Adapted from @grahampugh's plist-yaml-plist.
  • check-munki-pkgsinfo now validates the Munki 7.1 pkginfo keys blocking_applications_manual_quit_only (boolean) and blocking_applications_quit_script (string).
  • check-munki-pkgsinfo now validates the type of description_staged and display_name_staged pkginfo keys.
  • check-munki-pkgsinfo now validates the shebang of blocking_applications_quit_script, consistent with other pkginfo script fields.
  • check-munki-pkgsinfo now warns when pkginfo keys removed in Munki 7 are present (additional_startosinstall_options, copy_local).
  • check-autopkg-recipes includes URLDownloaderPython among the list of downloader processors.
  • check-autopkg-recipes now validates MinimumVersion requirements for core AutoPkg processor arguments using a generated table from AutoPkg release history.
  • check-autopkg-recipes now also validates deprecated and removed core processors dynamically from the generated table.
  • check-autopkg-recipes now recognizes intune, fleet, ws1, and jamfclirunner as known recipe types in processor convention checks (strict mode), and groups jss-upload with jss.

Changed

  • check-autopkg-recipes now errors when encountering removed AutoPkg processors, and warns on deprecated processors. As of AutoPkg 3.0.0, CURLDownloader and CURLTextSearcher are removed.
  • check-munki-pkgsinfo warning messages for removed installer_type and uninstall_method values now say "removed in Munki 7" instead of "deprecated".
  • Simplified and minimized Python code in many hooks and tests.

Fixed

  • Fixed an operator precedence bug in check-jamf-json-manifests that caused spurious type-mismatch errors for default values in props without an explicit type.

Removed

  • Removed the "may be a duplicate import" check from check-munki-pkgsinfo, along with its --warn-on-duplicate-imports flag.

Release v1.24.1

Choose a tag to compare

@github-actions github-actions released this 12 Apr 22:43
8bb0f36

Changed

  • Skipped AutoPkg recipe type convention checks when type is unknown. (#55)
  • Updated release documentation to reflect new automated workflow.
  • Built error handling into release automation workflow.

Release v1.24.0

Choose a tag to compare

@github-actions github-actions released this 12 Apr 20:23
da1f952

Added

  • Automated GitHub Actions workflow for creating releases and bumping versions.

Changed

  • Updated CodeQL workflow to run on main branch instead of master.

v1.23.0

Choose a tag to compare

@homebysix homebysix released this 20 Mar 00:41
5ee621c

Added

  • Added support for minimum AutoPkg version validation for new VariableSetter processor.
  • check-munkiadmin-scripts and check-outset-scripts now support the --valid-shebangs argument for specifying additional valid interpreter paths.

Changed

  • check-munki-pkgsinfo now skips warning about missing packages if a PackageCompleteURL key is set in the pkginfo.

v1.22.1

Choose a tag to compare

@homebysix homebysix released this 03 Feb 20:47
82866b3

Added

  • Added support for minimum AutoPkg version validation for new VariableSetter processor.

Changed

  • check-munki-pkgsinfo now skips warning about missing packages if a PackageCompleteURL key is set in the pkginfo.

v1.22.0

Choose a tag to compare

@homebysix homebysix released this 25 Nov 17:44
b580da9

Changed

  • format-xml-plist hook now uses Python's plistlib instead of macOS's plutil. This enables compatibility with a wider selection of CI/CD runners, including pre-commit.ci.

v1.21.1

Choose a tag to compare

@homebysix homebysix released this 27 Oct 03:11
518108e

Fixed

  • Fixed bug in check-autopkg-recipes that would flag processors as "not conventional" for recipe types that have multiple filename hints. Realistically, this only affected .jamf or .jamf-upload recipe types.

v1.21.0

Choose a tag to compare

@homebysix homebysix released this 21 Sep 20:12
bd76f4a

Added

  • check-munki-pkgsinfo now detects the incorrect key condition and suggests using installable_condition instead.

Changed

  • Renamed internal package from pre_commit_hooks to pre_commit_macadmin_hooks to resolve namespace collision with the official pre_commit_hooks package. (#78)

v1.20.0

Choose a tag to compare

@homebysix homebysix released this 09 Aug 19:24
92d8e26

Added

  • check-autopkg-recipes and check-munki-pkgsinfo now validates that supported_architectures values are set appropriately.
  • In anticipation of Munki 7, check-munki-pkgsinfo validates that version_script is a string starting with a script shebang.
  • check-munki-pkgsinfo now checks for specific deprecated installer_type and uninstall_method values, most of which are detailed here.
  • Added new FindAndReplace core processor version requirements for AutoPkg recipes.

Changed

  • Improvements to check-preference-manifests hook. (#91, thanks to @relgit)
  • check-autopkg-recipes ignores supported_architectures values within Munki pkginfo dictionaries that appear to be AutoPkg recipe substitution variables (e.g. %ARCH%).