diff --git a/pipelines/rh-advisories/README.md b/pipelines/rh-advisories/README.md index 58d707ab8..94813b95a 100644 --- a/pipelines/rh-advisories/README.md +++ b/pipelines/rh-advisories/README.md @@ -23,6 +23,9 @@ the rh-push-to-registry-redhat-io pipeline. | taskGitUrl | The url to the git repo where the release-service-catalog tasks to be used are stored | Yes | https://github.com/konflux-ci/release-service-catalog.git | | taskGitRevision | The revision in the taskGitUrl repo to be used | No | - | +## Changes in 1.5.7 +* new mandatory parameter `dataPath` added to `create-pyxis-image` task + ## Changes in 1.5.6 * new mandatory parameter resultsDirPath added to run-file-updates task diff --git a/pipelines/rh-advisories/rh-advisories.yaml b/pipelines/rh-advisories/rh-advisories.yaml index d363de12d..e99cdf319 100644 --- a/pipelines/rh-advisories/rh-advisories.yaml +++ b/pipelines/rh-advisories/rh-advisories.yaml @@ -4,7 +4,7 @@ kind: Pipeline metadata: name: rh-advisories labels: - app.kubernetes.io/version: "1.5.6" + app.kubernetes.io/version: "1.5.7" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: release @@ -422,6 +422,8 @@ spec: value: "true" - name: snapshotPath value: "$(tasks.collect-data.results.snapshotSpec)" + - name: dataPath + value: "$(tasks.collect-data.results.data)" workspaces: - name: data workspace: release-workspace diff --git a/pipelines/rh-push-to-external-registry/README.md b/pipelines/rh-push-to-external-registry/README.md index 79c734f2d..01e6b2c83 100644 --- a/pipelines/rh-push-to-external-registry/README.md +++ b/pipelines/rh-push-to-external-registry/README.md @@ -19,6 +19,9 @@ Tekton pipeline to release Red Hat Snapshots to an external registry. This pipel | taskGitUrl | The url to the git repo where the release-service-catalog tasks to be used are stored | Yes | https://github.com/konflux-ci/release-service-catalog.git | | taskGitRevision | The revision in the taskGitUrl repo to be used | No | - | +## Changes in 5.3.3 +* new mandatory parameter `dataPath` added to `create-pyxis-image` task + ## Changes in 5.3.2 * new mandatory parameter resultsDirPath added to run-file-updates task diff --git a/pipelines/rh-push-to-external-registry/rh-push-to-external-registry.yaml b/pipelines/rh-push-to-external-registry/rh-push-to-external-registry.yaml index 0818765a9..7f26843ef 100644 --- a/pipelines/rh-push-to-external-registry/rh-push-to-external-registry.yaml +++ b/pipelines/rh-push-to-external-registry/rh-push-to-external-registry.yaml @@ -4,7 +4,7 @@ kind: Pipeline metadata: name: rh-push-to-external-registry labels: - app.kubernetes.io/version: "5.3.2" + app.kubernetes.io/version: "5.3.3" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: release @@ -258,6 +258,8 @@ spec: value: $(tasks.collect-pyxis-params.results.secret) - name: snapshotPath value: "$(tasks.collect-data.results.snapshotSpec)" + - name: dataPath + value: "$(tasks.collect-data.results.data)" workspaces: - name: data workspace: release-workspace diff --git a/pipelines/rh-push-to-registry-redhat-io/README.md b/pipelines/rh-push-to-registry-redhat-io/README.md index fdf4deb98..b85dec406 100644 --- a/pipelines/rh-push-to-registry-redhat-io/README.md +++ b/pipelines/rh-push-to-registry-redhat-io/README.md @@ -20,6 +20,9 @@ Tekton pipeline to release content to registry.redhat.io registry. | taskGitUrl | The url to the git repo where the release-service-catalog tasks to be used are stored | Yes | https://github.com/konflux-ci/release-service-catalog.git | | taskGitRevision | The revision in the taskGitUrl repo to be used | No | - | +## Changes in 4.5.6 +* new mandatory parameter `dataPath` added to `create-pyxis-image` task + ## Changes in 4.5.5 * new mandatory parameter resultsDirPath added to run-file-updates task diff --git a/pipelines/rh-push-to-registry-redhat-io/rh-push-to-registry-redhat-io.yaml b/pipelines/rh-push-to-registry-redhat-io/rh-push-to-registry-redhat-io.yaml index 5d5572439..2f6bb0c9c 100644 --- a/pipelines/rh-push-to-registry-redhat-io/rh-push-to-registry-redhat-io.yaml +++ b/pipelines/rh-push-to-registry-redhat-io/rh-push-to-registry-redhat-io.yaml @@ -4,7 +4,7 @@ kind: Pipeline metadata: name: rh-push-to-registry-redhat-io labels: - app.kubernetes.io/version: "4.5.5" + app.kubernetes.io/version: "4.5.6" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: release @@ -376,6 +376,8 @@ spec: value: "true" - name: snapshotPath value: "$(tasks.collect-data.results.snapshotSpec)" + - name: dataPath + value: "$(tasks.collect-data.results.data)" workspaces: - name: data workspace: release-workspace diff --git a/pipelines/rhtap-service-push/README.md b/pipelines/rhtap-service-push/README.md index f9cc93659..676f8be71 100644 --- a/pipelines/rhtap-service-push/README.md +++ b/pipelines/rhtap-service-push/README.md @@ -21,6 +21,9 @@ | taskGitUrl | The url to the git repo where the release-service-catalog tasks to be used are stored | Yes | https://github.com/konflux-ci/release-service-catalog.git | | taskGitRevision | The revision in the taskGitUrl repo to be used | No | - | +## Changes in 4.2.1 +* new mandatory parameter `dataPath` added to `create-pyxis-image` task + ## Changes in 4.2.0 * Add new reduce-snapshot task diff --git a/pipelines/rhtap-service-push/rhtap-service-push.yaml b/pipelines/rhtap-service-push/rhtap-service-push.yaml index 4ad4a1cdc..4976272f7 100644 --- a/pipelines/rhtap-service-push/rhtap-service-push.yaml +++ b/pipelines/rhtap-service-push/rhtap-service-push.yaml @@ -4,7 +4,7 @@ kind: Pipeline metadata: name: rhtap-service-push labels: - app.kubernetes.io/version: "4.2.0" + app.kubernetes.io/version: "4.2.1" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: release @@ -278,6 +278,8 @@ spec: value: $(tasks.collect-pyxis-params.results.secret) - name: snapshotPath value: "$(tasks.collect-data.results.snapshotSpec)" + - name: dataPath + value: "$(tasks.collect-data.results.data)" workspaces: - name: data workspace: release-workspace diff --git a/schema/dataKeys.json b/schema/dataKeys.json index 892585352..adaf00b27 100644 --- a/schema/dataKeys.json +++ b/schema/dataKeys.json @@ -315,6 +315,10 @@ "skipRepoPublishing": { "type": "boolean", "description": "Skip setting the pyxis repo to published" + }, + "skipLayers": { + "type": "boolean", + "description": "When creating ContainerImage in Pyxis, omit details about layers" } } }, diff --git a/tasks/create-pyxis-image/README.md b/tasks/create-pyxis-image/README.md index bd380de47..73b774146 100644 --- a/tasks/create-pyxis-image/README.md +++ b/tasks/create-pyxis-image/README.md @@ -9,14 +9,20 @@ The relative path of the pyxis.json file in the data workspace is output as a ta ## Parameters -| Name | Description | Optional | Default value | -|-------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------|---------------| -| server | The server type to use. Options are 'production','production-internal,'stage-internal' and 'stage'. | Yes | production | -| pyxisSecret | The kubernetes secret to use to authenticate to Pyxis. It needs to contain two keys: key and cert | No | - | -| certified | If set to true, the images will be marked as certified in their Pyxis entries | Yes | false | -| isLatest | If set to true, the images will have a latest tag added with their Pyxis entries | Yes | false | -| rhPush | If set to true, an additional entry will be created in ContainerImage.repositories with the registry and repository fields converted to use Red Hat's official registry. E.g. a mapped repository of "quay.io/redhat-pending/product---my-image" will be converted to use registry "registry.access.redhat.com" and repository "product/my-image". Also, this repository entry will be marked as published. | Yes | false | +| Name | Description | Optional | Default value | +| ------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------- | +| server | The server type to use. Options are 'production','production-internal,'stage-internal' and 'stage'. | Yes | production | +| pyxisSecret | The kubernetes secret to use to authenticate to Pyxis. It needs to contain two keys: key and cert | No | - | +| certified | If set to true, the images will be marked as certified in their Pyxis entries | Yes | false | +| isLatest | If set to true, the images will have a latest tag added with their Pyxis entries | Yes | false | +| rhPush | If set to true, an additional entry will be created in ContainerImage.repositories with the registry and repository fields converted to use Red Hat's official registry. E.g. a mapped repository of "quay.io/redhat-pending/product---my-image" will be converted to use registry "registry.access.redhat.com" and repository "product/my-image". Also, this repository entry will be marked as published. | Yes | false | | snapshotPath | Path to the JSON string of the mapped Snapshot spec in the data workspace | No | - | +| dataPath | Path to the JSON string of the merged data to use in the data workspace | No | | + +## Changes in 3.5.0 +* Added mandatory `dataPath` task parameter + * The data file can now contain `.pyxis.skipLayers` flag. If true, image layer information + is deleted before calling the `create_container_image` script ## Changes in 3.4.4 * Bumped the utils image used in this task diff --git a/tasks/create-pyxis-image/create-pyxis-image.yaml b/tasks/create-pyxis-image/create-pyxis-image.yaml index b96b70b4c..6a8fd2acf 100644 --- a/tasks/create-pyxis-image/create-pyxis-image.yaml +++ b/tasks/create-pyxis-image/create-pyxis-image.yaml @@ -4,7 +4,7 @@ kind: Task metadata: name: create-pyxis-image labels: - app.kubernetes.io/version: "3.4.4" + app.kubernetes.io/version: "3.5.0" annotations: tekton.dev/pipelines.minVersion: "0.12.1" tekton.dev/tags: release @@ -40,6 +40,9 @@ spec: - name: snapshotPath type: string description: Path to the JSON string of the mapped Snapshot spec in the data workspace + - name: dataPath + description: Path to the JSON string of the merged data to use in the data workspace + type: string workspaces: - name: data description: The workspace where the snapshot spec and data json files reside @@ -91,6 +94,12 @@ spec: exit 1 fi + DATA_FILE="$(workspaces.data.path)/$(params.dataPath)" + if [ ! -f "${DATA_FILE}" ] ; then + echo "No data JSON was provided." + exit 1 + fi + PYXIS_DATA_PATH="$(dirname "$(params.snapshotPath)")/pyxis.json" echo -n "${PYXIS_DATA_PATH}" > "$(results.pyxisDataPath.path)" @@ -101,6 +110,9 @@ spec: AUTH_FILE=$(mktemp) + # Default to false + skipLayers="$(jq -r ".pyxis.skipLayers // false" "${DATA_FILE}")" + COMPONENTS=$(jq '.components | length' "${SNAPSHOT_SPEC_FILE}") JSON_OUTPUT='{}' for (( i=0; i < COMPONENTS; i++ )); do @@ -164,6 +176,16 @@ spec: "${PULLSPEC}" \ | tee "${MANIFEST_FILE}" + # When building images without squashing, their final layer might always be bit-wise identical. + # This causes upload to pyxis to fail which cannot tolerate duplicate "top_layer_id" values. + # This flag allows to overcome this limitation by just deleting the layers so that no layer + # information is uploaded. + if [ "$skipLayers" = true ]; then + echo ".pyxis.skipLayers is true in data file, so delete the layers" + jq '.layers = []' "${MANIFEST_FILE}" > "${MANIFEST_FILE}.tmp" + mv "${MANIFEST_FILE}.tmp" "${MANIFEST_FILE}" + fi + # Augment that manifest with further information about the layers, decompressed # This requires pulling the layers to decompress and then measure them while IFS= read -r BLOB_DETAIL; diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-dockerfile-not-found.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-dockerfile-not-found.yaml index 6fbca2c7a..32c7544d2 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-dockerfile-not-found.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-dockerfile-not-found.yaml @@ -40,6 +40,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -50,6 +55,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-dockerfile-not-pulled.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-dockerfile-not-pulled.yaml index 91c923e87..14e39fe28 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-dockerfile-not-pulled.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-dockerfile-not-pulled.yaml @@ -42,6 +42,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -52,6 +57,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-invalid-server.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-invalid-server.yaml index 4e80a9be6..69b1b5e36 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-invalid-server.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-invalid-server.yaml @@ -22,6 +22,8 @@ spec: value: test-create-pyxis-image-cert - name: snapshotPath value: "" + - name: dataPath + value: "" workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-no-snapshot-file.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-no-snapshot-file.yaml index f7cb22bc4..1e1068e15 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-no-snapshot-file.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-fail-no-snapshot-file.yaml @@ -20,6 +20,8 @@ spec: value: test-create-pyxis-image-cert - name: snapshotPath value: missing + - name: dataPath + value: "" workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-multi-arch.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-multi-arch.yaml index e6049bcf3..255972800 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-multi-arch.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-multi-arch.yaml @@ -55,6 +55,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -65,6 +70,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-one-arch.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-one-arch.yaml index 26510816b..7922acaa1 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-one-arch.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-multi-containerimages-one-arch.yaml @@ -55,6 +55,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -65,6 +70,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-oci-artifact.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-oci-artifact.yaml index ef71e7c05..6b4f45157 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-oci-artifact.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-oci-artifact.yaml @@ -39,6 +39,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -49,6 +54,8 @@ spec: value: stage - name: snapshotPath value: snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-multi-arch.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-multi-arch.yaml index d62516d7d..f26a7618d 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-multi-arch.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-multi-arch.yaml @@ -39,6 +39,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -49,6 +54,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-one-arch.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-one-arch.yaml index 20d8a610c..5a33caf33 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-one-arch.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-one-containerimage-one-arch.yaml @@ -38,6 +38,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -48,6 +53,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-rhpush-and-commontag.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-rhpush-and-commontag.yaml index 32de2c73c..e7c9425a0 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-rhpush-and-commontag.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-rhpush-and-commontag.yaml @@ -40,6 +40,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -52,6 +57,8 @@ spec: value: mapped_snapshot.json - name: rhPush value: "true" + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-skip-layers.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-skip-layers.yaml new file mode 100644 index 000000000..83afbf1f3 --- /dev/null +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-skip-layers.yaml @@ -0,0 +1,106 @@ +--- +apiVersion: tekton.dev/v1 +kind: Pipeline +metadata: + name: test-create-pyxis-image-skip-layers +spec: + description: | + Run the create-pyxis-image task with an image that has layers, but + .pyxis.skipLayers=true, so the layers will be deleted and not processed + workspaces: + - name: tests-workspace + tasks: + - name: setup + workspaces: + - name: data + workspace: tests-workspace + taskSpec: + workspaces: + - name: data + steps: + - name: setup-values + image: quay.io/konflux-ci/release-service-utils:dc0f89c98b102fdff4644fa5dc411a60f2035b29 + script: | + #!/usr/bin/env bash + set -eux + + cat > "$(workspaces.data.path)"/mapped_snapshot.json << EOF + { + "application": "myapp", + "components": [ + { + "name": "comp", + "containerImage": "source@sha256:mydigest", + "repository": "registry.io/image-with-gzipped-layers", + "tags": [ + "testtag" + ] + } + ] + } + EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + "pyxis": { + "skipLayers": true + } + } + EOF + - name: run-task + taskRef: + name: create-pyxis-image + params: + - name: pyxisSecret + value: test-create-pyxis-image-cert + - name: server + value: stage + - name: snapshotPath + value: mapped_snapshot.json + - name: dataPath + value: mydata.json + workspaces: + - name: data + workspace: tests-workspace + runAfter: + - setup + - name: check-result + params: + - name: pyxisDataPath + value: $(tasks.run-task.results.pyxisDataPath) + workspaces: + - name: data + workspace: tests-workspace + taskSpec: + params: + - name: pyxisDataPath + type: string + workspaces: + - name: data + steps: + - name: check-result + image: quay.io/konflux-ci/release-service-utils:dc0f89c98b102fdff4644fa5dc411a60f2035b29 + script: | + #!/usr/bin/env bash + set -eux + + if [ "$(wc -l < "$(workspaces.data.path)"/mock_create_container_image.txt)" != 1 ]; then + echo Error: create_container_image was expected to be called 1 time. Actual calls: + cat "$(workspaces.data.path)/mock_create_container_image.txt" + exit 1 + fi + + if [ "$(wc -l < "$(workspaces.data.path)"/mock_oras.txt)" != 3 ]; then + echo Error: oras was expected to be called 3 times. Actual calls: + cat "$(workspaces.data.path)/mock_oras.txt" + exit 1 + fi + + [ "$(head -n 1 < "$(workspaces.data.path)"/mock_skopeo.txt)" \ + = "inspect --raw docker://registry.io/image-with-gzipped-layers@sha256:mydigest" ] + + # check that decompressed layers info is not included in the oras manifest fetch + jq -e '. | has("uncompressed_layers") == false' "$(workspaces.data.path)/oras-manifest-fetch.json" + + runAfter: + - run-task diff --git a/tasks/create-pyxis-image/tests/test-create-pyxis-image-with-gzipped-layers.yaml b/tasks/create-pyxis-image/tests/test-create-pyxis-image-with-gzipped-layers.yaml index f3280a0fd..f606a2022 100644 --- a/tasks/create-pyxis-image/tests/test-create-pyxis-image-with-gzipped-layers.yaml +++ b/tasks/create-pyxis-image/tests/test-create-pyxis-image-with-gzipped-layers.yaml @@ -39,6 +39,11 @@ spec: ] } EOF + + cat > "$(workspaces.data.path)/mydata.json" << EOF + { + } + EOF - name: run-task taskRef: name: create-pyxis-image @@ -49,6 +54,8 @@ spec: value: stage - name: snapshotPath value: mapped_snapshot.json + - name: dataPath + value: mydata.json workspaces: - name: data workspace: tests-workspace @@ -81,7 +88,7 @@ spec: fi if [ "$(wc -l < "$(workspaces.data.path)"/mock_oras.txt)" != 5 ]; then - echo Error: oras was expected to be called 4 times. Actual calls: + echo Error: oras was expected to be called 5 times. Actual calls: cat "$(workspaces.data.path)/mock_oras.txt" exit 1 fi