Closed
Bug 1006918
Opened 11 years ago
Closed 11 years ago
automated push to docs.services.mozilla.com doesn't seem to be updating
Categories
(Infrastructure & Operations Graveyard :: WebOps: Other, task)
Infrastructure & Operations Graveyard
WebOps: Other
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: rfkelly, Assigned: nmaul)
Details
(This may be a return of the issues in Bug 964959, so I'm cc'ing everyone from that bug).
IIRC anything committed to the "production" tag at https://svn.mozilla.org/projects/docs.services.mozilla.com should be deployed onto https://docs.services.mozila.com, but the current version does not seem to be deployed.
The current rev in svn as I see it is:
"""
$ svn info
Path: .
Working Copy Root Path: /home/rfk/repos/mozilla/services/docs.services.mozilla.com
URL: https://rfkelly@svn.mozilla.org/projects/docs.services.mozilla.com
Repository Root: https://rfkelly@svn.mozilla.org
Repository UUID: 4eb1ac78-321c-0410-a911-ec516a8615a5
Revision: 128017
Node Kind: directory
Schedule: normal
Last Changed Author: rkelly@mozilla.com
Last Changed Rev: 127961
Last Changed Date: 2014-05-06 15:48:51 +1000 (Tue, 06 May 2014)
"""
But its contents do not match what's live on the site.
Assignee | ||
Comment 1•11 years ago
|
||
You are correct! It seems to be broken. Here's what it tries to do:
[root@staticadm.private.phx1 docs.services.mozilla.com]# ./build_site.sh
/data/static/src/docs.services.mozilla.com/_git /data/static/src/docs.services.mozilla.com
Already up-to-date.
/data/static/src/docs.services.mozilla.com
/data/static/src/docs.services.mozilla.com/_git /data/static/src/docs.services.mozilla.com
Running Sphinx v1.2.1
Exception occurred:
File "conf.py", line 4, in <module>
ImportError: No module named mozilla_sphinx_theme
The full traceback has been saved in /tmp/sphinx-err-5KYtof.log, if you want to report the issue to the developers.
Please also report this if it was a user error, so that a better error message can be provided next time.
Either send bugs to the mailing list at <http://groups.google.com/group/sphinx-users/>,
or report them in the tracker at <http://bitbucket.org/birkenfeld/sphinx/issues/>. Thanks!
/data/static/src/docs.services.mozilla.com
It appears the build_site.sh script is attempting to verify that some Sphinx packages are installed, then using them to build the actual site. Note this it pulls everything from git, *not* from SVN:
https://github.com/mozilla-services/docs
Interestingly, the build_site.sh script itself is neither in SVN nor in git. It's rather simple:
#!/bin/bash
if [ ! -d "_git" ]; then
git clone https://github.com/mozilla-services/docs _git
else
pushd _git
git pull
popd
fi
if [ ! -d "_git/lib/python2.6/site-packages/sphinx" ]; then
pushd _git
virtualenv --no-site-packages .
bin/pip install Sphinx
bin/pip install sphinxcontrib-seqdiag
popd
fi
pushd _git
bin/sphinx-build -b html -d build/doctrees source ../
popd
Any theories?
Reporter | ||
Comment 2•11 years ago
|
||
Ah, this is new then, I thought we were still deploying from a built version in svn.
The repo actually has its own build logic, something like this might be a bit more robust in the face of changing dependencies:
#!/bin/bash
if [ ! -d "_git" ]; then
git clone https://github.com/mozilla-services/docs _git
else
pushd _git
git pull
popd
fi
pushd _git
make ./venv/bin/sphinx-build
./venv/bin/sphinx-build -b html -d build/doctrees source ../
popd
Reporter | ||
Comment 3•11 years ago
|
||
And to be clear, the "docs.services.mozilla.com" svn repo is no longer involved in this process at all? I'll be quite glad to delete it from my local system.
Comment 4•11 years ago
|
||
The only svn I'm aware of is svn+ssh://svn.mozilla.org/projects/services.mozilla.com/trunk
That one autodeploys to https://services.mozilla.com/
Comment 5•11 years ago
|
||
another option is to just publish to readthedocs and get a CNAME for docs.services.mozilla.com there and stop struggling with this process where we don't know who is in charge... :)
+1 on tarek's suggestion.
Comment 7•11 years ago
|
||
+1000 on that suggestion. I have been hearing about this since 2011
Comment 8•11 years ago
|
||
step #1 is to have our own little server to proxy calls to readthedocs, see https://docs.readthedocs.org/en/latest/alternate_domains.html#cname-ssl
So, Chris, can that be a dev- AWS small box in your opinion ? If so - I am happy to set it up and ping you for changing the CNAME location
Flags: needinfo?(ckolos)
Assignee | ||
Comment 9•11 years ago
|
||
readthedocs sounds fine to me, but that's outside my purview so until that's accepted I'll keep working on fixing the current system.
(In reply to Ryan Kelly [:rfkelly] from comment #2)
> Ah, this is new then, I thought we were still deploying from a built version
> in svn.
>
> The repo actually has its own build logic, something like this might be a
> bit more robust in the face of changing dependencies:
>
>
> #!/bin/bash
>
> if [ ! -d "_git" ]; then
> git clone https://github.com/mozilla-services/docs _git
> else
> pushd _git
> git pull
> popd
> fi
>
> pushd _git
> make ./venv/bin/sphinx-build
> ./venv/bin/sphinx-build -b html -d build/doctrees source ../
> popd
This 'make' ultimately yields:
ImportError: enchant C library not found
Is this looking for the "Enchant" spell checking library, or something else? Spell checking doesn't make much sense to me since this is ultimately a static site... no idea what it would be checking. Is this a new dependency?
Comment 10•11 years ago
|
||
Frankly, this process of pushing to a svn is not robust because it relies on a complex building. readthedocs handles this fine imho, and that's less maintenance for us.
Jake, what do you need to consider this solution accepted ?
Assignee | ||
Comment 11•11 years ago
|
||
Ignore my last... it does indeed appear to be the Enchant spellcheck library... don't know why it's needed, but installing it makes it work. This is now updated... thanks for the improved deploy script.
I see it's changed to a sort of sandstone theme. Nice. :)
This improved deploy mechanism does not use the SVN repo at all... only git. If the SVN repo was used only as an intermediary for this, then you can safely remove it entirely.
I'm going to close this out since the original request is now fulfilled. I do recommend carrying on the readthedocs discussion somewhere, though... that may well be a better solution. I don't have any problem with using that instead, it's just something that'd normally be self-serviced by the project/product owners and not managed by IT, so I wouldn't be the one to set it up or make that sort of decision. FWIW, several other Mozilla webdev projects use it and seem to be happy with the results.
Assignee: server-ops-webops → nmaul
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Comment 12•11 years ago
|
||
oh well - let's have the readthedoc discussion if we hit the issue again ;) Thanks Jake!
Updated•11 years ago
|
Flags: needinfo?(ckolos)
Updated•6 years ago
|
Product: Infrastructure & Operations → Infrastructure & Operations Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•