Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[docs] Add 'yarn dev-docs' for managing and starting dev docs #132647

Merged
merged 5 commits into from
May 20, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@
"cover:report": "nyc report --temp-dir target/kibana-coverage/functional --report-dir target/coverage/report --reporter=lcov && open ./target/coverage/report/lcov-report/index.html",
"debug": "node --nolazy --inspect scripts/kibana --dev",
"debug-break": "node --nolazy --inspect-brk scripts/kibana --dev",
"dev-docs": "scripts/dev_docs.sh",
"docs:acceptApiChanges": "node --max-old-space-size=6144 scripts/check_published_api_changes.js --accept",
"es": "node scripts/es",
"preinstall": "node ./preinstall_check",
Expand Down
103 changes: 103 additions & 0 deletions scripts/dev_docs.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
#!/bin/bash
set -euo pipefail

KIBANA_DIR=$(cd "$(dirname "$0")"/.. && pwd)
WORKSPACE=$(cd "$KIBANA_DIR/.." && pwd)/kibana-docs
export NVM_DIR="$WORKSPACE/.nvm"

DOCS_DIR="$WORKSPACE/docs.elastic.dev"

# These are the other repos with docs currently required to build the docs in this repo and not get errors
# For example, kibana docs link to docs in these repos, and if they aren't built, you'll get errors
DEV_DIR="$WORKSPACE/dev"
TEAM_DIR="$WORKSPACE/kibana-team"

cd "$KIBANA_DIR"
origin=$(git remote get-url origin || true)
GIT_PREFIX="git@github.com:"
if [[ "$origin" == "https"* ]]; then
GIT_PREFIX="https://github.com/"
fi

mkdir -p "$WORKSPACE"
cd "$WORKSPACE"

if [[ ! -d "$NVM_DIR" ]]; then
echo "Installing a separate copy of nvm"
git clone https://github.com/nvm-sh/nvm.git "$NVM_DIR"
cd "$NVM_DIR"
git checkout "$(git describe --abbrev=0 --tags --match "v[0-9]*" "$(git rev-list --tags --max-count=1)")"
cd "$WORKSPACE"
fi
source "$NVM_DIR/nvm.sh"

brianseeders marked this conversation as resolved.
Show resolved Hide resolved
if [[ ! -d "$DOCS_DIR" ]]; then
echo "Cloning docs.elastic.dev repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/docs.elastic.dev.git"
else
cd "$DOCS_DIR"
git pull
cd "$WORKSPACE"
fi

if [[ ! -d "$DEV_DIR" ]]; then
echo "Cloning dev repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/dev.git"
else
cd "$DEV_DIR"
git pull
cd "$WORKSPACE"
fi

if [[ ! -d "$TEAM_DIR" ]]; then
echo "Cloning kibana-team repo..."
git clone --depth 1 "${GIT_PREFIX}elastic/kibana-team.git"
else
cd "$TEAM_DIR"
git pull
cd "$WORKSPACE"
fi

# The minimum sources required to build kibana docs
cat << EOF > "$DOCS_DIR/sources-dev.json"
{
"sources": [
{
"type": "file",
"location": "$KIBANA_DIR"
},
{
"type": "file",
"location": "$DEV_DIR"
},
{
"type": "file",
"location": "$TEAM_DIR"
}
]
}
EOF

cd "$DOCS_DIR"
nvm install

if ! which yarn; then
npm install -g yarn
fi

yarn

if [[ ! -d .docsmobile ]]; then
yarn init-docs
fi

echo ""
echo "The docs.elastic.dev project is located at:"
echo "$DOCS_DIR"
echo ""

if [[ "${1:-}" ]]; then
yarn "$@"
else
yarn dev
fi