diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index a96ecbb..256c813 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -58,7 +58,7 @@ jobs: fi # Persist a runtime .env so external checks that expect the file succeed. - cp "$tmp_file" .env + : > .env while IFS= read -r line || [ -n "$line" ]; do if [ -z "$line" ] || [[ "$line" == \#* ]]; then @@ -66,8 +66,16 @@ jobs: fi key="${line%%=*}" value="${line#*=}" + value="${value%$'\r'}" + if [[ "$value" == "\""* && "$value" == *"\"" ]]; then + value="${value:1:-1}" + elif [[ "$value" == "'"* && "$value" == *"'" ]]; then + value="${value:1:-1}" + fi + echo "::add-mask::$value" printf '%s=%s\n' "$key" "$value" >> "$GITHUB_ENV" + printf '%s=%s\n' "$key" "$value" >> .env done < "$tmp_file" rm -f "$tmp_file" diff --git a/DEPLOYMENT_GUIDE.md b/DEPLOYMENT_GUIDE.md index a7c1a1b..0a4db23 100644 --- a/DEPLOYMENT_GUIDE.md +++ b/DEPLOYMENT_GUIDE.md @@ -314,7 +314,7 @@ jobs: "$CLI_IMAGE" export --format=dotenv > "$tmp_file" fi - cp "$tmp_file" .env + : > .env while IFS= read -r line || [ -n "$line" ]; do if [ -z "$line" ] || [[ "$line" == \#* ]]; then @@ -322,8 +322,16 @@ jobs: fi key="${line%%=*}" value="${line#*=}" + value="${value%$'\r'}" + if [[ "$value" == "\""* && "$value" == *"\"" ]]; then + value="${value:1:-1}" + elif [[ "$value" == "'"* && "$value" == *"'" ]]; then + value="${value:1:-1}" + fi + echo "::add-mask::$value" printf '%s=%s\n' "$key" "$value" >> "$GITHUB_ENV" + printf '%s=%s\n' "$key" "$value" >> .env done < "$tmp_file" rm -f "$tmp_file"