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

Master is failing after the last dependency update #105

Closed
verdan opened this issue Jun 22, 2021 · 2 comments
Closed

Master is failing after the last dependency update #105

verdan opened this issue Jun 22, 2021 · 2 comments

Comments

@verdan
Copy link

verdan commented Jun 22, 2021

Run mhausenblas/mkdocs-deploy-gh-pages@master
/usr/bin/docker run --name a33c1dba71b14572c4c8b9ac5a6334e2dacee_4c5373 --label 8a33c1 --workdir /github/workspace --rm -e GITHUB_TOKEN -e HOME -e GITHUB_JOB -e GITHUB_REF -e GITHUB_SHA -e GITHUB_REPOSITORY -e GITHUB_REPOSITORY_OWNER -e GITHUB_RUN_ID -e GITHUB_RUN_NUMBER -e GITHUB_RETENTION_DAYS -e GITHUB_ACTOR -e GITHUB_WORKFLOW -e GITHUB_HEAD_REF -e GITHUB_BASE_REF -e GITHUB_EVENT_NAME -e GITHUB_SERVER_URL -e GITHUB_API_URL -e GITHUB_GRAPHQL_URL -e GITHUB_WORKSPACE -e GITHUB_ACTION -e GITHUB_EVENT_PATH -e GITHUB_ACTION_REPOSITORY -e GITHUB_ACTION_REF -e GITHUB_PATH -e GITHUB_ENV -e RUNNER_OS -e RUNNER_TOOL_CACHE -e RUNNER_TEMP -e RUNNER_WORKSPACE -e ACTIONS_RUNTIME_URL -e ACTIONS_RUNTIME_TOKEN -e ACTIONS_CACHE_URL -e GITHUB_ACTIONS=true -e CI=true -v "/var/run/docker.sock":"/var/run/docker.sock" -v "/home/runner/work/_temp/_github_home":"/github/home" -v "/home/runner/work/_temp/_github_workflow":"/github/workflow" -v "/home/runner/work/_temp/_runner_file_commands":"/github/file_commands" -v "/home/runner/work/amundsen/amundsen":"/github/workspace" 8a33c1:dba71b14572c4c8b9ac5a6334e2dacee
WARNING: The directory '/github/home/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting mkdocs==1.1
  Downloading mkdocs-1.1-py2.py3-none-any.whl (6.4 MB)
Collecting mkdocs-material==4.6.3
  Downloading mkdocs_material-4.6.3-py2.py3-none-any.whl (723 kB)
Collecting mkdocs-redirects==1.0.0
  Downloading mkdocs-redirects-1.0.0.tar.gz (4.7 kB)
