Files
Odoo-Build/bin/github-set-default-branch
T
Janik von Rotz 018f3c0f88 feat(task): add generate-module-translation command and update generate-module-repo to use template-repo
Introduce a new `generate-module-translation` command to generate module translations and update them with LLM. Refactor `generate-module-repo` to use the `template-repo` function for copying template files, improving code reuse. Update help table to include the new translation command. Adjust default branch in github-set-default-branch script to 18.0.
2026-03-05 17:32:55 +01:00

50 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# Set your GitHub personal access token and organization name
ACCESS_TOKEN=""
ORG_NAME="Mint-System"
NEW_DEFAULT_BRANCH="18.0"
if [[ -a ".env" && "$(cat .env | sed 's/^#.*//g')" ]]; then
export $(cat .env | sed 's/^#.*//g' | xargs)
fi
# Check if the new default branch exists in the repository
check_branch_existence() {
local repo_name=$1
local branch=$2
curl -s -o /dev/null -I -w "%{http_code}" -H "Authorization: token $ACCESS_TOKEN" \
"https://api.github.com/repos/$ORG_NAME/$repo_name/branches/$branch"
}
# Get a list of repositories in the organization
REPOS=$(curl -s -H "Authorization: token $ACCESS_TOKEN" \
"https://api.github.com/orgs/$ORG_NAME/repos?per_page=100")
# Loop through each repository in the organization
for repo in $(echo "$REPOS" | jq -r '.[] | @base64'); do
name=$(echo "$repo" | base64 --decode | jq -r '.name')
default_branch=$(echo "$repo" | base64 --decode | jq -r '.default_branch')
# Check if the repository's default branch doesn't match the new default branch
if [ "$default_branch" != "$NEW_DEFAULT_BRANCH" ]; then
# Check if the new default branch exists in the repository
if [ "$(check_branch_existence "$name" "$NEW_DEFAULT_BRANCH")" = "200" ]; then
# Get the current default branch of the repository
current_default_branch=$(curl -s -H "Authorization: token $ACCESS_TOKEN" \
"https://api.github.com/repos/$ORG_NAME/$name" | jq -r '.default_branch')
# Check if the current default branch matches the old default branch name
echo "Updating default branch for '$name' to '$NEW_DEFAULT_BRANCH'..."
curl -X PATCH -H "Authorization: token $ACCESS_TOKEN" \
-H "Accept: application/vnd.github.v3+json" \
-d "{\"default_branch\": \"$NEW_DEFAULT_BRANCH\"}" \
"https://api.github.com/repos/$ORG_NAME/$name"
else
echo "New default branch '$NEW_DEFAULT_BRANCH' doesn't exist in '$name'. Skipping update."
fi
fi
done