Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

autopkg does not find Processors in the current working directory #894

Open
jgstew opened this issue Sep 25, 2023 · 1 comment
Open

autopkg does not find Processors in the current working directory #894

jgstew opened this issue Sep 25, 2023 · 1 comment
Assignees
Labels
beta Only for AutoPkg beta releases

Comments

@jgstew
Copy link
Contributor

jgstew commented Sep 25, 2023

THIS IS ONLY INTENDED FOR AUTOPKG BETAS.

Describe the problem
The newest AutoPkg dev branch DOES now find my recipes in the current working directory the way I expect, but it DOES NOT find Processors that exist in the current working directory like it used to IF I run a recipe using a relative path instead of an identifier.

Preferences contents
BE SURE TO SANITIZE ANY SENSITIVE DATA SUCH AS PASSWORDS OR ADDRESSES.

python3 ../autopkg/Code/autopkg info     
/Users/jgstew/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
Current preferences:
{'RECIPE_REPOS': {'/Users/jgstew/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes': {'URL': 'https://github.com/autopkg/hansen-m-recipes'},
                  '/Users/jgstew/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes': {'URL': 'https://github.com/autopkg/homebysix-recipes'}},
 'RECIPE_SEARCH_DIRS': ['.',
                        '~/Library/AutoPkg',
                        '/Library/AutoPkg',
                        '/Users/jgstew/Library/AutoPkg/RecipeRepos/com.github.autopkg.hansen-m-recipes',
                        '/Users/jgstew/Library/AutoPkg/RecipeRepos/com.github.autopkg.homebysix-recipes']}

AutoPkg output
BE SURE TO SANITIZE ANY SENSITIVE DATA SUCH AS PASSWORDS OR ADDRESSES.

python3 ../autopkg/Code/autopkg run -v AutoDarkMode/Windows-Auto-Night-Mode.download.recipe.yaml
/Users/jgstew/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
**load_recipe time: 0.010883733000000007
Processing AutoDarkMode/Windows-Auto-Night-Mode.download.recipe.yaml...
WARNING: AutoDarkMode/Windows-Auto-Night-Mode.download.recipe.yaml is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
Failed.
Receipt written to /tmp/receipts/Windows-Auto-Night-Mode.download.recipe-receipt-20230925-180422.plist

The following recipes failed:
    AutoDarkMode/Windows-Auto-Night-Mode.download.recipe.yaml
        Unknown processor 'com.github.jgstew.SharedProcessors/SharedUtilityMethods'.

Nothing downloaded, packaged or imported.

Expected behavior
I expect it to find the processor defined in the current working directory the same way it does when you run the recipe by identifier. Basically you have to run a recipe by identifier, have autopkg not find it, have it build the current working directory map, and THEN it will find the Processor that it could not find previously.

See this example where it works:

python3 ../autopkg/Code/autopkg run -v com.github.jgstew.download.WindowsAutoDarkMode           
/Users/jgstew/Library/Python/3.9/lib/python/site-packages/urllib3/__init__.py:34: NotOpenSSLWarning: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'LibreSSL 2.8.3'. See: https://github.com/urllib3/urllib3/issues/3020
  warnings.warn(
Looking for com.github.jgstew.download.WindowsAutoDarkMode...
Did not find com.github.jgstew.download.WindowsAutoDarkMode in recipe map
Rebuilding recipe map with current working directories...
Looking for com.github.jgstew.download.WindowsAutoDarkMode...
Found com.github.jgstew.download.WindowsAutoDarkMode in recipe map
**load_recipe time: 1.312794678
Processing com.github.jgstew.download.WindowsAutoDarkMode...
WARNING: com.github.jgstew.download.WindowsAutoDarkMode is missing trust info and FAIL_RECIPES_WITHOUT_TRUST_INFO is not set. Proceeding...
Found com.github.jgstew.SharedProcessors in recipe map
Found com.github.jgstew.SharedProcessors in recipe map
Found com.github.jgstew.SharedProcessors in recipe map
Found com.github.jgstew.SharedProcessors in recipe map
com.github.jgstew.SharedProcessors/SharedUtilityMethods
GitHubReleasesInfoProvider
WARNING: This is an unathenticated Github session, some API features may not work
GitHubReleasesInfoProvider: Matched regex 'AutoDarkModeX_.+\.exe' among asset(s): AutoDarkModeX_10.4.1.1.exe
GitHubReleasesInfoProvider: Selected asset 'AutoDarkModeX_10.4.1.1.exe' from tag '10.4.1.1' at url https://github.com/AutoDarkMode/Windows-Auto-Night-Mode/releases/download/10.4.1.1/AutoDarkModeX_10.4.1.1.exe
com.github.jgstew.SharedProcessors/URLDownloaderPython

If I run the recipe again using the relative path instead of the identifier, the problem comes back immediately.

This is a bit painful for me since I use the relative path to trigger autopkg runs in VSCode.

Version (please complete the following information):

  • OS version: MacOS 13.6
  • AutoPkg Version: 3.0.0 dev branch
@jgstew jgstew added the beta Only for AutoPkg beta releases label Sep 25, 2023
@jgstew
Copy link
Contributor Author

jgstew commented Sep 25, 2023

I think the fix for this would be, if a processor can't be found, then trigger the same build a recipe map for the current directory behavior that happens if a recipe cannot be found by identifier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
beta Only for AutoPkg beta releases
Projects
Status: No status
Development

No branches or pull requests

2 participants