fix(ci): avoid git in verify_purego_only.sh to fix dubious ownership error
The CI container runs as a different user, causing git rev-parse to fail with 'dubious ownership'. Use script-relative path resolution instead. Also skip non-existent source directories to avoid rg warnings.
- commit
- 5de614e673fd0c746461e8a8aacef575aba753f2
- author
- brice · · 2026-02-12 18:48 UTC
- parent
- 5072fc2
- signature
- GPG Verified
CD88F9E564E0102646FB6077A1A07C7C7C3E349D· arch-gpg Verified for the committer email
1 file · +13 -7
M scripts/verify_purego_only.sh +13 -7
| @@ -1,7 +1,9 @@ | |||
| 1 | 1 | #!/usr/bin/env bash | |
| 2 | 2 | set -euo pipefail | |
| 3 | 3 | ||
| 4 | - | repo_root="$(git rev-parse --show-toplevel)" | |
| 4 | + | # Use the directory containing this script's parent as repo root, | |
| 5 | + | # avoiding git which fails in CI with "dubious ownership" errors. | |
| 6 | + | repo_root="$(cd "$(dirname "$0")/.." && pwd)" | |
| 5 | 7 | cd "$repo_root" | |
| 6 | 8 | ||
| 7 | 9 | denied_patterns=( | |
| @@ -9,12 +11,16 @@ denied_patterns=( | |||
| 9 | 11 | '^//export ' | |
| 10 | 12 | ) | |
| 11 | 13 | ||
| 12 | - | search_paths=( | |
| 13 | - | cmd | |
| 14 | - | internal | |
| 15 | - | pkg | |
| 16 | - | scripts | |
| 17 | - | ) | |
| 14 | + | all_paths=(cmd internal pkg scripts) | |
| 15 | + | search_paths=() | |
| 16 | + | for p in "${all_paths[@]}"; do | |
| 17 | + | [ -d "$p" ] && search_paths+=("$p") | |
| 18 | + | done | |
| 19 | + | ||
| 20 | + | if [ ${#search_paths[@]} -eq 0 ]; then | |
| 21 | + | echo "verify_purego_only: no source directories found" | |
| 22 | + | exit 1 | |
| 23 | + | fi | |
| 18 | 24 | ||
| 19 | 25 | for pattern in "${denied_patterns[@]}"; do | |
| 20 | 26 | if command -v rg >/dev/null 2>&1; then | |
| @@ -1,7 +1,9 @@ | |||||
| 1 | #!/usr/bin/env bash | 1 | #!/usr/bin/env bash | ||
| 2 | set -euo pipefail | 2 | set -euo pipefail | ||
| 3 | 3 | ||||
| 4 | - | repo_root="$(git rev-parse --show-toplevel)" | 4 | + | # Use the directory containing this script's parent as repo root, |
| 5 | + | # avoiding git which fails in CI with "dubious ownership" errors. | |||
| 6 | + | repo_root="$(cd "$(dirname "$0")/.." && pwd)" | |||
| 5 | cd "$repo_root" | 7 | cd "$repo_root" | ||
| 6 | 8 | ||||
| 7 | denied_patterns=( | 9 | denied_patterns=( | ||
| @@ -9,12 +11,16 @@ denied_patterns=( | |||||
| 9 | '^//export ' | 11 | '^//export ' | ||
| 10 | ) | 12 | ) | ||
| 11 | 13 | ||||
| 12 | - | search_paths=( | 14 | + | all_paths=(cmd internal pkg scripts) |
| 13 | - | cmd | 15 | + | search_paths=() |
| 14 | - | internal | 16 | + | for p in "${all_paths[@]}"; do |
| 15 | - | pkg | 17 | + | [ -d "$p" ] && search_paths+=("$p") |
| 16 | - | scripts | 18 | + | done |
| 17 | - | ) | 19 | + | |
| 20 | + | if [ ${#search_paths[@]} -eq 0 ]; then | |||
| 21 | + | echo "verify_purego_only: no source directories found" | |||
| 22 | + | exit 1 | |||
| 23 | + | fi | |||
| 18 | 24 | ||||
| 19 | for pattern in "${denied_patterns[@]}"; do | 25 | for pattern in "${denied_patterns[@]}"; do | ||
| 20 | if command -v rg >/dev/null 2>&1; then | 26 | if command -v rg >/dev/null 2>&1; then | ||