Update Workflows for build docs and javadocs (#2143)

* Build Docs and Java Docs

* Update build preview and release workflows

Adds javadocs push
Adjusts docs for preview and release

* Improve scripts
This commit is contained in:
Dave Fisher 2025-01-13 14:03:25 -08:00 committed by GitHub
parent 15a471d79f
commit d3f7033528
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 194 additions and 130 deletions

View File

@ -64,6 +64,16 @@ jobs:
# name: nb-logs
# path: logfiles.tgz
- name: generate javadoc
run: mvn javadoc:aggregate-jar
continue-on-error: false
- name: upload javadoc
uses: actions/upload-artifact@v4
with:
name: javadocs
path: target/nosqlbench-*-javadoc.jar
- name: export docs
if: success()
run: nb5/target/nb5 export-docs
@ -91,11 +101,11 @@ jobs:
uses: actions/download-artifact@v4
with:
name: exported-docs
path: build-docs
- name: overlay docs changes and push
run: |
set -x
mv exported_docs.zip build-docs/.
cd build-docs
./doimport.sh
rm exported_docs.zip
@ -109,3 +119,37 @@ jobs:
git commit -m"docs update for $GITHUB_REF"
git push
fi
javadocs:
needs: builddocs
runs-on: ubuntu-22.04
if: ${{ github.repository == 'nosqlbench/nosqlbench' && github.event_name == 'pull_request' && github.ref_name == 'main' }}
steps:
- name: checkout javadocs
uses: actions/checkout@v4
with:
repository: nosqlbench/nosqlbench-javadocs
path: javadocs
- name: download javadocs
uses: actions/download-artifact@v4
with:
name: javadocs
path: javadocs
- name: overlay javadocs changes and push
run: |
set -x
git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
git config --global user.name "${{ secrets.NBDROID_NAME }}"
cd javadocs
./refresh.sh snapshot
git add .
CHANGES=$(git status --porcelain 2>/dev/null| wc -l)
echo "found $CHANGES to push for javadocs updates"
if (( $CHANGES > 0 ))
then
git commit -m"javadocs update for $GITHUB_REF"
git push
fi

View File

@ -49,13 +49,6 @@ jobs:
- name: install fuse2
run: sudo apt install libfuse2
# - name: Cache Maven packages
# uses: actions/cache@v4
# with:
# path: ~/.m2
# key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
# restore-keys: ${{ runner.os }}-m2
- name: read versions
id: versions
run: |
@ -108,15 +101,15 @@ jobs:
name: binaries
path: staging
# - name: generate javadoc
# run: mvn javadoc:aggregate-jar
# continue-on-error: false
#
# - name: upload javadoc
# uses: actions/upload-artifact@v3
# with:
# name: javadoc
# path: target/nosqlbench-*-javadoc.jar
- name: generate javadoc
run: mvn javadoc:aggregate-jar
continue-on-error: false
- name: upload javadoc
uses: actions/upload-artifact@v4
with:
name: javadocs
path: target/nosqlbench-*-javadoc.jar
- name: prepare release summary
id: prepare_summary
@ -213,36 +206,65 @@ jobs:
run: |
echo "PREVIEW_VERSION=${{ needs.preview-build.outputs.preview_version }}" >> $GITHUB_ENV
echo "DOCKER_TAGS=${{ needs.preview-build.outputs.docker_tags }}" >> $GITHUB_ENV
- name: clone nosqlbench-build-docs
run: |
git clone https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-build-docs.git nosqlbench-build-docs
cd nosqlbench-build-docs
echo "files listing"
find .
git remote set-url origin https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-build-docs.git
git remote -v
- name: set CNAME
run: |
echo "builddocs.nosqlbench.io" > nosqlbench-build-docs/site/static/CNAME
- name: checkout build docs
uses: actions/checkout@v4
with:
repository: nosqlbench/nosqlbench-build-docs
path: build-docs
- name: commit changes
run: |
cd nosqlbench-build-docs
git add exported_docs.zip
- name: download exported_docs
uses: actions/download-artifact@v4
with:
name: exported-docs
path: build-docs
- name: tag-preview-build
run: |
cd nosqlbench-build-docs
git tag -f ${{ env.PREVIEW_VERSION }}
- name: overlay docs changes and push
run: |
set -x
cd build-docs
./doimport.sh
rm exported_docs.zip
git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
git config --global user.name "${{ secrets.NBDROID_NAME }}"
git add .
git tag -f ${{ env.PREVIEW_VERSION }}
git commit -m"docs update for ${{ env.PREVIEW_VERSION }}"
git push
- name: push changes
env:
NBDROID_NAME: ${{ secrets.NBDROID_NAME }}
NBDROID_TOKEN: ${{ secrets.NBDROID_TOKEN }}
run: |
set -x
cd nosqlbench-build-docs
CHANGES=$(git status --porcelain 2>/dev/null| wc -l)
git push -f --tags
echo "push completed"
javadocs:
needs: preview-docs
runs-on: ubuntu-22.04
steps:
- name: import env vars
run: |
echo "PREVIEW_VERSION=${{ needs.preview-build.outputs.preview_version }}" >> $GITHUB_ENV
echo "DOCKER_TAGS=${{ needs.preview-build.outputs.docker_tags }}" >> $GITHUB_ENV
- name: checkout javadocs
uses: actions/checkout@v4
with:
repository: nosqlbench/nosqlbench-javadocs
path: javadocs
- name: download javadocs
uses: actions/download-artifact@v4
with:
name: javadocs
path: javadocs
- name: overlay javadocs changes and push
run: |
set -x
git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
git config --global user.name "${{ secrets.NBDROID_NAME }}"
cd javadocs
./refresh.sh preview
git add .
CHANGES=$(git status --porcelain 2>/dev/null| wc -l)
echo "found $CHANGES to push for javadocs updates"
if (( $CHANGES > 0 ))
then
git commit -m"javadocs update for ${{ env.PREVIEW_VERSION }}"
git push
fi

View File

@ -15,11 +15,13 @@ on:
tags:
- "[0-9]+.[0-9]+.[0-9]+-release"
jobs:
release-build:
runs-on: ubuntu-22.04
outputs:
release_version: ${{ steps.versions.outputs.RELEASE_VERSION }}
release_version_numeric: ${{ steps.versions.outputs.RELEASE_VERSION_NUMERIC }}
docker_tags: ${{ steps.versions.outputs.DOCKER_TAGS }}
steps:
- name: checkout repo
@ -58,6 +60,7 @@ jobs:
restore-keys: ${{ runner.os }}-m2
- name: read versions
id: versions
run: |
set -x
RELEASE_VERSION=$(scripts/get-release-version.sh)
@ -107,15 +110,15 @@ jobs:
name: binaries
path: staging
# - name: generate javadoc
# run: mvn javadoc:aggregate-jar
# continue-on-error: false
#
# - name: upload javadoc
# uses: actions/upload-artifact@v4
# with:
# name: javadoc
# path: target/nosqlbench-*-javadoc.jar
- name: generate javadoc
run: mvn javadoc:aggregate-jar
continue-on-error: false
- name: upload javadoc
uses: actions/upload-artifact@v4
with:
name: javadocs
path: target/nosqlbench-*-javadoc.jar
- name: bump minor version
run: |
@ -191,79 +194,74 @@ jobs:
path: |
[a-zA-Z]**/logs/*
# javadocs:
# needs: release
# runs-on: ubuntu-22.04
# steps:
# - name: set git username
# run: git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
# - name: set git email
# run: git config --global user.name "${{ secrets.NBDROID_NAME }}"
# - name: download javadocs
# uses: actions/download-artifact@v4
# with:
# name: javadoc
# - run: ls -la
# - name: unpackage javadoc
# run: unzip nosqlbench-*-javadoc.jar
# - run: ls -la
# - name: Push javadocs
# uses: ad-m/github-push-action@master
# with:
# repository: nosqlbench/nosqlbench-javadoc
# github_token: ${{ secrets.GITHUB_TOKEN }}
# branch: main
#
#
# docs:
# needs: release
# runs-on: ubuntu-22.04
# steps:
#
# - name: set git username
# run: git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
#
# - name: set git email
# run: git config --global user.name "${{ secrets.NBDROID_NAME }}"
#
# - name: download guidebook
# uses: actions/download-artifact@v1
# with:
# name: guidebook
# path: guidebook
#
# - run: ls -la
#
# - name: clone nosqlbench-docs
# env:
# NBDROID_NAME: ${{ secrets.NBDROID_NAME }}
# NBDROID_TOKEN: ${{ secrets.NBDROID_TOKEN }}
# run: |
# git clone https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-docs.git nosqlbench-docs
# cd nosqlbench-docs
# echo "files listing"
# find .
# git remote set-url origin https://${{secrets.NBDROID_NAME}}:${{secrets.NBDROID_TOKEN}}@github.com/nosqlbench/nosqlbench-docs.git
# git remote -v
#
# Disabling this because it will be replaced soon.
# - name: push changes
# env:
# NBDROID_NAME: ${{ secrets.NBDROID_NAME }}
# NBDROID_TOKEN: ${{ secrets.NBDROID_TOKEN }}
# run: |
# rsync -av --delete guidebook/guidebook/ nosqlbench-docs/docs/
# echo "docs.nosqlbench.io" > nosqlbench-docs/docs/CNAME
# cd nosqlbench-docs
# git add docs
# git add -u
# CHANGES=$(git status --porcelain 2>/dev/null| wc -l)
# echo "found $CHANGES to push for doc updates"
# if (( $CHANGES > 0 ))
# then
# git commit -m"docs update for $GITHUB_REF"
# git push
# fi
release-docs:
needs: release
runs-on: ubuntu-22.04
steps:
- name: import env vars
run: |
echo "RELEASE_VERSION=${{ needs.release-build.outputs.release_version }}" >> $GITHUB_ENV
echo "DOCKER_TAGS=${{ needs.release-build.outputs.docker_tags }}" >> $GITHUB_ENV
- name: checkout build docs
uses: actions/checkout@v4
with:
repository: nosqlbench/nosqlbench-build-docs
path: build-docs
- name: download exported_docs
uses: actions/download-artifact@v4
with:
name: exported-docs
path: build-docs
- name: overlay docs changes and push
run: |
set -x
cd build-docs
./doimport.sh
rm exported_docs.zip
git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
git config --global user.name "${{ secrets.NBDROID_NAME }}"
git add .
git tag -f ${{ env.RELEASE_VERSION }}
git commit -m"docs update for ${{ env.RELEASE_VERSION }}"
git push
javadocs:
needs: release-docs
runs-on: ubuntu-22.04
steps:
- name: import env vars
run: |
echo "RELEASE_VERSION=${{ needs.release-build.outputs.release_version }}" >> $GITHUB_ENV
echo "DOCKER_TAGS=${{ needs.release-build.outputs.docker_tags }}" >> $GITHUB_ENV
- name: checkout javadocs
uses: actions/checkout@v4
with:
repository: nosqlbench/nosqlbench-javadocs
path: javadocs
- name: download javadocs
uses: actions/download-artifact@v4
with:
name: javadocs
path: javadocs
- name: overlay javadocs changes and push
run: |
set -x
git config --global user.email "${{ secrets.NBDROID_EMAIL }}"
git config --global user.name "${{ secrets.NBDROID_NAME }}"
cd javadocs
./refresh.sh release
git add .
CHANGES=$(git status --porcelain 2>/dev/null| wc -l)
echo "found $CHANGES to push for javadocs updates"
if (( $CHANGES > 0 ))
then
git commit -m"javadocs update for ${{ env.RELEASE_VERSION }}"
git push
fi