Skip to content

Commit b1f0cf2

Browse files
committed
Install pipenv
1 parent 8d248ac commit b1f0cf2

File tree

1 file changed

+14
-106
lines changed

1 file changed

+14
-106
lines changed

.github/workflows/docs.yml

Lines changed: 14 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -29,123 +29,31 @@ jobs:
2929
with:
3030
python-version: '3.10'
3131

32+
- name: Add pipenv
33+
run: pip install pipenv
34+
3235
- name: Install doc build deps
3336
run: |
34-
pipenv --python 3.10 install -e ".[dev]"
35-
pipenv --python 3.10 install -e ".[data]" ".[airflow]" ".[aisystems]"
37+
pipenv --python 3.10 install ".[dev]"
38+
pipenv --python 3.10 install ".[data,airflow,aisystems]"
3639
3740
- name: Build multi-version docs
38-
run: pipenv run sphinx-build -M html source docs_build
41+
run: |
42+
BRANCH=niole.DOM-70876.docs
43+
RELEASE_TAG_PATTERN=niole.DOM-70876.docs
44+
45+
git fetch origin
46+
git fetch origin --tags
47+
48+
pipenv run sphinx-multiversion source docs_build \
49+
-D smv_branch_whitelist=$BRANCH smv_released_pattern=$RELEASE_TAG_PATTERN
3950
4051
- name: Assemble site and landing page
4152
shell: bash
4253
run: |
4354
set -euo pipefail
4455
mkdir -p site
4556
rsync -a docs_build/html/ site/
46-
# Determine latest branch dir (prefer main, else master)
47-
LATEST_BRANCH=""
48-
if [ -d site/main ]; then LATEST_BRANCH="main"; fi
49-
if [ -z "$LATEST_BRANCH" ] && [ -d site/master ]; then LATEST_BRANCH="master"; fi
50-
# Determine stable tag dir (prefer semantic v*, else Release-*)
51-
STABLE_TAG=""
52-
TAG_CANDIDATE=$(git tag -l | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -n1 || true)
53-
if [ -n "$TAG_CANDIDATE" ] && [ -d "site/$TAG_CANDIDATE" ]; then
54-
STABLE_TAG="$TAG_CANDIDATE"
55-
else
56-
TAG_CANDIDATE=$(git tag -l | grep -E '^(Release|release)-[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -n1 || true)
57-
if [ -n "$TAG_CANDIDATE" ] && [ -d "site/$TAG_CANDIDATE" ]; then
58-
STABLE_TAG="$TAG_CANDIDATE"
59-
fi
60-
fi
61-
# Fallbacks if not found
62-
[ -z "$LATEST_BRANCH" ] && LATEST_BRANCH="."
63-
[ -z "$STABLE_TAG" ] && STABLE_TAG="$LATEST_BRANCH"
64-
# Collect available versions (directories with an index.html)
65-
BRANCHES=()
66-
TAGS=()
67-
for d in site/*; do
68-
[ -d "$d" ] || continue
69-
name=$(basename "$d")
70-
[ -f "$d/index.html" ] || continue
71-
if [ "$name" = "main" ] || [ "$name" = "master" ]; then
72-
BRANCHES+=("$name")
73-
elif echo "$name" | grep -Eq '^(v[0-9]+\.[0-9]+\.[0-9]+|(R|r)elease-[0-9]+\.[0-9]+\.[0-9]+)$'; then
74-
TAGS+=("$name")
75-
else
76-
# Unknown grouping; treat as branch-like
77-
BRANCHES+=("$name")
78-
fi
79-
done
80-
# Sort tags in descending version order
81-
if [ ${#TAGS[@]} -gt 0 ]; then
82-
IFS=$'\n' TAGS=($(printf '%s\n' "${TAGS[@]}" | sort -Vr)); unset IFS
83-
fi
84-
85-
# Create a landing page linking to latest, stable, and all versions
86-
cat > site/index.html <<HTML
87-
<!doctype html>
88-
<html lang="en">
89-
<head>
90-
<meta charset="utf-8">
91-
<meta name="viewport" content="width=device-width, initial-scale=1">
92-
<title>python-domino Documentation</title>
93-
<style>
94-
body { font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; padding: 2rem; color: #222; }
95-
h1 { margin-bottom: .25rem; }
96-
p.sub { color: #555; margin-top: 0; }
97-
.grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 1rem; margin-top: 1rem; }
98-
.card { border: 1px solid #e5e5e5; border-radius: 8px; padding: 1rem; }
99-
.btn { display: inline-block; padding: .5rem .75rem; border-radius: 6px; text-decoration: none; color: #fff; background: #2c7be5; }
100-
.btn.secondary { background: #6c757d; }
101-
.muted { color: #666; font-size: .9em; }
102-
.cols { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-top: 2rem; }
103-
@media (min-width: 860px) { .cols { grid-template-columns: 1fr 1fr; } }
104-
ul { margin: .5rem 0 0; padding-left: 1.25rem; }
105-
</style>
106-
</head>
107-
<body>
108-
<h1>python-domino Docs</h1>
109-
<p class="sub">Browse the latest development docs, the latest stable release, or any specific version.</p>
110-
<div class="grid">
111-
<div class="card">
112-
<h3>Latest</h3>
113-
<p class="muted">Built from the default branch.</p>
114-
<p><a class="btn" href="${LATEST_URL}">Open Latest</a></p>
115-
</div>
116-
<div class="card">
117-
<h3>Stable</h3>
118-
<p class="muted">Built from the most recent version tag.</p>
119-
<p><a class="btn secondary" href="${STABLE_URL}">Open Stable</a></p>
120-
</div>
121-
</div>
122-
<div class="cols">
123-
<div class="card">
124-
<h3>Branches</h3>
125-
<ul>
126-
HTML
127-
for name in "${BRANCHES[@]}"; do
128-
echo " <li><a href=\"${name}/\">${name}</a></li>" >> site/index.html
129-
done
130-
cat >> site/index.html <<'HTML'
131-
</ul>
132-
</div>
133-
<div class="card">
134-
<h3>Tags</h3>
135-
<ul>
136-
HTML
137-
for name in "${TAGS[@]}"; do
138-
echo " <li><a href=\"${name}/\">${name}</a></li>" >> site/index.html
139-
done
140-
cat >> site/index.html <<'HTML'
141-
</ul>
142-
</div>
143-
</div>
144-
<p class="muted">You can also switch versions from the menu on any docs page.</p>
145-
</body>
146-
</html>
147-
HTML
148-
14957
- name: Configure Pages
15058
uses: actions/configure-pages@v5
15159

0 commit comments

Comments
 (0)