javadoc deploymen testing

This commit is contained in:
Jonathan Shook 2022-08-18 16:20:48 -05:00
parent 28a1c66657
commit ef491bfdec
3 changed files with 186 additions and 1 deletions

View File

@ -76,6 +76,7 @@ jobs:
NEXT_MINOR_VERSION=$(( MINOR_VERSION+1)) NEXT_MINOR_VERSION=$(( MINOR_VERSION+1))
NEXT_SNAPSHOT="${BASE_VERSION}.${NEXT_MINOR_VERSION}-SNAPSHOT" NEXT_SNAPSHOT="${BASE_VERSION}.${NEXT_MINOR_VERSION}-SNAPSHOT"
RELEASE_TAGNAME="nosqlbench-${RELEASE_VERSION}" RELEASE_TAGNAME="nosqlbench-${RELEASE_VERSION}"
echo "CURRENT_VERSION=${CURRENT_VERSION}" >> $GITHUB_ENV
echo "NEXT_SNAPSHOT=${NEXT_SNAPSHOT}" >> $GITHUB_ENV echo "NEXT_SNAPSHOT=${NEXT_SNAPSHOT}" >> $GITHUB_ENV
echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV echo "RELEASE_VERSION=${RELEASE_VERSION}" >> $GITHUB_ENV
echo "RELEASE_TAGNAME=${RELEASE_TAGNAME}" >> $GITHUB_ENV echo "RELEASE_TAGNAME=${RELEASE_TAGNAME}" >> $GITHUB_ENV
@ -122,6 +123,10 @@ jobs:
MAVEN_REPO_SERVER_USERNAME: ${{ secrets.MVN_REPO_PRIVATE_REPO_USER }} MAVEN_REPO_SERVER_USERNAME: ${{ secrets.MVN_REPO_PRIVATE_REPO_USER }}
MAVEN_REPO_SERVER_PASSWORD: ${{ secrets.MVN_REPO_PRIVATE_REPO_PASSWORD }} MAVEN_REPO_SERVER_PASSWORD: ${{ secrets.MVN_REPO_PRIVATE_REPO_PASSWORD }}
- name: generate javadoc
run: mvn javadoc:aggregate-jar
continue-on-error: false
- name: Setup docker buildx - name: Setup docker buildx
uses: docker/setup-buildx-action@v1 uses: docker/setup-buildx-action@v1
@ -189,6 +194,14 @@ jobs:
name: binaries name: binaries
path: staging path: staging
- run: ls -la target
- name: upload javadoc
uses: actions/upload-artifact@v3
with:
name: javadoc
path: target/nosqlbench-*-javadoc.jar
- name: docker push to hub - name: docker push to hub
uses: docker/build-push-action@v2 uses: docker/build-push-action@v2
with: with:
@ -242,6 +255,30 @@ jobs:
asset_name: nb5 asset_name: nb5
asset_content_type: application/octet-stream asset_content_type: application/octet-stream
javadocs:
needs: release
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 javadocs
uses: actions/download-artifact@v3
with:
name: javadoc
path: nosqlbench-*-javadoc.jar
- 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: # docs:
# needs: release # needs: release
# runs-on: ubuntu-20.04 # runs-on: ubuntu-20.04

View File

