Skip to content

Replace Placeholders #6

Replace Placeholders

Replace Placeholders #6

name: Replace Placeholders
on:
workflow_dispatch:
permissions:
contents: write
jobs:
replace:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Replace placeholders safely
run: |
REPO_NAME="${GITHUB_REPOSITORY##*/}"
REPO_NAME_LOWER=$(echo "$REPO_NAME" | tr '[:upper:]' '[:lower:]')
echo "Replacing placeholders..."
# Find only regular text files, exclude .git and binaries
find . \
-type f \
-not -path "./.git/*" \
-not -path "./.github/workflows/*" \
-exec grep -Iq . {} \; \
-exec sed -i "s/__REPO_NAME_LOWER__/${REPO_NAME_LOWER}/g" {} \; \
-exec sed -i "s/__REPO_NAME__/${REPO_NAME}/g" {} \;
find . -type d -name "*__REPO_NAME_LOWER__*" | while read -r dir; do
newdir=$(echo "$dir" | sed "s/__REPO_NAME_LOWER__/${REPO_NAME_LOWER}/g")
echo "Renaming directory: $dir → $newdir"
mkdir -p "$(dirname "$newdir")"
mv "$dir" "$newdir"
done
find . -type f -name "*__REPO_NAME__*" | while read -r file; do
newfile=$(echo "$file" | sed "s/__REPO_NAME__/${REPO_NAME}/g")
echo "Renaming file: $file → $newfile"
mv "$file" "$newfile"
done
- name: Commit and push changes
run: |
git config user.name github-actions
git config user.email github-actions@github.com
git add -A
git commit -m "Replace placeholders with repo name values"
git push