From dc351c02efafbb54a9e33e73bf4e4542c4ed3eeb Mon Sep 17 00:00:00 2001 From: Severin Date: Sun, 14 Apr 2024 20:28:12 +0200 Subject: [PATCH] Clean branch names in symlinking --- .github/workflows/deploy-book-ghpages.yml | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/.github/workflows/deploy-book-ghpages.yml b/.github/workflows/deploy-book-ghpages.yml index 2c71465..74d51fe 100644 --- a/.github/workflows/deploy-book-ghpages.yml +++ b/.github/workflows/deploy-book-ghpages.yml @@ -133,19 +133,22 @@ jobs: run: | GLOBIGNORE=".:.." # -i leads to a prompt in case of conflict, => a timeout - if [ -d final/$PRIMARY_BRANCH ]; then - cp -irv final/$PRIMARY_BRANCH/* final/ + if [ -d final/"$PRIMARY_BRANCH" ]; then + cp -irv final/"$PRIMARY_BRANCH"/* final/ fi ls -a final/ - name: Symlink branch aliases run: | - echo $BRANCH_ALIASES | tr ' ' '\n' | grep -E '\S' | + echo "$BRANCH_ALIASES" | tr ' ' '\n' | grep -E '\S' | while IFS=':' read -r key value; do # If the target branch is to be deployed, make symlink to it. - if [ "$BRANCHES_TO_DEPLOY" == "*" ] || echo $BRANCHES_TO_DEPLOY | tr ' ' '\n' | grep "^$value$"; then - echo link $key "->" $value - ln -s $value final/$key + if [ "$BRANCHES_TO_DEPLOY" == "*" ] || echo "$BRANCHES_TO_DEPLOY" | tr ' ' '\n' | grep "^$value$"; then + # Clean branch names of special characters + clean_key=$(echo "$key" | tr '/":<>|*?\/\\' '-') + clean_value=$(echo "$key" | tr '/":<>|*?\/\\' '-') + echo link $clean_key "->" $clean_value + ln -s "$clean_value" final/"$clean_key" fi done @@ -163,4 +166,3 @@ permissions: contents: read pages: write id-token: write -