mirror of
https://github.com/nosqlbench/nosqlbench.git
synced 2024-12-23 15:40:44 -06:00
140 lines
4.0 KiB
YAML
140 lines
4.0 KiB
YAML
name: build
|
|
|
|
# This workflow should run for any push or pull request which is neither
|
|
# a preview build nor a release build.
|
|
|
|
on:
|
|
push:
|
|
# tags:
|
|
# - "![0-9]+.[0-9]+.[0-9]+-preview"
|
|
# - "![0-9]+.[0-9]+.[0-9]+-release"
|
|
pull_request:
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-20.04
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
name: checkout nosqlbench
|
|
with:
|
|
node-version: '16'
|
|
|
|
- uses: actions/setup-java@v3
|
|
name: setup java
|
|
with:
|
|
node-version: '16'
|
|
java-version: '21'
|
|
java-package: jdk
|
|
architecture: x64
|
|
distribution: 'oracle'
|
|
|
|
- name: Cache Maven packages
|
|
uses: actions/cache@v1
|
|
with:
|
|
node-version: '16'
|
|
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
|
|
|
|
# Note: the target/coverage-report is not getting generated, involves pom settings not working as expected.
|
|
# - name: Collecting reports
|
|
# run: tar -zcvf codecov-report.tgz target/coverage-report/**/*
|
|
#
|
|
# - name: Uploading test coverage
|
|
# uses: actions/upload-artifact@v3
|
|
# with:
|
|
# node-version: '16'
|
|
# name: codecov-report
|
|
# path: codecov-report.tgz
|
|
|
|
# - name: Collecting logfiles
|
|
# if: success() || failure()
|
|
# run: tar -zcvf logfiles.tgz [a-zA-Z]**/logs/*
|
|
|
|
# - name: Uploading log files
|
|
# if: success() || failure()
|
|
# uses: actions/upload-artifact@v3
|
|
# with:
|
|
# node-version: '16'
|
|
# name: nb-logs
|
|
# path: logfiles.tgz
|
|
|
|
- name: export docs
|
|
if: success()
|
|
run: nb5/target/nb5 export-docs
|
|
|
|
- name: upload docs artifact
|
|
if: success()
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
node-version: '16'
|
|
name: exported-docs
|
|
path: exported_docs.zip
|
|
|
|
builddocs:
|
|
needs: build
|
|
runs-on: ubuntu-20.04
|
|
if: ${{ github.repository == 'nosqlbench/nosqlbench' && github.event_name == 'push' && github.ref_name == 'main' }}
|
|
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:
|
|
node-version: '16'
|
|
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"
|