1+ name : Documentation Upload
2+
3+ on :
4+ workflow_dispatch :
5+ inputs :
6+ releaseVersion :
7+ description : " Release version"
8+ required : true
9+
10+ jobs :
11+ build :
12+ runs-on : ubuntu-latest
13+ steps :
14+
15+ - name : Capture release version
16+ run : echo RELEASE_VERSION=${{ github.event.inputs.releaseVersion }} >> $GITHUB_ENV
17+
18+ - name : Checkout source code
19+ 20+
21+ - name : Set up JDK 17
22+ 23+ with :
24+ java-version : ' 17'
25+ distribution : ' temurin'
26+ cache : ' maven'
27+
28+ - name : Capture project version
29+ run : echo PROJECT_VERSION=$(./mvnw help:evaluate -Dexpression=project.version --quiet -DforceStdout) >> $GITHUB_ENV
30+
31+ - name : Update release version
32+ run : |
33+ ./mvnw versions:set -DgenerateBackupPoms=false -DnewVersion=$RELEASE_VERSION
34+ sed -i "s/version: 4.0.0-SNAPSHOT/version: 4.0.0-M1/" spring-shell-docs/antora.yml
35+
36+ - name : Generate Java docs
37+ run : ./mvnw --no-transfer-progress javadoc:aggregate
38+
39+ - name : Generate Reference docs
40+ working-directory : spring-shell-docs
41+ run : ../mvnw --no-transfer-progress resources:resources antora
42+
43+ - name : Setup SSH key
44+ env :
45+ DOCS_SSH_KEY : ${{ secrets.DOCS_SSH_KEY }}
46+ DOCS_SSH_HOST_KEY : ${{ secrets.DOCS_SSH_HOST_KEY }}
47+ run : |
48+ mkdir "$HOME/.ssh"
49+ echo "$DOCS_SSH_KEY" > "$HOME/.ssh/key"
50+ chmod 600 "$HOME/.ssh/key"
51+ echo "$DOCS_SSH_HOST_KEY" > "$HOME/.ssh/known_hosts"
52+
53+ - name : Deploy docs
54+ env :
55+ DOCS_HOST : ${{ secrets.DOCS_HOST }}
56+ DOCS_USERNAME : ${{ secrets.DOCS_USERNAME }}
57+ DOCS_PATH : /opt/www/domains/spring.io/docs/htdocs/spring-shell
58+ run : |
59+ ssh -i $HOME/.ssh/key $DOCS_USERNAME@$DOCS_HOST "cd $DOCS_PATH/docs && mkdir -p $RELEASE_VERSION"
60+ scp -i $HOME/.ssh/key -r target/reports/apidocs $DOCS_USERNAME@$DOCS_HOST:$DOCS_PATH/docs/$RELEASE_VERSION/api
61+
62+ ssh -i $HOME/.ssh/key $DOCS_USERNAME@$DOCS_HOST "cd $DOCS_PATH/reference && mkdir -p $RELEASE_VERSION"
63+ scp -i $HOME/.ssh/key -r spring-shell-docs/target/site/shell/$RELEASE_VERSION $DOCS_USERNAME@$DOCS_HOST:$DOCS_PATH/reference/$RELEASE_VERSION
64+
65+ - name : Bust Cloudflare Cache
66+ uses :
spring-io/spring-doc-actions/[email protected] 67+ with :
68+ context-root : spring-shell
69+ cloudflare-zone-id : ${{ secrets.CLOUDFLARE_ZONE_ID }}
70+ cloudflare-cache-token : ${{ secrets.CLOUDFLARE_CACHE_TOKEN }}
0 commit comments