Skip to content

Commit e8132a2

Browse files
datapythonistajorisvandenbossche
authored andcommitted
CI/DOC: Building the documentation with azure-pipelines (pandas-dev#26648)
1 parent dcba7a5 commit e8132a2

File tree

1 file changed

+62
-1
lines changed

1 file changed

+62
-1
lines changed

azure-pipelines.yml

+62-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ jobs:
2424
# XXX next command should avoid redefining the path in every step, but
2525
# made the process crash as it couldn't find deactivate
2626
#echo '##vso[task.prependpath]$HOME/miniconda3/bin'
27-
echo '##vso[task.setvariable variable=CONDA_ENV]pandas-dev'
2827
echo '##vso[task.setvariable variable=ENV_FILE]environment.yml'
2928
echo '##vso[task.setvariable variable=AZURE]true'
3029
displayName: 'Setting environment variables'
@@ -116,3 +115,65 @@ jobs:
116115
fi
117116
displayName: 'Running benchmarks'
118117
condition: true
118+
119+
- job: 'Docs'
120+
pool:
121+
vmImage: ubuntu-16.04
122+
timeoutInMinutes: 90
123+
steps:
124+
- script: |
125+
echo '##vso[task.setvariable variable=ENV_FILE]ci/deps/travis-36-doc.yaml'
126+
displayName: 'Setting environment variables'
127+
128+
- script: |
129+
export PATH=$HOME/miniconda3/bin:$PATH
130+
sudo apt-get install -y libc6-dev-i386
131+
ci/setup_env.sh
132+
displayName: 'Setup environment and build pandas'
133+
134+
- script: |
135+
export PATH=$HOME/miniconda3/bin:$PATH
136+
source activate pandas-dev
137+
doc/make.py
138+
displayName: 'Build documentation'
139+
140+
- script: |
141+
cd doc/build/html
142+
git init
143+
touch .nojekyll
144+
echo "dev.pandas.io" > CNAME
145+
git add --all .
146+
git config user.email "[email protected]"
147+
git config user.name "pandas-docs-bot"
148+
git commit -m "pandas documentation in master"
149+
displayName: 'Create git repo for docs build'
150+
condition : |
151+
and(not(eq(variables['Build.Reason'], 'PullRequest')),
152+
eq(variables['Build.SourceBranch'], 'refs/heads/master'))
153+
154+
# For `InstallSSHKey@0` to work, next steps are required:
155+
# 1. Generate a pair of private/public keys (i.e. `ssh-keygen -t rsa -b 4096 -C "[email protected]"`)
156+
# 2. Go to "Library > Secure files" in the Azure Pipelines dashboard: https://dev.azure.com/pandas-dev/pandas/_library?itemType=SecureFiles
157+
# 3. Click on "+ Secure file"
158+
# 4. Upload the private key (the name of the file must match with the specified in "sshKeySecureFile" input below, "pandas_docs_key")
159+
# 5. Click on file name after it is created, tick the box "Authorize for use in all pipelines" and save
160+
# 6. The public key specified in "sshPublicKey" is the pair of the uploaded private key, and needs to be set as a deploy key of the repo where the docs will be pushed (with write access): https://github.com/pandas-dev/pandas-dev.github.io/settings/keys
161+
- task: InstallSSHKey@0
162+
inputs:
163+
hostName: 'github.com,192.30.252.128 ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ=='
164+
sshPublicKey: 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDHmz3l/EdqrgNxEUKkwDUuUcLv91unig03pYFGO/DMIgCmPdMG96zAgfnESd837Rm0wSSqylwSzkRJt5MV/TpFlcVifDLDQmUhqCeO8Z6dLl/oe35UKmyYICVwcvQTAaHNnYRpKC5IUlTh0JEtw9fGlnp1Ta7U1ENBLbKdpywczElhZu+hOQ892zqOj3CwA+U2329/d6cd7YnqIKoFN9DWT3kS5K6JE4IoBfQEVekIOs23bKjNLvPoOmi6CroAhu/K8j+NCWQjge5eJf2x/yTnIIP1PlEcXoHIr8io517posIx3TBup+CN8bNS1PpDW3jyD3ttl1uoBudjOQrobNnJeR6Rn67DRkG6IhSwr3BWj8alwUG5mTdZzwV5Pa9KZFdIiqX7NoDGg+itsR39QCn0thK8lGRNSR8KrWC1PSjecwelKBO7uQ7rnk/rkrZdBWR4oEA8YgNH8tirUw5WfOr5a0AIaJicKxGKNdMxZt+zmC+bS7F4YCOGIm9KHa43RrKhoGRhRf9fHHHKUPwFGqtWG4ykcUgoamDOURJyepesBAO3FiRE9rLU6ILbB3yEqqoekborHmAJD5vf7PWItW3Q/YQKuk3kkqRcKnexPyzyyq5lUgTi8CxxZdaASIOu294wjBhhdyHlXEkVTNJ9JKkj/obF+XiIIp0cBDsOXY9hDQ== [email protected]'
165+
sshKeySecureFile: 'pandas_docs_key'
166+
displayName: 'Install GitHub ssh deployment key'
167+
condition : |
168+
and(not(eq(variables['Build.Reason'], 'PullRequest')),
169+
eq(variables['Build.SourceBranch'], 'refs/heads/master'))
170+
171+
- script: |
172+
cd doc/build/html
173+
git remote add origin [email protected]:pandas-dev/pandas-dev.github.io.git
174+
git push -f origin master
175+
exit 0 # FIXME this will leave the build green even if the step fails. To be removed when we are confident with this.
176+
displayName: 'Publish docs to GitHub pages'
177+
condition : |
178+
and(not(eq(variables['Build.Reason'], 'PullRequest')),
179+
eq(variables['Build.SourceBranch'], 'refs/heads/master'))

0 commit comments

Comments
 (0)