diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index fd99ed0..b8d62ba 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -23,7 +23,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -48,7 +48,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false @@ -59,7 +59,7 @@ jobs: run: | make generate-dockerfile buildah build --platform "linux/${TARGETARCH}" -f pattern-ui-catalog.Dockerfile -t "${CONTAINER}-${TARGETARCH}" . - buildah push "${CONTAINER}-${TARGETARCH}" "docker-archive:/tmp/image-${TARGETARCH}.tar:${CONTAINER}-${TARGETARCH}" + buildah push --format v2s2 "${CONTAINER}-${TARGETARCH}" "docker-archive:/tmp/image-${TARGETARCH}.tar:${CONTAINER}-${TARGETARCH}" - name: Upload image artifact uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 @@ -111,7 +111,7 @@ jobs: buildah manifest create "${REGISTRY}/${CONTAINER}" buildah manifest add --arch=amd64 "${REGISTRY}/${CONTAINER}" "${REGISTRY}/${CONTAINER}-amd64" buildah manifest add --arch=arm64 "${REGISTRY}/${CONTAINER}" "${REGISTRY}/${CONTAINER}-arm64" - buildah manifest push --all "${REGISTRY}/${CONTAINER}" "docker://${UPLOADREGISTRY}/${CONTAINER}" + buildah manifest push --all --format v2s2 "${REGISTRY}/${CONTAINER}" "docker://${UPLOADREGISTRY}/${CONTAINER}" DIGEST=$(skopeo inspect --format "{{.Digest}}" "docker://${UPLOADREGISTRY}/${CONTAINER}") echo "digest=$DIGEST" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/jsonschema.yaml b/.github/workflows/jsonschema.yaml index afb8ccb..387bc7c 100644 --- a/.github/workflows/jsonschema.yaml +++ b/.github/workflows/jsonschema.yaml @@ -25,12 +25,12 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/yaml-lint.yaml b/.github/workflows/yaml-lint.yaml index 57853db..913e4e7 100644 --- a/.github/workflows/yaml-lint.yaml +++ b/.github/workflows/yaml-lint.yaml @@ -18,12 +18,12 @@ jobs: steps: - name: Checkout Code - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Set up Python - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 + uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # v7.0.0 with: python-version: "3.11" diff --git a/.github/workflows/zizmor.yml b/.github/workflows/zizmor.yml index 4abadf3..9fa28c4 100644 --- a/.github/workflows/zizmor.yml +++ b/.github/workflows/zizmor.yml @@ -18,9 +18,9 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout repository - uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 with: persist-credentials: false - name: Run zizmor - uses: zizmorcore/zizmor-action@5f14fd08f7cf1cb1609c1e344975f152c7ee938d # v0.5.6 + uses: zizmorcore/zizmor-action@70fb788f84895a7701f5643d103d587e460b5c99 # v0.6.3 diff --git a/pattern.schema.json b/pattern.schema.json index 7b82fc0..a34d433 100644 --- a/pattern.schema.json +++ b/pattern.schema.json @@ -144,6 +144,9 @@ "description": "URL or path to a logo image for the pattern", "format": "uri" }, + "ocp_versions": { + "$ref": "#/$defs/ocpVersions" + }, "variants": { "type": "array", "description": "Deployment variants for the pattern", @@ -219,6 +222,42 @@ "description": "Human-readable description of the variant" } } + }, + "ocpVersions": { + "type": "object", + "description": "OCP version compatibility requirements checked by the validate_ocp_version role during installation", + "additionalProperties": false, + "properties": { + "minimum": { + "type": "string", + "description": "Minimum supported OCP version (e.g. 4.20). Versions below this trigger a warning.", + "pattern": "^[0-9]+\\.[0-9]+$" + }, + "unsupported": { + "type": "array", + "description": "Explicitly unsupported OCP versions that cause a hard fail during installation", + "items": { + "$ref": "#/$defs/unsupportedOcpVersion" + } + } + } + }, + "unsupportedOcpVersion": { + "type": "object", + "description": "An OCP version that is explicitly not supported", + "required": ["version", "reason"], + "additionalProperties": false, + "properties": { + "version": { + "type": "string", + "description": "OCP version string (e.g. 4.23)", + "pattern": "^[0-9]+\\.[0-9]+$" + }, + "reason": { + "type": "string", + "description": "Human-readable explanation of why this version is unsupported" + } + } } } }