apache / infrastructure-actions

Apache infrastructure
https://infrastructure.apache.org/
1 stars 3 forks source link

Installing custom requirements.txt must happen before plugin_paths.py #65

Closed janhoy closed 4 months ago

janhoy commented 4 months ago

Thanks for merging #63, I just tested it with Solr, but unfortunately my implementation had a slight bug.

In our site, we import the python module checksumdir in pelicanconf.py. This dependency is declared in requirements.txt.

However, in the action script, the pelican/plugin_paths.py script is ran before we run pip install, so then it fails with

Getting plugins from action location: /home/runner/work/_actions/apache/infrastructure-actions/main/pelican
Traceback (most recent call last):
  File "/home/runner/work/_actions/apache/infrastructure-actions/main/pelican/plugin_paths.py", line 67, in <module>
    main()
  File "/home/runner/work/_actions/apache/infrastructure-actions/main/pelican/plugin_paths.py", line 60, in main
    exec(contents, values) # pylint: disable=exec-used
  File "<string>", line 5, in <module>
ModuleNotFoundError: No module named 'checksumdir'
Error: Process completed with exit code 1.

The solution is to install requirements before parsing pelicanconf.py. Will create a PR.