@ -0,0 +1,122 @@
min_version: "4.17.24"
description: |
This workload is analogous to the cql-keyvalue2 workload, just implemented for MongoDB.
scenarios:
default:
schema: run driver=mongodb tags==block:schema threads==1 cycles==UNDEF
rampup: run driver=mongodb tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto
main: run driver=mongodb tags==block:"main.*" cycles===TEMPLATE(main-cycles,10000000) threads=auto
astra:
schema: run driver=mongodb tags==block:schema-astra threads==1 cycles==UNDEF
rampup: run driver=mongodb tags==block:rampup cycles===TEMPLATE(rampup-cycles,10000000) threads=auto
main: run driver=mongodb tags==block:"main.*" cycles===TEMPLATE(main-cycles,10000000) threads=auto
bindings:
seq_key: Mod(TEMPLATE(keycount,1000000000)); ToString();
seq_value: >-
Hash();
Mod(TEMPLATE(valuecount,1000000000));
CharBufImage('A-Za-z0-9 _|/',16000000,HashRange(TEMPLATE(mintext,50000)TEMPLATE(addzeroes,),TEMPLATE(maxtext,150000)TEMPLATE(addzeroes,)));
ToString();
rw_key: TEMPLATE(keydist,Uniform(0,1000000000)); ToString() -> String
rw_value: Hash(); TEMPLATE(valdist,Uniform(0,1000000000)); CharBufImage('A-Za-z0-9 _|/',16000000,HashRange(TEMPLATE(mintext,50000)TEMPLATE(addzeros,),TEMPLATE(maxtext,150000)TEMPLATE(addzeros,))); ToString();
blocks:
schema:
params:
prepared: false
ops:
create-keyspace: |
db.createCollection("students", {
validator: {
$jsonSchema: {
bsonType: "object",
required: [ "name", "year", "major", "address" ],
properties: {
name: {
bsonType: "string",
description: "must be a string and is required"
},
year: {
bsonType: "int",
minimum: 2017,
maximum: 3017,
description: "must be an integer in [ 2017, 3017 ] and is required"
},
major: {
enum: [ "Math", "English", "Computer Science", "History", null ],
description: "can only be one of the enum values and is required"
},
gpa: {
bsonType: [ "double" ],
description: "must be a double if the field exists"
},
address: {
bsonType: "object",
required: [ "city" ],
properties: {
street: {
bsonType: "string",
description: "must be a string if the field exists"
},
city: {
bsonType: "string",
description: "must be a string and is required"
}
}
}
}
}
}
})
# create keyspace if not exists TEMPLATE(keyspace,baselines)
# WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 'TEMPLATE(rf,1)'}
# AND durable_writes = true;
create-table: |
create table if not exists TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue) (
key text,
value text,
PRIMARY KEY (key)
);
schema-astra:
params:
prepared: false
statements:
create-table: |
create table if not exists TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue) (
key text,
value text,
PRIMARY KEY (key)
);
rampup:
params:
cl: TEMPLATE(write_cl,LOCAL_QUORUM)
ops:
rampup-insert: |
insert into TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue)
(key, value)
values ({seq_key},{seq_value});
verify:
params:
cl: TEMPLATE(read_cl,LOCAL_QUORUM)
ops:
verify-select: |
select * from TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue) where key={seq_key};
verify-fields: key->seq_key, value->seq_value
main-read:
params:
ratio: 5
cl: TEMPLATE(read_cl,LOCAL_QUORUM)
statements:
main-select: |
select * from TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue) where key={rw_key};
main-write:
params:
ratio: 5
cl: TEMPLATE(write_cl,LOCAL_QUORUM)
statements:
main-insert: |
insert into TEMPLATE(keyspace,baselines).TEMPLATE(table,keyvalue)
(key, value) values ({rw_key}, {rw_value});

28
pom.xml
View File

@ -14,7 +14,9 @@
~ limitations under the License. ~ limitations under the License.
--> -->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>nosqlbench</artifactId> <artifactId>nosqlbench</artifactId>
@ -126,10 +128,34 @@
</configuration> </configuration>
</plugin> </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>3.4.1</version>
<configuration>
</configuration>
<!-- NO Executions by default for main project builds.
This plugin should be called directly on the command line
The site plugin appears to be broken or at least not properly maintained,
so invoking via the site phase is more trouble than it is worth.
-->
<!-- <executions>-->
<!-- </executions>-->
</plugin>
</plugins> </plugins>
</build> </build>
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.9</version>
</plugin>
</plugins>
</reporting>
<developers> <developers>
<developer> <developer>
<name>Jonathan Shook</name> <name>Jonathan Shook</name>