Change chart directory structure
This commit is contained in:
@@ -0,0 +1,101 @@
|
||||
#!/usr/bin/env bash
|
||||
# Common functions for Kubeflow manifest synchronization scripts
|
||||
|
||||
setup_error_handling() {
|
||||
set -euxo pipefail
|
||||
IFS=$'\n\t'
|
||||
}
|
||||
|
||||
# Check if the git repository has uncommitted changes
|
||||
check_uncommitted_changes() {
|
||||
if [ -n "$(git status --porcelain)" ]; then
|
||||
echo "WARNING: You have uncommitted changes"
|
||||
fi
|
||||
}
|
||||
|
||||
# Create a new git branch if it doesn't exist
|
||||
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
|
||||
git checkout -b "$branch"
|
||||
else
|
||||
echo "Branch $branch already exists."
|
||||
fi
|
||||
}
|
||||
|
||||
clone_and_checkout() {
|
||||
local source_directory="$1"
|
||||
local repository_url="$2"
|
||||
local repository_directory="$3"
|
||||
local commit="$4"
|
||||
|
||||
echo "Checking out in $source_directory to $commit..."
|
||||
|
||||
mkdir -p "$source_directory"
|
||||
cd "$source_directory"
|
||||
|
||||
# Clone repository if it doesn't exist
|
||||
if [ ! -d "$repository_directory/.git" ]; then
|
||||
git clone "$repository_url" "$repository_directory"
|
||||
fi
|
||||
|
||||
# Checkout to specific commit
|
||||
cd "$source_directory/$repository_directory"
|
||||
if ! git rev-parse --verify --quiet "$commit"; then
|
||||
git checkout -b "$commit"
|
||||
else
|
||||
git checkout "$commit"
|
||||
fi
|
||||
|
||||
check_uncommitted_changes
|
||||
}
|
||||
|
||||
# Copy manifests from source to destination
|
||||
copy_manifests() {
|
||||
local source="$1"
|
||||
local destination="$2"
|
||||
|
||||
echo "Copying manifests..."
|
||||
|
||||
if [ -d "$destination" ]; then
|
||||
rm -r "$destination"
|
||||
fi
|
||||
|
||||
cp "$source" "$destination" -r
|
||||
echo "Successfully copied all manifests."
|
||||
}
|
||||
|
||||
# Update README with new commit reference
|
||||
update_readme() {
|
||||
local manifests_directory="$1"
|
||||
local source_text="$2"
|
||||
local destination_text="$3"
|
||||
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
sed -i "" "s|$source_text|$destination_text|g" "${manifests_directory}/README.md" # BSD sed of Mac OSX
|
||||
else
|
||||
sed -i "s|$source_text|$destination_text|g" "${manifests_directory}/README.md" # GNU sed of Linux
|
||||
fi
|
||||
}
|
||||
|
||||
# Commit changes to git repository
|
||||
commit_changes() {
|
||||
local manifests_directory="$1"
|
||||
local commit_message="$2"
|
||||
local paths_to_add=("${@:3}")
|
||||
|
||||
cd "$manifests_directory"
|
||||
|
||||
for path in "${paths_to_add[@]}"; do
|
||||
git add "$path"
|
||||
done
|
||||
|
||||
git commit -s -m "$commit_message"
|
||||
}
|
||||
Reference in New Issue
Block a user