Skip to content

Commit da49c83

Browse files
committed
creating shell script to support version history
1 parent 795e9eb commit da49c83

File tree

2 files changed

+37
-0
lines changed

2 files changed

+37
-0
lines changed

.github/workflows/webpage-deploy.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ jobs:
3030
key: gradle-${{ runner.os }}-${{ hashFiles('**/*.gradle.kts', '**/libs.versions.toml') }}
3131
restore-keys: gradle-${{ runner.os }}-
3232

33+
- name: Fetch previous versions from gh-pages
34+
run: bash scripts/dokka-fetch-old-from-pages.sh
35+
3336
- name: Run Dokka build
3437
run: ./gradlew :dokkaGenerate
3538

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#!/bin/bash
2+
3+
set -e
4+
5+
# Download current gh-pages content to a temp location
6+
mkdir -p build/previous-versions/current
7+
git fetch origin gh-pages
8+
git archive origin/gh-pages | tar -x -C build/previous-versions/current
9+
10+
# Move older versions from dokka's 'older' output dir to previous-versions root
11+
if [ -d "build/previous-versions/current/older" ]; then
12+
for version_dir in build/previous-versions/current/older/*/; do
13+
if [ -d "$version_dir" ]; then
14+
version_name=$(basename "$version_dir")
15+
mv "$version_dir" "build/previous-versions/$version_name"
16+
fi
17+
done
18+
rm -rf build/previous-versions/current/older
19+
fi
20+
21+
# Move the current gh-pages version into its own versioned directory
22+
if [ -f "build/previous-versions/current/version.json" ]; then
23+
CURRENT_VERSION=$(grep -o '"version":"[^"]*"' build/previous-versions/current/version.json | cut -d'"' -f4)
24+
if [ -n "$CURRENT_VERSION" ]; then
25+
rm -rf "build/previous-versions/$CURRENT_VERSION"
26+
mv build/previous-versions/current "build/previous-versions/$CURRENT_VERSION"
27+
else
28+
echo "Warning: could not parse version from version.json, skipping current version"
29+
rm -rf build/previous-versions/current
30+
fi
31+
else
32+
echo "Warning: version.json not found in gh-pages, skipping current version"
33+
rm -rf build/previous-versions/current
34+
fi

0 commit comments

Comments
 (0)