name: build # This workflow should run for any push or pull request which is neither # a preview build nor a release build. on: push: paths: - "!RELEASE_NOTES.md" - "!PREVIEW_NOTES.md" pull_request: jobs: build: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v3 name: checkout nosqlbench - uses: actions/setup-java@v3 name: setup java with: java-version: '17' java-package: jdk architecture: x64 distribution: 'temurin' - name: Cache Maven packages uses: actions/cache@v1 with: path: ~/.m2 key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }} restore-keys: ${{ runner.os }}-m2 - name: Installing dependencies run: mvn clean install -DskipTests=true -Dmaven.javadoc.skip=true -B -V - name: Running tests run: mvn -B test - name: Collecting reports run: tar -cvf codecov-report.tar target/coverage-report/**/* - name: Uploading test coverage uses: actions/upload-artifact@v3 with: name: codecov-report path: codecov-report.tar - name: Collecting logfiles if: success() || failure() run: tar -cvf logfiles.tar [a-zA-Z]**/logs/* - name: Uploading log files if: success() || failure() uses: actions/upload-artifact@v3 with: name: nb-logs path: logfiles.tar - name: export docs if: success() run: nb5/target/nb5 export-docs - name: upload docs artifact if: success() uses: actions/upload-artifact@v3 with: name: exported-docs path: exported_docs.zip docs: needs: build runs-on: ubuntu-20.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 exported_docs uses: actions/download-artifact@v3 with: name: exported-docs - run: ls -la - name: clone nosqlbench-build-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-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: import zipfile run: | mv exported_docs.zip nosqlbench-build-docs/ - name: set CNAME run: | echo "builddocs.nosqlbench.io" > nosqlbench-build-docs/site/static/CNAME - name: commit changes run: | cd nosqlbench-build-docs git add exported_docs.zip - 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) echo "found $CHANGES to push for doc updates" if (( $CHANGES > 0 )) then git commit -m"docs update for $GITHUB_REF" git push fi echo "push completed"