Skip to content

Standardize scripts#3371

Merged
google-oss-prow[bot] merged 13 commits intomasterfrom
copilot/standardize-scripts-format
Mar 1, 2026
Merged

Standardize scripts#3371
google-oss-prow[bot] merged 13 commits intomasterfrom
copilot/standardize-scripts-format

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 28, 2026

This addresses the request to verify that copilot/standardize-scripts-format is behavior-preserving: run the modified scripts and confirm they produce the same on-disk results as master.
The outcome is parity: no branch-vs-master output drift was found for the modified synchronization scripts.

  • Scope

    • Compared all modified scripts/*.sh files against master (16 modified files total).
    • Executed the runnable subset (scripts/synchronize-*.sh, 14 scripts) and compared filesystem deltas for each run.
  • Environment parity adjustments (non-repo)

    • Installed missing Python dependency required by Istio flow:
      • ruamel.yaml
    • Used isolated temporary worktrees to avoid mutating the checked-out repository.
  • Result

    • Script execution matrix shows branch_exit == master_exit and branch_changed == master_changed for every runnable modified script.
    • Equivalent output sets and content hashes across branch and master for all compared runs.
COMPACT_MATRIX
script|branch_exit|master_exit|branch_changed|master_changed|equivalent
scripts/synchronize-cert-manager-manifests.sh|0|0|3|3|yes
...
scripts/synchronize-training-operator-manifests.sh|0|0|3|3|yes

SUMMARY
all_scripts_success=True
all_outputs_equivalent=True

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • kubeflow.github.io
    • Triggering command: /usr/local/bin/helm helm template -n kubeflow --include-crds spark-operator spark-operator --set spark.jobNamespaces={} --set webhook.enable=true --set webhook.port=9443 --version 2.4.0 --repo REDACTED 3/runs/synchroni/tmp/script-output-equivalence-v3/runs/synchronize-pipelines-manifests/master/.tsynchronize-spark-operator-manifests-2.4.0 ests/master/.toostatus bash (dns block)
    • Triggering command: /usr/local/bin/helm helm template -n kubeflow --include-crds spark-operator spark-operator --set spark.jobNamespaces={} --set webhook.enable=true --set webhook.port=9443 --version 2.4.0 --repo REDACTED ests/branch/READ/tmp/script-output-equivalence-v3/runs/synchronize-spark-operator-manifests/bransynchronize-spark-operator-manifests-2.4.0 ndor/bin/bash bash (dns block)

If you need me to access, download, or install something from one of these locations, you can either:


🔒 GitHub Advanced Security automatically protects Copilot coding agent pull requests. You can protect all pull requests by enabling Advanced Security for your repositories. Learn more about Advanced Security.

Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:02
@google-oss-prow google-oss-prow Bot added size/L and removed size/XS labels Feb 28, 2026
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:02
Copilot AI changed the title [WIP] Standardize scripts in /scripts directory Standardize /scripts synchronization scripts around the shared template contract Feb 28, 2026
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:07
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:09
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:09
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI review requested due to automatic review settings February 28, 2026 18:11
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:29
Copilot AI changed the title Standardize /scripts Revert update_readme logging change to restore pre-PR script output behavior Feb 28, 2026
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:33
@google-oss-prow google-oss-prow Bot added size/XS and removed size/XL labels Feb 28, 2026
@juliusvonkohout juliusvonkohout changed the title Revert update_readme logging change to restore pre-PR script output behavior Standardize scripts Feb 28, 2026
Copilot AI changed the title Standardize scripts Restore all shell scripts to master-equivalent behavior and outputs Feb 28, 2026
@juliusvonkohout juliusvonkohout changed the title Restore all shell scripts to master-equivalent behavior and outputs Standardize scripts Feb 28, 2026
Co-authored-by: juliusvonkohout <45896133+juliusvonkohout@users.noreply.github.com>
Copilot AI requested review from Copilot and removed request for Copilot February 28, 2026 18:37
@google-oss-prow google-oss-prow Bot added size/XL and removed size/XS labels Feb 28, 2026
Copilot AI changed the title Standardize scripts Revert accidental script overwrite and preserve branch-specific shell behavior Feb 28, 2026
@juliusvonkohout juliusvonkohout changed the title Revert accidental script overwrite and preserve branch-specific shell behavior standardize scripts Feb 28, 2026
@juliusvonkohout
Copy link
Copy Markdown
Member

/approve

@google-oss-prow
Copy link
Copy Markdown

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: juliusvonkohout

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR standardizes the Kubeflow manifests synchronization shell scripts to use shared helpers (library.sh) consistently, while aiming to keep on-disk output behavior identical to master.

Changes:

  • Simplifies and normalizes synchronization script structure (variable naming, whitespace, and shared helper usage).
  • Replaces per-script copy/README/commit logic with copy_manifests, update_readme, and a unified commit_changes call pattern.
  • Refactors a few scripts to reduce inline sed/copy logic in favor of common library functions.

Reviewed changes

Copilot reviewed 16 out of 16 changed files in this pull request and generated 5 comments.

Show a summary per file
File Description
scripts/library.sh Common helper cleanup and used as the standardized mechanism for copy/README update/commit operations.
scripts/template.sh Updates the template to match the new standardized helper usage pattern.
scripts/synchronize-cert-manager-manifests.sh Switches README updates to update_readme and standardizes commit flow.
scripts/synchronize-dex-manifests.sh Switches README updates to update_readme and standardizes commit flow.
scripts/synchronize-istio-manifests.sh Standardizes variables/paths and README update + commit flow.
scripts/synchronize-katib-manifests.sh Standardizes README update + commit flow.
scripts/synchronize-knative-manifests.sh Standardizes variables/commit flow and keeps custom README replacements.
scripts/synchronize-kserve-kserve-manifests.sh Standardizes variables/paths and README update + commit flow.
scripts/synchronize-kserve-web-application-manifests.sh Standardizes README update + commit flow.
scripts/synchronize-kubeflow-manifests.sh Refactors component copy helper signature and standardizes commit flow.
scripts/synchronize-model-registry-manifests.sh Replaces inline copy logic with copy_manifests and standardizes commit flow.
scripts/synchronize-oauth2-proxy-manifests.sh Switches README updates to update_readme and standardizes commit flow.
scripts/synchronize-pipelines-manifests.sh Standardizes README update + commit flow.
scripts/synchronize-spark-operator-manifests.sh Standardizes version variables and commit flow; keeps custom README update via sed.
scripts/synchronize-trainer-manifests.sh Standardizes README update + commit flow.
scripts/synchronize-training-operator-manifests.sh Standardizes README update + commit flow.

Comment thread scripts/library.sh
Comment thread scripts/library.sh
Comment on lines 14 to 20
create_branch() {
local branch="$1"

check_uncommitted_changes

if [ $(git branch --list "$branch") ]; then
echo "WARNING: Branch $branch already exists."
fi

if ! git show-ref --verify --quiet refs/heads/$branch; then
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

create_branch uses if [ $(git branch --list "$branch") ]; then ..., which can emit a test error when the branch does not exist because the command substitution expands to an empty string (resulting in [ ]). Use a string test with proper quoting (e.g., if [[ -n $(git branch --list "$branch") ]]; then) or a command that directly checks existence (git show-ref --verify --quiet "refs/heads/$branch").

Copilot uses AI. Check for mistakes.
Comment on lines +36 to 44
copy_component_manifests "components/crud-web-applications/jupyter/manifests" \
"applications/jupyter/jupyter-web-app/upstream" \
"crud-web-applications/jupyter/manifests"

copy_component_manifests "volumes-web-app" \
"components/crud-web-applications/volumes/manifests" \
copy_component_manifests "components/crud-web-applications/volumes/manifests" \
"applications/volumes-web-app/upstream" \
"crud-web-applications/volumes/manifests"

copy_component_manifests "tensorboards-web-app" \
"components/crud-web-applications/tensorboards/manifests" \
copy_component_manifests "components/crud-web-applications/tensorboards/manifests" \
"applications/tensorboard/tensorboards-web-app/upstream" \
"crud-web-applications/tensorboards/manifests"
Copy link

Copilot AI Feb 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The README link replacement patterns for the CRUD web apps use crud-web-applications/..., but the root README.md currently references components/crud-web-apps/... (no "-applications"). As a result, these update_readme calls will not update the corresponding rows when COMMIT changes. Consider broadening the match (handle both paths) or aligning the patterns to the current README paths so the version table stays in sync.

Copilot uses AI. Check for mistakes.
Comment thread scripts/synchronize-knative-manifests.sh
Comment thread scripts/synchronize-istio-manifests.sh
@tarekabouzeid
Copy link
Copy Markdown
Member

/lgtm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants