* Save docker image hash to consider when auto wiping the environment (#3793)
* Remove obsolete code
Now, we can access `self.config.build_image` directly.
* Move container_image selection to the init
At initialization time we have the project and we already know if the
project has the build image override so we can decide at that point
and save it as a instance attribute.
Then we can use this values from other places inside the same class.
* Save Docker Image hash in readthedocs-environment.json
The hash is used to know if the environment is obsolete and auto-wipe
it if necessary.
* Simplify the class naming
* Save the image hash in the json file
* Lint
* Remove invalid properties from YAML config in tests
* Add test for save_environment_json
* Improve docstring
* Handle obsolete cases better
* when the file is corrupted or we don't have access, we return that
it's OBSOLETE
* when there is a new setting that we need to compare and it's not in
the JSON file, we return OBSOLETE
* Test case for build image in the config but not in the JSON
* Fix up some of the logic around repo and submodule URLs
* Add conditional logic for submodule relative urls
* Break down logic a bit more
* Add test case for relative url submodule
* Broke test case for invalid url submodule
Fixes#3857
* Lint fix
For example:
default environments:
py27 -> run test suite for the application with python2.7
py36 -> run test suite for the application with python3.6
lint -> run linter (prospector) to ensure the source code
corresponds to our coding standards
docs -> build readthedocs documentation
additional environments:
coverage -> run test suite with code coverage for the application with
/usr/bin/python
eslint -> run the JavaScript linter (requires gulp installed)
* Documentation for RTD context sent to the Sphinx theme
* Fix index
* Added version downloads
* Add `pk` and `resource_uri` to be able to retrieve fresh data
* Typos and grammar fixes
* Improve context
* build_date
* HATEOAS for resources
* Add v1 namespace and better explanation about static/dynamic data
* Update context to follow APIv2 reponses
Examples:
* http://readthedocs.org/api/v2/project/{id}/
* http://readthedocs.org/api/v2/version/{id}/
* Add subprojects inside project
* SVN as an option
* Docs: Correct small typo
* Add comment saying where this context comes from
* Re-add VCS documentation file
* Move proposal design under `docs/design/` directory
* Cleanup extra spaces
* Add note about the new design for the theme context
* Update the index
* Remove shared autolint config files
* readthedocs-common submodule added
* Add proper symlinks to all the shared linting config
* Update submodule for unhidden files
* Recover prospector-more.yml since it's specific for this repo