-
Notifications
You must be signed in to change notification settings - Fork 331
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
Large projects might cause "Argument list too long" error on pre-render scripts #10828
Comments
The only way I can see this happening is that we're passing the list of input files as the I'm not sure how to fix this in a backwards-compatible way. What we need to do for large files is to pass the path of a temporary file that contains the list of input files; but if we do that, we'll break the very many existing pre-render scripts that work just fine. |
Found these on Gitlab. Perhaps it's relevant.
One suggested fix in the second link above is to use a file-type variable. Maybe creating both a |
Also, for avoidance of doubt, if I disable the
I'm not sure what form
That array size, in my case, is
|
The following PR will resolve this problem. Unfortunately, I couldn't come up with a way in which this would be automatically addressed. Instead, Quarto will look for the following environment variables:
Either of these environment variables should be set to a filename in a directory that Quarto has write permissions to. When they are set, Quarto will write the list of files to the file pointed to in the environment variable, rather than setting |
* add docs for the fix described in quarto-dev/quarto-cli#11098 * put docs in the right place
Discussed in #10823
Originally posted by Analect September 17, 2024
Description
I'm hitting this problem with a private gitlab-hosted repo, containing circa 1500 documents that get rendered with quarto. I'm not able to share this set-up, however the approach I'm taking is similar to what is shown publically here, where I'm scraping some document meta-data and pushing this to files in a
data
folder which are then published asresources
in the rendered docs. I'm experimenting with alternative ways to work with the document meta-data and wanted to leverage thepre-render
capability within quarto.The gitlab-runner that is doing the rendering is based on this docker image, a debian 12 OS, with quarto 1.5.57 on-board. If I comment-out the
pre-render
scripts, then things run fine. However, when I enable thescripts/metadata-scrape.py
on the gitlab repo (similar in pattern to this scripts/metadata-scrape.py, only longer to handle custom meta-data), I'm getting thisArgument list too long
error. Can you shed any light on why this might be happening when quarto is handlingpre-render
scripts.Per this, I tried to set a longer command-line buffer with
ulimit -s 65536
on the VM running this dockerized gitlab-runner, but also included in the.gitlab-ci.yml
so that it gets applied within the runner itself (see image above), but none of these have helped.The text was updated successfully, but these errors were encountered: