Add update docs script to CI (#9219)
* Add update docs script to CI Added a script to CI that will use the jsonrpc tool to update rpc documentation then commit and push those to the wiki repo. * fix gitlab ci lint * Only apply jsonrpc docs update on tags * Update gitlab-rpc-docs.sh * Copy correct parity repo to jsonrpc folder Copy correct parity repo to jsonrpc folder before attempting to build docs since the CI runner clones the repo as parity and not parity-ethereum. * Fix JSONRPC docs CI job Update remote config in wiki repo before pushing changes using a github token for authentication. Add message to wiki tag when pushing changes. Use project directory to correctly copy parity code base into the jsonrpc repo for doc generation. * Fix set_remote_wiki function call in CI
This commit is contained in:
parent
5ed2527663
commit
7abe9ec4cc
@ -2,6 +2,7 @@ stages:
|
||||
- test
|
||||
- push-release
|
||||
- build
|
||||
- docs
|
||||
variables:
|
||||
RUST_BACKTRACE: "1"
|
||||
RUSTFLAGS: ""
|
||||
@ -220,6 +221,15 @@ test-rust-nightly:
|
||||
- rust
|
||||
- rust-nightly
|
||||
allow_failure: true
|
||||
json-rpc-docs:
|
||||
stage: docs
|
||||
only:
|
||||
- tags
|
||||
image: parity/rust:gitlab-ci
|
||||
script:
|
||||
- scripts/gitlab-rpc-docs.sh
|
||||
tags:
|
||||
- docs
|
||||
push-release:
|
||||
stage: push-release
|
||||
only:
|
||||
|
53
scripts/gitlab-rpc-docs.sh
Executable file
53
scripts/gitlab-rpc-docs.sh
Executable file
@ -0,0 +1,53 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
clone_repos() {
|
||||
git clone https://github.com/parity-js/jsonrpc.git jsonrpc
|
||||
git clone https://github.com/paritytech/wiki.git wiki
|
||||
}
|
||||
|
||||
build_docs() {
|
||||
npm install
|
||||
npm run build:markdown
|
||||
}
|
||||
|
||||
update_wiki_docs() {
|
||||
for file in $(ls jsonrpc/docs); do
|
||||
module_name=${file:0:-3}
|
||||
mv jsonrpc/docs/$file wiki/JSONRPC-$module_name-module.md
|
||||
done
|
||||
}
|
||||
|
||||
set_remote_wiki() {
|
||||
git config remote.origin.url "https://${GITHUB_TOKEN}@github.com/paritytech/wiki.git"
|
||||
}
|
||||
|
||||
setup_git() {
|
||||
git config --global user.email "devops@parity.com"
|
||||
git config --global user.name "Devops Parity"
|
||||
}
|
||||
|
||||
commit_files() {
|
||||
git checkout -b rpcdoc-update-${CI_COMMIT_REF_NAME}
|
||||
git add .
|
||||
git commit -m "Update docs to ${CI_COMMIT_REF_NAME}"
|
||||
git tag -a "${CI_COMMIT_REF_NAME}" -m "Updated to ${CI_COMMIT_REF_NAME}"
|
||||
}
|
||||
|
||||
upload_files() {
|
||||
git push --tags
|
||||
}
|
||||
|
||||
PROJECT_DIR=$(pwd)
|
||||
|
||||
setup_git
|
||||
cd ..
|
||||
clone_repos
|
||||
cp -r $PROJECT_DIR jsonrpc/.parity
|
||||
cd jsonrpc
|
||||
build_docs
|
||||
cd ..
|
||||
update_wiki_docs
|
||||
cd wiki
|
||||
set_remote_wiki
|
||||
commit_files
|
||||
upload_files
|
Loading…
Reference in New Issue
Block a user