@@ -131,32 +131,32 @@ jobs:
131
131
ref : ${{ steps.get-checkout-ref.outputs.CHECKOUT_REF }}
132
132
fetch-depth : 0
133
133
134
- - name : Validate Inputs
135
- run : |
136
- cd ${{ github.workspace }}
137
- folders=($(find . -maxdepth 1 -type d ! -name ".*" -printf "%f\n" | tr '[:upper:]' '[:lower:]'))
138
- echo "folders: ${folders[@]}"
139
- echo "example: ${{ inputs.example }}"
140
- example_lower=$(echo "${{ inputs.example }}" | tr '[:upper:]' '[:lower:]')
141
- if [[ ! " ${folders[@]} " =~ " ${example_lower} " ]]; then
142
- echo "Error: Input '${example_lower}' is not in the list of folders."
143
- exit 1
144
- fi
145
-
146
134
- name : Set variables
147
135
env :
148
136
example : ${{ inputs.example }}
149
137
run : |
150
- CHART_NAME="${example,,}" # CodeGen
151
- echo "CHART_NAME=$CHART_NAME" >> $GITHUB_ENV
152
- echo "RELEASE_NAME=${CHART_NAME}$(date +%Y%m%d%H%M%S)" >> $GITHUB_ENV
153
- echo "NAMESPACE=${CHART_NAME}-$(head -c 4 /dev/urandom | xxd -p)" >> $GITHUB_ENV
154
- echo "ROLLOUT_TIMEOUT_SECONDS=600s" >> $GITHUB_ENV
155
- echo "TEST_TIMEOUT_SECONDS=600s" >> $GITHUB_ENV
156
- echo "KUBECTL_TIMEOUT_SECONDS=60s" >> $GITHUB_ENV
157
- echo "should_cleanup=false" >> $GITHUB_ENV
158
- echo "skip_validate=false" >> $GITHUB_ENV
159
- echo "CHART_FOLDER=${example}/kubernetes/helm" >> $GITHUB_ENV
138
+ if [[ ! "$example" =~ ^[a-zA-Z]{1,20}$ ]] || [[ "$example" =~ \.\. ]] || [[ "$example" == -* || "$example" == *- ]]; then
139
+ echo "Error: Invalid input - only lowercase alphanumeric and internal hyphens allowed"
140
+ exit 1
141
+ fi
142
+ # SAFE_PREFIX="kb-"
143
+ CHART_NAME="${SAFE_PREFIX}$(echo "$example" | tr '[:upper:]' '[:lower:]')"
144
+ RAND_SUFFIX=$(openssl rand -hex 2 | tr -dc 'a-f0-9')
145
+
146
+ cat <<EOF >> $GITHUB_ENV
147
+ CHART_NAME=${CHART_NAME}
148
+ RELEASE_NAME=${CHART_NAME}-$(date +%s)
149
+ NAMESPACE=ns-${CHART_NAME}-${RAND_SUFFIX}
150
+ ROLLOUT_TIMEOUT_SECONDS=600s
151
+ TEST_TIMEOUT_SECONDS=600s
152
+ KUBECTL_TIMEOUT_SECONDS=60s
153
+ should_cleanup=false
154
+ skip_validate=false
155
+ CHART_FOLDER=${example}/kubernetes/helm
156
+ EOF
157
+
158
+ echo "Generated safe variables:" >> $GITHUB_STEP_SUMMARY
159
+ echo "- CHART_NAME: ${CHART_NAME}" >> $GITHUB_STEP_SUMMARY
160
160
161
161
- name : Helm install
162
162
id : install
0 commit comments