Requirement already satisfied: click>=3.3 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (8.0.1)
Requirement already satisfied: Markdown>=3.2.1 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (3.3.4)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (3.0.1)
Requirement already satisfied: PyYAML>=3.10 in /usr/local/lib/python3.9/site-packages (from mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (5.4.1)
Collecting lunr[languages]==0.5.6
  Downloading lunr-0.5.6-py2.py3-none-any.whl (36 kB)
Collecting tornado>=5.0
  Downloading tornado-6.1.tar.gz (497 kB)
Collecting livereload>=2.5.1
  Downloading livereload-2.6.3.tar.gz (25 kB)
Requirement already satisfied: Pygments>=2.4 in /usr/local/lib/python3.9/site-packages (from mkdocs-material==4.6.3->-r /github/workspace/requirements.txt (line 2)) (2.9.0)
Requirement already satisfied: pymdown-extensions>=6.3 in /usr/local/lib/python3.9/site-packages (from mkdocs-material==4.6.3->-r /github/workspace/requirements.txt (line 2)) (8.2)
Requirement already satisfied: six>=1.11.0 in /usr/local/lib/python3.9/site-packages (from lunr[languages]==0.5.6->mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (1.16.0)
Collecting future>=0.16.0
  Downloading future-0.18.2.tar.gz (829 kB)
Collecting nltk>=3.2.5
  Downloading nltk-3.6.2-py3-none-any.whl (1.5 MB)
Requirement already satisfied: MarkupSafe>=2.0 in /usr/local/lib/python3.9/site-packages (from Jinja2>=2.10.1->mkdocs==1.1->-r /github/workspace/requirements.txt (line 1)) (2.0.1)
Collecting tqdm
  Downloading tqdm-4.61.1-py2.py3-none-any.whl (75 kB)
Collecting regex
  Downloading regex-2021.4.4.tar.gz (693 kB)
Collecting joblib
  Downloading joblib-1.0.1-py3-none-any.whl (303 kB)
Building wheels for collected packages: mkdocs-redirects, future, livereload, tornado, regex
  Building wheel for mkdocs-redirects (setup.py): started
  Building wheel for mkdocs-redirects (setup.py): finished with status 'done'
  Created wheel for mkdocs-redirects: filename=mkdocs_redirects-1.0.0-py3-none-any.whl size=5186 sha256=1a49b9bc1141a19e10d5593039073cdad05c12d2c998c7a8207e6bcdd1fb130b
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/9f/7e/68/0bab83152a3c29b686f28a1c2ebbf7c27dab44e6d599e39f6a
  Building wheel for future (setup.py): started
  Building wheel for future (setup.py): finished with status 'done'
  Created wheel for future: filename=future-0.18.2-py3-none-any.whl size=491059 sha256=3dd2205ecf14900d4d4a488c31be3112588a1d71c7b6ff6f24447d66f373d4af
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/2f/a0/d3/4030d9f80e6b3be787f19fc911b8e7aa462986a40ab1e4bb94
  Building wheel for livereload (setup.py): started
  Building wheel for livereload (setup.py): finished with status 'done'
  Created wheel for livereload: filename=livereload-2.6.3-py2.py3-none-any.whl size=24713 sha256=ac98617c1892e947d00a19a86df90cf14f36bb732dc9f3bb2f9d7f39298f3683
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/2a/a6/91/40395ea3d02fd9244dc79b039776bb45a4c86560b117a8c09c
  Building wheel for tornado (setup.py): started
  Building wheel for tornado (setup.py): finished with status 'done'
  Created wheel for tornado: filename=tornado-6.1-cp39-cp39-linux_x86_64.whl size=414477 sha256=a913b9cae5c43f16f287562dafd3678680bc28f05c6100ae961b5d19a2766274
  Stored in directory: /tmp/pip-ephem-wheel-cache-_gvakssf/wheels/e6/6b/c3/dbb71bdabdc4681fb3cdf364f2c969f39ebc13c1a512cf6e43
  Building wheel for regex (setup.py): started
  Building wheel for regex (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-f7emy31e
       cwd: /tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/
  Complete output (18 lines):
  running bdist_wheel
  running build
  running build_py
  creating build
  creating build/lib.linux-x86_64-3.9
  creating build/lib.linux-x86_64-3.9/regex
  copying regex_3/__init__.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/regex.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.9/regex
  copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.9/regex
  warning: build_py: byte-compiling is disabled, skipping.
  
  running build_ext
  building 'regex._regex' extension
  creating build/temp.linux-x86_64-3.9
  creating build/temp.linux-x86_64-3.9/regex_3
  gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.9/regex_3/_regex.o
  error: command 'gcc' failed: No such file or directory
  ----------------------------------------
  ERROR: Failed building wheel for regex
  Running setup.py clean for regex
Successfully built mkdocs-redirects future livereload tornado
Failed to build regex
Installing collected packages: tqdm, regex, joblib, future, tornado, nltk, lunr, livereload, mkdocs, mkdocs-redirects, mkdocs-material
    Running setup.py install for regex: started
    Running setup.py install for regex: finished with status 'error'
    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dzbg4_cr/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/regex
         cwd: /tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/
    Complete output (18 lines):
    running install
    running build
    running build_py
    creating build
    creating build/lib.linux-x86_64-3.9
    creating build/lib.linux-x86_64-3.9/regex
    copying regex_3/__init__.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/regex.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/_regex_core.py -> build/lib.linux-x86_64-3.9/regex
    copying regex_3/test_regex.py -> build/lib.linux-x86_64-3.9/regex
    warning: build_py: byte-compiling is disabled, skipping.
    
    running build_ext
    building 'regex._regex' extension
    creating build/temp.linux-x86_64-3.9
    creating build/temp.linux-x86_64-3.9/regex_3
    gcc -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -DTHREAD_STACK_SIZE=0x100000 -fPIC -I/usr/local/include/python3.9 -c regex_3/_regex.c -o build/temp.linux-x86_64-3.9/regex_3/_regex.o
    error: command 'gcc' failed: No such file or directory
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"'; __file__='"'"'/tmp/pip-install-kgij520k/regex_0ae05237f46f45bbb4ebeb7e46c2c538/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dzbg4_cr/install-record.txt --single-version-externally-managed --compile --install-headers /usr/local/include/python3.9/regex Check the logs for full command output.
thekaveman added a commit to cal-itp/transitstacks that referenced this issue Jun 22, 2021
mhausenblas/mkdocs-deploy-gh-pages needs a requirements file, else it
tries to install the repo-level requirements, which typically are not
needed for the docs site, see:
mhausenblas/mkdocs-deploy-gh-pages#53

introduce requirements file specific to the docs site, fixing an issue
with trying to install the dev-requirements.txt

the underlying issue was with trying to install black into the Docker
image used by this GitHub Action (squidfunk/mkdocs-material:7.1.8), see:
https://github.com/mhausenblas/mkdocs-deploy-gh-pages/blob/master/Dockerfile

recent versions of black depend on regex, which has a history of trouble
with Linux wheel availability and support

* psf/black#1207
* https://bitbucket.org/mrabarnett/mrab-regex/issues/343/wheel-for-linux
* https://bitbucket.org/mrabarnett/mrab-regex/issues/349/no-module-named-regex_regex-regex-is-not-a

the Docker image does not have gcc available; rather than installing a
build chain to build regex to enable the install of black, which isn't
even used by the docs site, the simpler fix was to create a
docs/requirements.txt and point the GitHub Action at it instead

similar report on the Action repo:
mhausenblas/mkdocs-deploy-gh-pages#105
@thekaveman
Copy link

I came across this issue while working on a mkdocs deployment - it goes deep 😉 More details of my case are in cal-itp/transitstacks#4.

My guess is the same thing is happening for you @verdan: you have a requirements.txt that this GitHub action is installing (see #53). That requirements file has a direct or indirect dependency on regex (in my case, it was via black). You can see the failure in your output is when this GitHub Action's Docker image tries to build the regex wheel from .tar.gz source:

Collecting regex
  Downloading regex-2021.4.4.tar.gz (693 kB)

...

Building wheel for regex (setup.py): started
Building wheel for regex (setup.py): finished with status 'error'

My workaround (in the linked PR) was to create a new requirements.txt specifically for the mkdocs deployment, and point this action at it instead.

@verdan
Copy link
Author

verdan commented Jun 23, 2021

thank you for your answer @thekaveman .
In my case the issue was the versions I had in my requirements.txt were pretty old and did not work with the latest squidfunk/mkdocs-material:7.1.8.
I updated my versions of mkdocs and mkdocs-material to latest and this fixed the issue.

@verdan verdan closed this as completed Jun 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants