45 lines
1.3 KiB
YAML
45 lines
1.3 KiB
YAML
apiVersion: tekton.dev/v1
|
|
kind: Task
|
|
metadata:
|
|
name: nx-nodejs-version
|
|
spec:
|
|
params:
|
|
- name: context
|
|
type: string
|
|
description: context directory
|
|
default: ""
|
|
- name: specDomain
|
|
type: string
|
|
default: ""
|
|
- name: specVersion
|
|
description: Rust crate version
|
|
type: string
|
|
default: "0.0.0"
|
|
workspaces:
|
|
- name: base
|
|
description: Git-cloned source code
|
|
results:
|
|
- name: version
|
|
description: Extracted project version (e.g. 0.2.0)
|
|
steps:
|
|
- name: verify-version
|
|
image: mikefarah/yq:4.24.2
|
|
workingDir: /workspace/base/$(params.context)/source
|
|
env:
|
|
- name: HOME
|
|
value: /workspace/base/$(params.context)/home
|
|
script: |
|
|
set -e
|
|
OPENAPI_FILE="specs/$(params.specDomain)/openapi.yaml"
|
|
EXPECTED_VERSION="$(params.specVersion)"
|
|
ACTUAL_VERSION=$(yq '.info.version' "$OPENAPI_FILE")
|
|
|
|
echo "Expected: $EXPECTED_VERSION"
|
|
echo "Actual: $ACTUAL_VERSION"
|
|
|
|
if [ "$ACTUAL_VERSION" != "$EXPECTED_VERSION" ]; then
|
|
echo "❌ Version mismatch! Expected: $EXPECTED_VERSION, Actual: $ACTUAL_VERSION"
|
|
exit 1
|
|
fi
|
|
echo "✅ Tag and version match: $ACTUAL_VERSION"
|
|
echo -n "$ACTUAL_VERSION" > /tekton/results/version |