diff --git a/config-env/action.yml b/config-env/action.yml index 940db78..e3ad733 100644 --- a/config-env/action.yml +++ b/config-env/action.yml @@ -22,7 +22,7 @@ inputs: enable-validation: description: '是否执行环境校验 (true/false)' required: false - default: 'true' + default: 'false' docker-registry: description: 'Docker 私有仓库地址' required: false @@ -69,7 +69,7 @@ runs: ENABLE_VALIDATION: ${{ inputs.enable-validation }} - name: 配置 kubectl - if: ${{ inputs.kube-config != '' }} + if: ${{ inputs.kube-config != '' && steps.validate-tools.outputs.kubectl-version != 'not-found' && steps.validate-tools.outputs.kubectl-version != 'skipped' }} shell: bash run: bash ${{ github.action_path }}/scripts/configure-kubectl.sh env: @@ -77,7 +77,7 @@ runs: - name: 验证 kubectl 连通性 id: verify-kubectl - if: ${{ inputs.kube-config != '' && inputs.enable-validation != 'false' }} + if: ${{ inputs.kube-config != '' && inputs.enable-validation != 'false' && steps.validate-tools.outputs.kubectl-version != 'not-found' && steps.validate-tools.outputs.kubectl-version != 'skipped' }} shell: bash run: bash ${{ github.action_path }}/scripts/verify-kubectl.sh @@ -97,8 +97,10 @@ runs: if [[ "${{ steps.validate-tools.outputs.docker-version }}" != 'not-found' && "${{ steps.validate-tools.outputs.docker-version }}" != 'skipped' ]]; then echo " - Docker: ${{ steps.validate-tools.outputs.docker-version }}" fi - echo " - kubectl: ${{ steps.validate-tools.outputs.kubectl-version }}" + if [[ "${{ steps.validate-tools.outputs.kubectl-version }}" != 'not-found' && "${{ steps.validate-tools.outputs.kubectl-version }}" != 'skipped' ]]; then + echo " - kubectl: ${{ steps.validate-tools.outputs.kubectl-version }}" + fi fi - if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.enable-validation }}" != 'false' ]]; then + if [[ "${{ inputs.kube-config }}" != '' && "${{ inputs.enable-validation }}" != 'false' && "${{ steps.verify-kubectl.outputs.current-context }}" != '' ]]; then echo " - 当前上下文: ${{ steps.verify-kubectl.outputs.current-context }}" fi diff --git a/config-env/scripts/validate-tools.sh b/config-env/scripts/validate-tools.sh index d8d9234..f21f001 100644 --- a/config-env/scripts/validate-tools.sh +++ b/config-env/scripts/validate-tools.sh @@ -58,7 +58,7 @@ validate_binary() { main() { : "${GITHUB_OUTPUT:?GITHUB_OUTPUT 未设置}" >/dev/null - local enable_validation="${ENABLE_VALIDATION:-true}" + local enable_validation="${ENABLE_VALIDATION:-false}" if [[ "$enable_validation" != "true" ]]; then log_info "已通过统一开关禁用环境校验" @@ -67,7 +67,8 @@ main() { return 0 fi - validate_binary "docker" "false" "docker --version" "docker-version" + # 当 enable-validation 为 true 时,Docker 和 kubectl 都是必需的 + validate_binary "docker" "true" "docker --version" "docker-version" validate_binary "kubectl" "true" "kubectl version --client --short 2>/dev/null || kubectl version --client" "kubectl-version" }