Skip to content

Commit

Permalink
ci: add a ML model artifact test case
Browse files Browse the repository at this point in the history
Both as a test and an example.

Inspired by:
    https://github.com/kubeflow/model-registry/blob/main/docs/logical_model.md

Signed-off-by: Ramkumar Chinchani <[email protected]>
  • Loading branch information
rchincha committed Mar 20, 2024
1 parent 375c35c commit 165c8e2
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
2 changes: 1 addition & 1 deletion examples/config-minimal.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"distSpecVersion": "1.1.0",
"storage": {
"rootDirectory": "/tmp/zot"
"rootDirectory": "/data/rchincha/tmp/zot"
},
"http": {
"address": "127.0.0.1",
Expand Down
22 changes: 22 additions & 0 deletions test/blackbox/pushpull_authn.bats
Original file line number Diff line number Diff line change
Expand Up @@ -173,3 +173,25 @@ EOF
[ "$status" -eq 0 ]
[ $(echo "${lines[-1]}" | jq '.manifests | length') -eq 0 ]
}

@test "ML artifacts" {
# download model data
curl -v -L0 https://github.com/tarilabs/demo20231212/raw/main/v1.nb20231206162408/mnist.onnx -o ${BATS_FILE_TMPDIR}/mnist.onnx
sha256_in=$(sha256sum ${BATS_FILE_TMPDIR}/mnist.onnx | awk '{print $1}')

zot_port=`cat ${BATS_FILE_TMPDIR}/zot.port`

# upload artifact with required annotations and version
regctl artifact put --annotation description="used for demo purposes" --annotation model_format_name="onnx" --annotation model_format_version="1" --artifact-type "application/vnd.model.type" localhost:${zot_port}/models/my-model-from-gh:v1 -f ${BATS_FILE_TMPDIR}/mnist.onnx

# list artifacts
regctl artifact list localhost:${zot_port}/models/my-model-from-gh:v1 --format '{{jsonPretty .}}'

# list artifacts of type
regctl artifact list --filter-artifact-type "application/vnd.model.type" localhost:${zot_port}/models/my-model-from-gh:v1 --format '{{jsonPretty .}}'

# get artifact
regctl artifact get localhost:${zot_port}/models/my-model-from-gh:v1 > ${BATS_FILE_TMPDIR}/mnist.onnx.check
sha256_out=$(sha256sum ${BATS_FILE_TMPDIR}/mnist.onnx.check | awk '{print $1}')
[ "$sha256_in" = "$sha256_out" ]
}

0 comments on commit 165c8e2

Please sign in to comment.