Doctr Changelog¶
1.8.0 (2019-02-01)¶
Major Changes¶
Doctr now supports repos hosted on travis-ci.com (in addition to .org). (#310)
Some notes about travis-ci.com support:
travis-ci.org and travis-ci.com have different public keys for the same repo, so it is necessary for
doctr configureto know which is being used. If you want to move from travis-ci.org to travis-ci.com, you will need to reconfigure.If only one of travis-ci.org or travis-ci.com is enabled,
doctr configurewill automatically configure the repo for that one. If both are enabled, it will ask which one to configure for. You can also use the--travis-tldcommand line flag todoctr configureto specify which one to use.Once configured, there is no difference in the
.travis.ymlfile.If for whatever reason you want to run doctr on both, you can configure each separately, renaming the encrypted files that they generate. Add both secure environment variables to
.travis.yml, and do something likeif [[ $TRAVIS_BUILD_WEB_URL == *"travis-ci.com"* ]]; then doctr deploy --built-docs <built-docs> . --key-path github_deploy_key-com.enc; else doctr deploy --built-docs <built-docs> . --key-path github_deploy_key-org.enc; fi
New
--no-authenticateflag todoctr configure. This disables authentication with GitHub. If GitHub authentication is required (i.e., the repository is private), then it will fail. This flag implies-no-upload-key, which now no longer disables authentication. (#310)Doctr does not attempt to push on Travis builds of forks. Note, this requires using the GitHub API to check if the repo is a fork, which often fails. If it does, the build will error anyway (which can be ignored). You can use Travis conditions if you need a build to not fail on a fork. (#332)
Doctr is now better tested on private repositories. Private repositories now work with both
--tokenand a deploy key (a deploy key the default and is recommended). Note that configuring Travis for a private repository will generate a temporary personal access token on GitHub, and immediately delete it. This is necessary to authenticate with Travis. You will receive an email from GitHub about it. (#337)
Minor Changes¶
1.7.4 (2018-08-19)¶
Major Changes¶
Run a single
git addandgit rmcommand for all the files. This drastically improves the performance of doctr when there are many files that are synced. (#325)Improve the error messaging in
doctr configurewhen the 2FA code expires, and when the GitHub API rate limit is hit. The GitHub API rate limit is shared across all OAuth applications, and is often hit after clicking the “sync account” button on travis-ci.org, especially if you have access to a large number of repos. If this happens, you must wait an hour and rundoctr configureagain. (#320)
Minor Changes¶
Improve error messages when the deploy key isn’t found. (#306)
Doctr doesn’t commit when the most recent commit on the main repo was by doctr. This avoids infinite loops if you accidentally run doctr from the
masterbranch of a.github.ioinstead of a separate branch. See the Using doctr with *.github.io pages recipe. (#318)
1.7.3 (2018-04-16)¶
Minor Changes¶
Use the
cryptographymodule to generate the SSH deploy key instead ofssh-keygen. This makes it possible to rundoctr configureon Windows. (#303)
1.7.2 (2018-02-06)¶
Major Changes¶
Minor Changes¶
Fix
--built-docs .. (#294)
1.7.1 (2018-01-30)¶
Major Changes¶
Cleanup the
doctr configurecode. Output is now color-coded according to its meaning:red: warnings and errors
green: welcome messages (used sparingly)
blue: default values
bold magenta: action items
bold gray: things that should be replaced when copy-pasting
The
doctr configuretext has also been improved. (#289)
Minor Changes¶
1.7.0 (2017-11-21)¶
Major Changes¶
Add support for multiple deploy repos. Thanks @ylemkimon. Note, as a result of this, the default environment variable name on Travis is now
DOCTR_DEPLOY_ENCRYPTION_KEY_ORG_REPOwhereORGandREPOare the GitHub organization and repo, capitalized with special characters replaced with underscores. The default encryption key file is nowdoctr_deploy_key_org_repo.enc, whereorgandrepoare the organization and repo names with special characters replaced with underscores. The old key and file names are still supported for backwards compatibility, and a custom key file name can still be used with the--key-pathflag. (#276 and #280)Add support for deploying to GitHub wikis. Thanks @ylemkimon. The wiki for a GitHub repository is
org/repo.wiki. The deploy key for a wiki is the same as for the repository itself, so if you have already rundoctr configurefor a given repository you do not need to run it again for its wiki. See the recipes page for more information. (#276 and #280)Add support for deploying from tag builds. Tag builds are builds that Travis CI runs on tags pushed up to the repository. See the recipes page for more information. (#225)
Minor Changes¶
Add a global table of contents to the docs sidebar. (#284)
Note in the docs that doctr will make the
gh-pagesbranch for you if it doesn’t exist. Thanks @CJ-Wright. (#235)Print a more helpful error message when the repository check in
doctr configurefails. Thanks @ylemkimon. (#279)
1.6.3 (2017-11-11)¶
Minor Changes¶
1.6.2 (2017-10-20)¶
Minor Changes¶
Fix some typos in the
doctr configureoutput. Thanks @bnaul and @ocefpaf. (#261 and #260)Fix the retry logic for pushing. (#265)
Better messaging when doctr fails because of an error from a command. (#263)
Fix an error when
--commandmakes changes to a file that isn’t synced, and no synced files are actually changed. Note, currently, if--commandadds or changes any files that aren’t the new ones that are synced, they will not be committed unless they are manually added to the index. This should be improved in a future version (see #267). (#266)
1.6.1 (2017-09-27)¶
Minor Changes¶
Revert the change to
--commandfrom 1.6.0 that makes it run on the original branch. If you want to run a command on the original branch, just run it before running doctr.--commandnow runs on the deploy branch, as it did before. This does not revert the other change to--commandfrom 1.6.0 (running withshell=True). (#259)
1.6.0 (2017-09-26)¶
Major Changes¶
Fix pushing to .github.io repos (thanks @danielballan). (#190)
Run
--commandon the original branch, not the deploy branch. (#192)Run
--commandwithshell=True. (#193)Fix
doctr configurefor 2-factor authentication from SMS (thanks @techgaun). (#203)Copy
--built-docsto a temporary directory before syncing. Fixes syncing of committed files. (#215)Only set the git username and password on Travis if they aren’t set already. (#216)
Guess the repo automatically in
doctr configure. (#217)Use
git stashinstead ofgit reset --hardon Travis. Fixes syncing tracked files with changes. (#219)Automatically retry on failure in Travis. Fixes race conditions from pushing from concurrent builds. (#222)
Use the “ours” merge strategy on merge. This should avoid issues when there are merge conflicts on gh-pages from other non-doctr commits. (#232)
Allow
--built-docsto be a file. (#252)
Minor Changes¶
Improve instructions (thanks @choldgraf). (#186)
Skip GitHub tests if no API token is present (#187)
Invalid input won’t kill
doctr configurebut will instead prompt again for valid input. Prevents users from having to go through the whole login rigamarole again. (#181, #188)Make it clearer in the docs that doctr isn’t just for Sphinx. (#196)
Print a red error message when doctr fails. (#239)
Fix some rendering in the docs (thanks @CJ-Wright). (#249)
Fix out of order command output (except when doctr uses a token). Also, print doctr commands in blue. (#250)
1.5.3 (2017-04-07)¶
Fix for
doctr configurecrashing (#179)
1.5.2 (2017-03-29)¶
Fix for bug that prevented deploying using
no-require-master
1.5.1 (2017-03-17)¶
Fix for critical bug that allowed pushing docs from any branch. (#160)
1.5.0 (2017-03-15)¶
The
--gh-pages-docsflag ofdoctr deployhas been deprecated. Specify the deploy directory likedoctr deploy .ordoctr deploy docs. There is also no longer a default deploy directory. (#128)setup_GitHub_pushnow takes abranch_whitelistparameter instead of of arequire_master.travis.ymlcan be used to store some of doctr configuration in addition to the command line flags. Write doctr configuration under thedoctrkey. (#137)All boolean command line flags now have a counterpart that can overwrite the config values set in
.travis.ymldoctrcan now deploy to organization accounts (github.io) (#25)Added
--deploy-branch-nameflag to specify which branch docs will be deployed to
1.4.1 (2017-01-11)¶
Fix Travis API endpoint when checking if a repo exists. (#143)
Add warnings about needing
set -ein.travis.yml. (#146)Explicitly pull from
doctr_remoteon Travis. (#147)Don’t attempt to push
gh-pagesto the remote when pushing is disallowed (e.g., on a pull request). (#150)doctr configurenow deletes the public key automatically. (#151)
1.4.0 (2016-11-11)¶
Set the git
user.emailconfiguration option. This is now required by the latest versions of git. (#138, #139)Add more information to the automated commit messages. (#134)
Run doctr tests on Travis with a personal access token, avoiding rate limiting errors. (#133)
Run all doctr steps except for the push on every build. Add
--no-pushoption. Thanks @Carreau. (#125, #126, #132)Clarify in docs that doctr is not just for Sphinx. (#129, #130)
Use the latest version of sphinxcontrib.autoprogram to build the doctr docs. (#127)
1.3.3 (2016-09-20)¶
Add support for private GitHub repositories using travis-ci.com (thanks @dan-blanchard). (#121)
Add a list of projects using doctr to the docs. (#116)
Use the sphinx-issues extension in the changelog. (#99)
Swap “description” and “long_description” in setup.py. (#120)
1.3.2 (2016-09-01)¶
Major Changes¶
Fix the –built-docs option. (#111)
Minor Changes¶
1.3.1 (2016-08-31)¶
Major Changes¶
Fix a bug that would cause doctr to fail if run on a pull request from a fork. (#101)
1.3 (2016-08-30)¶
Major Changes¶
Remove the
--tmp-dirflag from the command line (doctr now always deploys using a log file). (#92)Python API: Change
commit_docsto actually commit the docs (previously, it was done inpush_docs). (#92)Python API: Don’t sync files or get the build dir in
commit_docs. This is done separately in__main__.py. The Python API forcommit_docsis nowcommit_docs(*, added, removed). (#92)Python API:
sync_from_logautomatically includes the log file in the list of added files. (#92)Support running doctr multiple times in the same build. (#93, #95)
Add
doctr deploy --commandto allow running a command before committing and deploying. (#97)Add
doctr deploy --no-syncto allow disabling syncing (useful withdoctr deploy --command). (#97)
Minor Changes¶
Correctly commit the log file. (#92)
Fix sync_from_log to create dst if it doesn’t exist, and add tests for this. (#92)
Don’t assume that doctr is being run from master when creating gh-pages. (#93)
Return to the previous branch after deploying. (#93)
Remove extra space before options in configure help text. (#90)
1.2 (2016-08-29)¶
Major Changes¶
Allow
--gh-pages-docs .(deploying to the root directory of thegh-pagesbranch). (#73)Allow deploying to a separate repo (via
doctr deploy --deploy-repo <repo>). (#63)Automatically detect Sphinx build directory. (#6)
Add
--no-require-masterflag to allow pushing from branches other than master. (#70)
Minor Changes¶
1.1.1 (2016-08-09)¶
Minor Changes¶
Add installation instructions to the documentation. (#60)
Fix some lingering “Travis docs builder” -> “Doctr”, including in the git attributes on Travis. (#60)
Better error message when the repo doesn’t exist in doctr configure. (#59)
Indicate that repo should be org/reponame in doctr configure. (#59)
1.1 (2016-08-09)¶
Major Changes¶
Minor Changes¶
1.0 (2016-07-22)¶
Major Changes¶
First release. Basic support for configuring doctr to push to Travis (using a token) and deploying to gh-pages from Travis.