Some checks failed
Docs CI / lint-and-preview (push) Has been cancelled
- Added MongoPackRunApprovalStore for managing approval states with MongoDB. - Introduced MongoPackRunArtifactUploader for uploading and storing artifacts. - Created MongoPackRunLogStore to handle logging of pack run events. - Developed MongoPackRunStateStore for persisting and retrieving pack run states. - Implemented unit tests for MongoDB stores to ensure correct functionality. - Added MongoTaskRunnerTestContext for setting up MongoDB test environment. - Enhanced PackRunStateFactory to correctly initialize state with gate reasons.
52 lines
1.7 KiB
Bash
52 lines
1.7 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
if [[ $# -lt 2 ]]; then
|
|
echo "Usage: $0 <docker-context> <image-tag> [additional docker buildx args...]" >&2
|
|
exit 64
|
|
fi
|
|
|
|
context=$1
|
|
shift
|
|
image_tag=$1
|
|
shift || true
|
|
|
|
builder_args=("$@")
|
|
|
|
: "${STELLAOPS_BUILDX_PUBLISH_DIR:=out/buildx}"
|
|
: "${STELLAOPS_BUILDX_DLL:=${STELLAOPS_BUILDX_PUBLISH_DIR}/StellaOps.Scanner.Sbomer.BuildXPlugin.dll}"
|
|
: "${STELLAOPS_BUILDX_MANIFEST_DIR:=${STELLAOPS_BUILDX_PUBLISH_DIR}}"
|
|
: "${STELLAOPS_BUILDX_CAS_ROOT:=out/cas}"
|
|
: "${STELLAOPS_SURFACE_TENANT:=default}"
|
|
: "${STELLAOPS_SURFACE_CACHE_ROOT:=${STELLAOPS_BUILDX_CAS_ROOT}}"
|
|
: "${STELLAOPS_SURFACE_MANIFEST_OUTPUT:=out/surface-manifest.json}"
|
|
: "${STELLAOPS_SBOM_PATH:=out/buildx-sbom.cdx.json}"
|
|
: "${STELLAOPS_SBOM_FORMAT:=cyclonedx-json}"
|
|
: "${STELLAOPS_SBOM_MEDIA_TYPE:=application/vnd.cyclonedx+json}"
|
|
: "${STELLAOPS_SBOM_KIND:=inventory}"
|
|
: "${STELLAOPS_SBOM_ARTIFACT_TYPE:=application/vnd.stellaops.sbom.layer+json}"
|
|
: "${STELLAOPS_SUBJECT_MEDIA_TYPE:=application/vnd.oci.image.manifest.v1+json}"
|
|
: "${STELLAOPS_PREDICATE_TYPE:=https://slsa.dev/provenance/v1}"
|
|
|
|
mkdir -p "$STELLAOPS_BUILDX_PUBLISH_DIR" "$STELLAOPS_BUILDX_CAS_ROOT" "$(dirname "$STELLAOPS_SBOM_PATH")" "$(dirname "$STELLAOPS_SURFACE_MANIFEST_OUTPUT")"
|
|
|
|
if [[ ! -s "$STELLAOPS_BUILDX_DLL" ]]; then
|
|
echo "Publishing BuildX plug-in to $STELLAOPS_BUILDX_PUBLISH_DIR" >&2
|
|
dotnet publish src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin/StellaOps.Scanner.Sbomer.BuildXPlugin.csproj \
|
|
-c Release \
|
|
-o "$STELLAOPS_BUILDX_PUBLISH_DIR"
|
|
fi
|
|
|
|
if [[ ! -d "$STELLAOPS_BUILDX_MANIFEST_DIR" ]]; then
|
|
echo "Manifest directory missing" >&2
|
|
exit 65
|
|
fi
|
|
|
|
if ! command -v docker >/dev/null 2>&1; then
|
|
echo "docker CLI is not available in this environment" >&2
|
|
exit 69
|
|
fi
|
|
|
|
set -x
|
|
format={{index
|