autopkg-wrapper 2024.2.4__py3-none-any.whl → 2026.2.6__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- autopkg_wrapper/__init__.py +0 -1
- autopkg_wrapper/autopkg_wrapper.py +254 -157
- autopkg_wrapper/models/recipe.py +139 -0
- autopkg_wrapper/notifier/__init__.py +0 -1
- autopkg_wrapper/notifier/slack.py +2 -2
- autopkg_wrapper/utils/__init__.py +0 -1
- autopkg_wrapper/utils/args.py +151 -15
- autopkg_wrapper/utils/git_functions.py +73 -7
- autopkg_wrapper/utils/recipe_batching.py +41 -0
- autopkg_wrapper/utils/recipe_ordering.py +149 -0
- autopkg_wrapper/utils/report_processor.py +674 -0
- autopkg_wrapper-2026.2.6.dist-info/METADATA +107 -0
- autopkg_wrapper-2026.2.6.dist-info/RECORD +17 -0
- {autopkg_wrapper-2024.2.4.dist-info → autopkg_wrapper-2026.2.6.dist-info}/WHEEL +1 -1
- autopkg_wrapper-2026.2.6.dist-info/entry_points.txt +2 -0
- autopkg_wrapper-2024.2.4.dist-info/METADATA +0 -57
- autopkg_wrapper-2024.2.4.dist-info/RECORD +0 -13
- autopkg_wrapper-2024.2.4.dist-info/entry_points.txt +0 -4
- {autopkg_wrapper-2024.2.4.dist-info → autopkg_wrapper-2026.2.6.dist-info/licenses}/LICENSE +0 -0
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: autopkg-wrapper
|
|
3
|
+
Version: 2026.2.6
|
|
4
|
+
Summary: A package used to execute some autopkg functions, primarily within the context of a GitHub Actions runner.
|
|
5
|
+
Project-URL: Repository, https://github.com/smithjw/autopkg-wrapper
|
|
6
|
+
Author-email: James Smith <james@smithjw.me>
|
|
7
|
+
License-Expression: BSD-3-Clause
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Requires-Python: ~=3.14.0
|
|
10
|
+
Requires-Dist: chardet
|
|
11
|
+
Requires-Dist: idna
|
|
12
|
+
Requires-Dist: jamf-pro-sdk
|
|
13
|
+
Requires-Dist: pygithub
|
|
14
|
+
Requires-Dist: requests
|
|
15
|
+
Requires-Dist: ruamel-yaml
|
|
16
|
+
Requires-Dist: toml
|
|
17
|
+
Requires-Dist: urllib3
|
|
18
|
+
Description-Content-Type: text/markdown
|
|
19
|
+
|
|
20
|
+
# autopkg-wrapper
|
|
21
|
+
|
|
22
|
+
`autopkg_wrapper` is a small package that can be used to run [`autopkg`](https://github.com/autopkg/autopkg) within CI/CD environments such as GitHub Actions.
|
|
23
|
+
|
|
24
|
+
The easiest way to run it is by installing with pip.
|
|
25
|
+
|
|
26
|
+
```shell
|
|
27
|
+
pip install autopkg-wrapper
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
## Command Line Parameters
|
|
31
|
+
|
|
32
|
+
```shell
|
|
33
|
+
-h, --help Show this help message and exit
|
|
34
|
+
--recipe-file RECIPE_FILE Path to a list of recipes to run (cannot be run with --recipes)
|
|
35
|
+
--recipes [RECIPES ...] Recipes to run with autopkg (cannot be run with --recipe-file)
|
|
36
|
+
--recipe-processing-order [RECIPE_PROCESSING_ORDER ...]
|
|
37
|
+
Optional processing order for recipe "types" (suffix segments after the first '.'); supports partial tokens like upload/auto_update; env var AW_RECIPE_PROCESSING_ORDER expects comma-separated values
|
|
38
|
+
--debug Enable debug logging when running script
|
|
39
|
+
--disable-recipe-trust-check If this option is used, recipe trust verification will not be run prior to a recipe run.
|
|
40
|
+
--github-token GITHUB_TOKEN A token used to publish a PR to your GitHub repo if overrides require their trust to be updated
|
|
41
|
+
--branch-name BRANCH_NAME Branch name to be used where recipe overrides have failed their trust verification and need to be updated.
|
|
42
|
+
By default, this will be in the format of "fix/update_trust_information/YYYY-MM-DDTHH-MM-SS"
|
|
43
|
+
--create-pr If enabled, autopkg_wrapper will open a PR for updated trust information
|
|
44
|
+
--create-issues Create a GitHub issue for recipes that fail during processing
|
|
45
|
+
--disable-git-commands If this option is used, git commands won't be run
|
|
46
|
+
--post-processors [POST_PROCESSORS ...]
|
|
47
|
+
One or more autopkg post processors to run after each recipe execution
|
|
48
|
+
--autopkg-prefs AW_AUTOPKG_PREFS_FILE
|
|
49
|
+
Path to the autopkg preferences you'd like to use
|
|
50
|
+
--overrides-repo-path AUTOPKG_OVERRIDES_REPO_PATH
|
|
51
|
+
The path on disk to the git repository containing the autopkg overrides directory. If none is provided, we will try to determine it for you.
|
|
52
|
+
--concurrency CONCURRENCY Number of recipes to run in parallel (default: 1)
|
|
53
|
+
--process-reports Process autopkg report directories or zip and emit markdown summaries (runs after recipes complete)
|
|
54
|
+
--reports-zip REPORTS_ZIP Path to an autopkg_report-*.zip to extract and process
|
|
55
|
+
--reports-extract-dir REPORTS_EXTRACT_DIR
|
|
56
|
+
Directory to extract the zip into (default: autopkg_reports_summary/reports)
|
|
57
|
+
--reports-dir REPORTS_DIR Directory of reports to process (if no zip provided). Defaults to /private/tmp/autopkg when processing after a run
|
|
58
|
+
--reports-out-dir REPORTS_OUT_DIR
|
|
59
|
+
Directory to write markdown outputs (default: autopkg_reports_summary/summary)
|
|
60
|
+
--reports-run-date REPORTS_RUN_DATE
|
|
61
|
+
Run date string to include in the summary
|
|
62
|
+
--reports-strict Exit non-zero if any errors are detected in processed reports
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
## Examples
|
|
66
|
+
|
|
67
|
+
Run recipes (serial):
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
autopkg_wrapper --recipes Foo.download Bar.download
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Run 3 recipes concurrently and process reports afterward:
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
autopkg_wrapper \
|
|
77
|
+
--recipe-file /path/to/recipe_list.txt \
|
|
78
|
+
--concurrency 3 \
|
|
79
|
+
--disable-git-commands \
|
|
80
|
+
--process-reports \
|
|
81
|
+
--reports-out-dir /tmp/autopkg_reports_summary \
|
|
82
|
+
--reports-strict
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Process a reports zip explicitly (no recipe run):
|
|
86
|
+
|
|
87
|
+
```bash
|
|
88
|
+
autopkg_wrapper \
|
|
89
|
+
--process-reports \
|
|
90
|
+
--reports-zip /path/to/autopkg_report-2026-02-02.zip \
|
|
91
|
+
--reports-extract-dir /tmp/autopkg_reports \
|
|
92
|
+
--reports-out-dir /tmp/autopkg_reports_summary
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Notes:
|
|
96
|
+
|
|
97
|
+
- During recipe runs, per‑recipe plist reports are written to `/private/tmp/autopkg`.
|
|
98
|
+
- When `--process-reports` is supplied without `--reports-zip` or `--reports-dir`, the tool processes `/private/tmp/autopkg`.
|
|
99
|
+
- If `AUTOPKG_JSS_URL`, `AUTOPKG_CLIENT_ID`, and `AUTOPKG_CLIENT_SECRET` are set, uploaded package rows are enriched with Jamf package links.
|
|
100
|
+
- No extra CLI flag is required; enrichment runs automatically when all three env vars are present.
|
|
101
|
+
|
|
102
|
+
An example folder structure and GitHub Actions Workflow is available within the [`actions-demo`](actions-demo)
|
|
103
|
+
|
|
104
|
+
## Credits
|
|
105
|
+
|
|
106
|
+
- [`autopkg_tools` from Facebook](https://github.com/facebook/IT-CPE/tree/main/legacy/autopkg_tools)
|
|
107
|
+
- [`autopkg_tools` from Facebook, modified by Gusto](https://github.com/Gusto/it-cpe-opensource/tree/main/autopkg)
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
autopkg_wrapper/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
autopkg_wrapper/autopkg_wrapper.py,sha256=k4V-vEoCLUsUUNRxDh3VdWvxAsDIrYH5aSMMZ0HRlTY,12307
|
|
3
|
+
autopkg_wrapper/models/recipe.py,sha256=xUENrhmCIXN8U86u8HwplSsoxP-vgznJZF_OfhGD9_Y,4891
|
|
4
|
+
autopkg_wrapper/notifier/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
+
autopkg_wrapper/notifier/slack.py,sha256=pUsjwpVfwDSn3c09O3UbdcNtfD98q2fXJ_rKPWvDw7E,1959
|
|
6
|
+
autopkg_wrapper/utils/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
|
+
autopkg_wrapper/utils/args.py,sha256=1uEdjTIuqQQcealiEqihZNAamSDLbU9qBzJ6M-tpsS4,8423
|
|
8
|
+
autopkg_wrapper/utils/git_functions.py,sha256=e7wiUIW8Pu6m4oK0LlH7Vnrvp8XzknwTPYXz-Ekn40o,4893
|
|
9
|
+
autopkg_wrapper/utils/logging.py,sha256=3knpMViO_zAU8WM5bSImQaz5M01vMFk_raB4lt1cbvo,324
|
|
10
|
+
autopkg_wrapper/utils/recipe_batching.py,sha256=13Xw952cUryeymYMICA-ATAQiRdpv89Mn4HK17Mynoo,1051
|
|
11
|
+
autopkg_wrapper/utils/recipe_ordering.py,sha256=v5yn8KAcvOnNuvAL93ZXwkCUlmNnTGo3oNIqpUAF2jk,5974
|
|
12
|
+
autopkg_wrapper/utils/report_processor.py,sha256=TjSvW02Jq62JhsHNmt_JmZCuQwT_x5RfJNfVTmIePrY,22420
|
|
13
|
+
autopkg_wrapper-2026.2.6.dist-info/METADATA,sha256=UlniYyeX0seVYUVeXb76mJbJaAcoICtBkKQfHNyVuoM,5223
|
|
14
|
+
autopkg_wrapper-2026.2.6.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
15
|
+
autopkg_wrapper-2026.2.6.dist-info/entry_points.txt,sha256=TVIcOt7OozzX1c00pwMGbBysaHg_v_N3mO3juoFqPpo,73
|
|
16
|
+
autopkg_wrapper-2026.2.6.dist-info/licenses/LICENSE,sha256=PpNOQjZGcsKFuA0wU16YU7PueVxqPX4OnyZ7TlLQlq4,1602
|
|
17
|
+
autopkg_wrapper-2026.2.6.dist-info/RECORD,,
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: autopkg-wrapper
|
|
3
|
-
Version: 2024.2.4
|
|
4
|
-
Summary: A package used to execute some autopkg functions, primarily within the context of a GitHub Actions runner
|
|
5
|
-
Home-page: https://github.com/smithjw/autopkg-wrapper
|
|
6
|
-
License: BSD-3-Clause
|
|
7
|
-
Author: James Smith
|
|
8
|
-
Author-email: james@smithjw.me
|
|
9
|
-
Requires-Python: >=3.12,<4.0
|
|
10
|
-
Classifier: License :: OSI Approved :: BSD License
|
|
11
|
-
Classifier: Programming Language :: Python :: 3
|
|
12
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
13
|
-
Requires-Dist: chardet (==5.2.0)
|
|
14
|
-
Requires-Dist: idna (==3.6)
|
|
15
|
-
Requires-Dist: pygithub (==2.2.0)
|
|
16
|
-
Requires-Dist: requests (==2.31.0)
|
|
17
|
-
Requires-Dist: ruamel-yaml (==0.18.6)
|
|
18
|
-
Requires-Dist: toml (==0.10.2)
|
|
19
|
-
Requires-Dist: urllib3 (==2.2.0)
|
|
20
|
-
Project-URL: Repository, https://github.com/smithjw/autopkg-wrapper
|
|
21
|
-
Description-Content-Type: text/markdown
|
|
22
|
-
|
|
23
|
-
# autopkg-wrapper
|
|
24
|
-
|
|
25
|
-
`autopkg_wrapper` is a small package that can be used to run [`autopkg`](https://github.com/autopkg/autopkg) within CI/CD environments such as GitHub Actions.
|
|
26
|
-
|
|
27
|
-
The easiest way to run it is by installing with pip.
|
|
28
|
-
|
|
29
|
-
```shell
|
|
30
|
-
pip install autopkg-wrapper
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
## Command Line Parameters
|
|
34
|
-
|
|
35
|
-
```shell
|
|
36
|
-
-h, --help Show this help message and exit
|
|
37
|
-
--recipe-file RECIPE_FILE Path to a list of recipes to run (cannot be run with --recipes)
|
|
38
|
-
--recipes [RECIPES ...] Recipes to run with autopkg (cannot be run with --recipe-file)
|
|
39
|
-
--debug Enable debug logging when running script
|
|
40
|
-
--override-trust If set recipe override trust verification will be disabled. (Default: True)
|
|
41
|
-
--github-token GITHUB_TOKEN A token used to publish a PR to your GitHub repo if overrides require their trust to be updated
|
|
42
|
-
--branch-name BRANCH_NAME Branch name to be used where recipe overrides have failed their trust verification and need to be updated.
|
|
43
|
-
By default, this will be in the format of "fix/update_trust_information/YYYY-MM-DDTHH-MM-SS"
|
|
44
|
-
--create-pr If enabled, autopkg_wrapper will open a PR for updated trust information
|
|
45
|
-
--autopkg-overrides-repo-path AUTOPKG_OVERRIDES_REPO_PATH
|
|
46
|
-
The path on disk to the git repository containing the autopkg overrides directory. If none is provided, we will try to determine it for you.
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
## Example
|
|
50
|
-
|
|
51
|
-
An example folder structure and GitHub Actions Workflow is available within the [`actions-demo`](actions-demo)
|
|
52
|
-
|
|
53
|
-
## Credits
|
|
54
|
-
|
|
55
|
-
- [`autopkg_tools` from Facebook](https://github.com/facebook/IT-CPE/tree/main/legacy/autopkg_tools)
|
|
56
|
-
- [`autopkg_tools` from Facebook, modified by Gusto](https://github.com/Gusto/it-cpe-opensource/tree/main/autopkg)
|
|
57
|
-
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
autopkg_wrapper/__init__.py,sha256=MmNFucd4R7YE8vxBTgy6txaQAviKyV2UklOK2JNjiWs,25
|
|
2
|
-
autopkg_wrapper/autopkg_wrapper.py,sha256=wcB-rnc6YyXGM0E4t8Dksz_Ppw85TXUn6FXEgiXLwx8,7426
|
|
3
|
-
autopkg_wrapper/notifier/__init__.py,sha256=ShXQBVjyiSOHxoQJS2BvNG395W4KZfqMxZWBAR0MZrE,22
|
|
4
|
-
autopkg_wrapper/notifier/slack.py,sha256=nKHeSmgDaTaSUo19ZgnjjjKzeWgg34fMHUwNj9C5FMY,1982
|
|
5
|
-
autopkg_wrapper/utils/__init__.py,sha256=ShXQBVjyiSOHxoQJS2BvNG395W4KZfqMxZWBAR0MZrE,22
|
|
6
|
-
autopkg_wrapper/utils/args.py,sha256=5Nms6mmymI3mOyP969kajDEa2O8CxAvl1Kk-tvNmPhk,2730
|
|
7
|
-
autopkg_wrapper/utils/git_functions.py,sha256=zMMzwRG9V2VFaQk3y_o1H63_hzI1qohwBKaetNDS2mY,2975
|
|
8
|
-
autopkg_wrapper/utils/logging.py,sha256=3knpMViO_zAU8WM5bSImQaz5M01vMFk_raB4lt1cbvo,324
|
|
9
|
-
autopkg_wrapper-2024.2.4.dist-info/LICENSE,sha256=PpNOQjZGcsKFuA0wU16YU7PueVxqPX4OnyZ7TlLQlq4,1602
|
|
10
|
-
autopkg_wrapper-2024.2.4.dist-info/METADATA,sha256=uaf7o9wl_GbuXxNK1T8dDUXeEYAUJcDLymNjJ9n2Bc0,2658
|
|
11
|
-
autopkg_wrapper-2024.2.4.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
|
|
12
|
-
autopkg_wrapper-2024.2.4.dist-info/entry_points.txt,sha256=w9VfrX4aY0ZzJndvzjSI5lLe_sCP2tIq0I5bRLlEKJc,125
|
|
13
|
-
autopkg_wrapper-2024.2.4.dist-info/RECORD,,
|
|
File without changes
|