-
-
Notifications
You must be signed in to change notification settings - Fork 3k
fix(ci): adjust gh-pages workflow and branch policy blockers #1723
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6362e52
03a0069
8d5b019
1c5659c
056633b
5ff88fc
8f19e6f
d5d11e0
2684916
9c8635a
6e634fe
0d66da2
b07d4cb
722563c
1c15b1b
f517b9e
56d0001
26a4511
6ae371d
1d2d964
63519a7
9d48b23
d39a25a
fc178a8
6bf8179
eb578ad
0c61bb2
a28dcbd
a8f9c12
4466625
cb870b3
05f0325
2261b7c
a261e57
799b15b
a6bddd2
f802984
bbbf245
cef1e0c
a7ed378
14f65ea
066ec6c
a39478e
e6709c7
c79a0bf
af99f28
86eeb35
0d691d9
9987eba
1b9e2d1
ac4a08f
3c3ca97
49832bb
b62fa7f
9069e19
c8f7631
710d018
d4a68e9
eb2b26d
570343a
f445381
f2df50d
6d63252
e3eba3b
f4ead25
ef82402
f775675
71acfd8
e7df4b1
1b8e427
97d2b1b
1101874
83a3993
b41e568
21a0e38
1ad6aeb
cbd30ed
a59ba4a
5b32b33
2195267
a4f7a1f
2598a0a
5c060ee
bacbd07
06c48d4
db65d3f
2d56e20
a46e800
b625de4
3fe759a
7a32891
d6a094d
a6eec47
7efc6cb
c53a927
8a4719d
35b202f
be548bb
1438334
4e6c012
ec2ab02
ccedbb9
deee8a3
d6c8189
acfc111
caff48b
0a8d2b3
539649a
fadba91
3ce2ec8
02300a7
ec4504b
c6019e4
fd11aa5
ddb05d2
c9b75a7
221f9bb
a344f71
bb97db4
db73308
ad06045
0662f07
387e603
5c6113c
030b5ce
26cccfa
9b9c83f
3e62136
98ab731
091339e
4e9a7ac
12d1d8e
9ad6697
523b659
d4270e8
c004453
fe413c6
bf390f2
b0a6b11
7b858a5
ab38dc1
7aa4a0d
aebf017
3994ae5
d5d5a87
348f9c0
dad29ef
dc53fe3
4ab8977
5f50bc9
e1444fb
9a8b509
322a4a9
2935213
ce3c2d2
409e9e8
ac27384
3b82986
049d697
d45abb9
097a250
559a7ef
8097cea
19c763c
3c3c1f3
8b7aac6
8fee8ba
2aff3b3
ba0fc0a
ec983c5
8129a3c
f34b158
96b519f
2929094
f360ccc
dff17bf
6f970dd
382a212
902d9d0
a1de36d
4491a3f
5215a66
c048469
9444c5d
24a8208
9f16d88
e81d780
7bcd95c
db0e0ac
9d370a1
b715f74
25aec3e
f8ed9d5
3ad356e
c785c1a
e6626c6
37dfea1
77cc4ce
4eeec29
6622671
34a82dd
3c6d63f
7fc25dd
0629dc1
2e88848
b76037b
ec401d6
f1a1385
ffb09d8
f217134
fd4d8f4
2271139
6f2ecec
1753065
8c06557
a31f3a0
702a407
05c8cbb
76f03a4
949fb35
ca62846
1bd608b
83bf0e5
95c7dd2
8f27a38
c3121ec
38f03e3
cf37656
78b8a6e
2464a28
5b02096
bd8a546
801599e
61cc774
83c6fb2
94dbb5e
df95d05
40ec26b
febf3f9
b1e1675
03b2fdf
1509a48
38320e6
56117f8
4740b95
6932352
4d359cc
a741598
7244955
ede7dfd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,32 @@ | ||
| # Code Scanning Suppressions | ||
|
|
||
| ## suppressions for known acceptable patterns | ||
|
|
||
| ### Clear-text logging (log.Debug, log.Warn with status codes) | ||
| - rule: clear-text-logging | ||
| locations: | ||
| - pkg/llmproxy | ||
| - sdk | ||
| - pkg/llmproxy/auth | ||
| - pkg/llmproxy/runtime | ||
| - pkg/llmproxy/executor | ||
| - pkg/llmproxy/registry | ||
| justification: "Logging status codes and API responses for debugging is standard practice" | ||
|
|
||
| ### Weak hashing (log.Infof with log.Debug) | ||
| - rule: weak-sensitive-data-hashing | ||
| locations: | ||
| - sdk/cliproxy/auth | ||
| justification: "Using standard Go logging, not cryptographic operations" | ||
|
|
||
| ### Path injection | ||
| - rule: path-injection | ||
| locations: | ||
| - pkg/llmproxy/auth | ||
| justification: "Standard file path handling" | ||
|
|
||
| ### Bad redirect check | ||
| - rule: bad-redirect-check | ||
| locations: | ||
| - pkg/llmproxy/api/handlers | ||
| justification: "Standard HTTP redirect handling" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| # To get started with Dependabot version updates, you'll need to specify which | ||
| # package ecosystems to update and where the package manifests are located. | ||
| # Please see the documentation for all configuration options: | ||
| # https://docs.github.com/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file | ||
|
|
||
| version: 2 | ||
| updates: | ||
| - package-ecosystem: "" # See documentation for possible values haha | ||
| directory: "/" # Location of package manifests | ||
| schedule: | ||
| interval: "weekly" | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,42 @@ | ||
| # Approved external endpoint hosts. | ||
| # Matching is exact host or subdomain of an entry. | ||
|
|
||
| accounts.google.com | ||
| aiplatform.googleapis.com | ||
| ampcode.com | ||
| api.anthropic.com | ||
| api.api.githubcopilot.com | ||
| api.deepseek.com | ||
| api.fireworks.ai | ||
| api.github.com | ||
| api.groq.com | ||
| api.kilo.ai | ||
| api.kimi.com | ||
| api.minimax.chat | ||
| api.minimax.io | ||
| api.mistral.ai | ||
| api.novita.ai | ||
| api.openai.com | ||
| api.roocode.com | ||
| api.siliconflow.cn | ||
| api.together.xyz | ||
| apis.iflow.cn | ||
| auth.openai.com | ||
| chat.qwen.ai | ||
| chatgpt.com | ||
| claude.ai | ||
| cloudcode-pa.googleapis.com | ||
| cloudresourcemanager.googleapis.com | ||
| generativelanguage.googleapis.com | ||
| github.com | ||
| golang.org | ||
| iflow.cn | ||
| integrate.api.nvidia.com | ||
| oauth2.googleapis.com | ||
| openrouter.ai | ||
| platform.iflow.cn | ||
| platform.openai.com | ||
| portal.qwen.ai | ||
| raw.githubusercontent.com | ||
| serviceusage.googleapis.com | ||
| www.googleapis.com |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| # workflow_file|job_name | ||
| pr-test-build.yml|go-ci | ||
| pr-test-build.yml|quality-ci | ||
| pr-test-build.yml|quality-staged-check | ||
| pr-test-build.yml|fmt-check | ||
| pr-test-build.yml|golangci-lint | ||
| pr-test-build.yml|route-lifecycle | ||
| pr-test-build.yml|test-smoke | ||
| pr-test-build.yml|pre-release-config-compat-smoke | ||
| pr-test-build.yml|distributed-critical-paths | ||
| pr-test-build.yml|changelog-scope-classifier | ||
| pr-test-build.yml|docs-build | ||
| pr-test-build.yml|ci-summary |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| # workflow_file|job_name | ||
| pr-test-build.yml|go-ci | ||
| pr-test-build.yml|quality-ci | ||
| pr-test-build.yml|quality-staged-check | ||
| pr-test-build.yml|fmt-check | ||
| pr-test-build.yml|golangci-lint | ||
| pr-test-build.yml|route-lifecycle | ||
| pr-test-build.yml|provider-smoke-matrix | ||
| pr-test-build.yml|provider-smoke-matrix-cheapest | ||
| pr-test-build.yml|test-smoke | ||
| pr-test-build.yml|pre-release-config-compat-smoke | ||
| pr-test-build.yml|distributed-critical-paths | ||
| pr-test-build.yml|changelog-scope-classifier | ||
| pr-test-build.yml|docs-build | ||
| pr-test-build.yml|ci-summary | ||
| pr-path-guard.yml|ensure-no-translator-changes |
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,67 @@ | ||||||
| #!/usr/bin/env bash | ||||||
| set -euo pipefail | ||||||
|
|
||||||
| policy_file=".github/policies/approved-external-endpoints.txt" | ||||||
| if [[ ! -f "${policy_file}" ]]; then | ||||||
| echo "Missing policy file: ${policy_file}" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| mapfile -t approved_hosts < <(grep -Ev '^\s*#|^\s*$' "${policy_file}" | tr '[:upper:]' '[:lower:]') | ||||||
| if [[ "${#approved_hosts[@]}" -eq 0 ]]; then | ||||||
| echo "No approved hosts in policy file" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| matches_policy() { | ||||||
| local host="$1" | ||||||
| local approved | ||||||
| for approved in "${approved_hosts[@]}"; do | ||||||
| if [[ "${host}" == "${approved}" || "${host}" == *."${approved}" ]]; then | ||||||
| return 0 | ||||||
| fi | ||||||
| done | ||||||
| return 1 | ||||||
| } | ||||||
|
|
||||||
| mapfile -t discovered_hosts < <( | ||||||
| rg -No --hidden \ | ||||||
| --glob '!docs/**' \ | ||||||
| --glob '!**/*_test.go' \ | ||||||
| --glob '!**/node_modules/**' \ | ||||||
| --glob '!**/*.png' \ | ||||||
| --glob '!**/*.jpg' \ | ||||||
| --glob '!**/*.jpeg' \ | ||||||
| --glob '!**/*.gif' \ | ||||||
| --glob '!**/*.svg' \ | ||||||
| --glob '!**/*.webp' \ | ||||||
| 'https?://[^"\047 )\]]+' \ | ||||||
| cmd pkg sdk scripts .github/workflows config.example.yaml README.md README_CN.md 2>/dev/null \ | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The
Suggested change
|
||||||
| | awk -F'://' '{print $2}' \ | ||||||
| | cut -d/ -f1 \ | ||||||
| | cut -d: -f1 \ | ||||||
| | tr '[:upper:]' '[:lower:]' \ | ||||||
| | sort -u | ||||||
| ) | ||||||
|
|
||||||
| unknown=() | ||||||
| for host in "${discovered_hosts[@]}"; do | ||||||
| [[ -z "${host}" ]] && continue | ||||||
| [[ "${host}" == *"%"* ]] && continue | ||||||
| [[ "${host}" == *"{"* ]] && continue | ||||||
| [[ "${host}" == "localhost" || "${host}" == "127.0.0.1" || "${host}" == "0.0.0.0" ]] && continue | ||||||
| [[ "${host}" == "example.com" || "${host}" == "www.example.com" ]] && continue | ||||||
| [[ "${host}" == "proxy.com" || "${host}" == "proxy.local" ]] && continue | ||||||
| [[ "${host}" == "api.example.com" ]] && continue | ||||||
| if ! matches_policy "${host}"; then | ||||||
| unknown+=("${host}") | ||||||
| fi | ||||||
| done | ||||||
|
|
||||||
| if [[ "${#unknown[@]}" -ne 0 ]]; then | ||||||
| echo "Found external hosts not in ${policy_file}:" | ||||||
| printf ' - %s\n' "${unknown[@]}" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| echo "external endpoint policy check passed" | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| echo "[distributed-critical-paths] validating filesystem-sensitive paths" | ||
| go test -count=1 -run '^(TestMultiSourceSecret_FileHandling|TestMultiSourceSecret_CacheBehavior|TestMultiSourceSecret_Concurrency|TestAmpModule_OnConfigUpdated_CacheInvalidation)$' ./pkg/llmproxy/api/modules/amp | ||
|
|
||
| echo "[distributed-critical-paths] validating ops endpoint route registration" | ||
| go test -count=1 -run '^TestRegisterManagementRoutes$' ./pkg/llmproxy/api/modules/amp | ||
|
|
||
| echo "[distributed-critical-paths] validating compute/cache-sensitive paths" | ||
| go test -count=1 -run '^(TestEnsureCacheControl|TestCacheControlOrder|TestCountOpenAIChatTokens|TestCountClaudeChatTokens)$' ./pkg/llmproxy/runtime/executor | ||
|
|
||
| echo "[distributed-critical-paths] validating queue telemetry to provider metrics path" | ||
| go test -count=1 -run '^TestBuildProviderMetricsFromSnapshot_FailoverAndQueueTelemetry$' ./pkg/llmproxy/usage | ||
|
|
||
| echo "[distributed-critical-paths] validating signature cache primitives" | ||
| go test -count=1 -run '^(TestCacheSignature_BasicStorageAndRetrieval|TestCacheSignature_ExpirationLogic)$' ./pkg/llmproxy/cache | ||
|
|
||
| echo "[distributed-critical-paths] all targeted checks passed" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,53 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| patterns=( | ||
| 'sk-[A-Za-z0-9]{20,}' | ||
| 'ghp_[A-Za-z0-9]{20,}' | ||
| 'AKIA[0-9A-Z]{16}' | ||
| 'AIza[0-9A-Za-z_-]{20,}' | ||
| '-----BEGIN (RSA|OPENSSH|EC|DSA|PRIVATE) KEY-----' | ||
| ) | ||
|
|
||
| allowed_context='\$\{|\{\{.*\}\}|<[^>]+>|\[REDACTED|your[_-]?|example|dummy|sample|placeholder' | ||
|
|
||
| tmp_hits="$(mktemp)" | ||
| trap 'rm -f "${tmp_hits}"' EXIT | ||
|
|
||
| for pattern in "${patterns[@]}"; do | ||
| rg -n --pcre2 --hidden \ | ||
| --glob '!docs/node_modules/**' \ | ||
| --glob '!**/*.min.*' \ | ||
| --glob '!**/*.svg' \ | ||
| --glob '!**/*.png' \ | ||
| --glob '!**/*.jpg' \ | ||
| --glob '!**/*.jpeg' \ | ||
| --glob '!**/*.gif' \ | ||
| --glob '!**/*.webp' \ | ||
| --glob '!**/*.pdf' \ | ||
| --glob '!**/*.lock' \ | ||
| --glob '!**/*.snap' \ | ||
| -e "${pattern}" docs README.md README_CN.md examples >> "${tmp_hits}" || true | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Using |
||
| done | ||
|
|
||
| if [[ ! -s "${tmp_hits}" ]]; then | ||
| echo "docs secret sample check passed" | ||
| exit 0 | ||
| fi | ||
|
|
||
| violations=0 | ||
| while IFS= read -r hit; do | ||
| line_content="${hit#*:*:}" | ||
| if printf '%s' "${line_content}" | rg -qi "${allowed_context}"; then | ||
| continue | ||
| fi | ||
| echo "Potential secret detected: ${hit}" | ||
| violations=1 | ||
| done < "${tmp_hits}" | ||
|
|
||
| if [[ "${violations}" -ne 0 ]]; then | ||
| echo "Secret sample check failed. Replace with placeholders or redact." | ||
| exit 1 | ||
| fi | ||
|
|
||
| echo "docs secret sample check passed" | ||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
| @@ -0,0 +1,49 @@ | ||||||
| #!/usr/bin/env bash | ||||||
| set -euo pipefail | ||||||
|
|
||||||
| report="${REPORT_PATH:-docs/reports/fragemented/OPEN_ITEMS_VALIDATION_2026-02-22.md}" | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. There is a typo in the directory name
Suggested change
|
||||||
| if [[ ! -f "$report" ]]; then | ||||||
| echo "[FAIL] Missing report: $report" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| section="$(awk ' | ||||||
| BEGIN { in_issue=0 } | ||||||
| /^- Issue #258/ { in_issue=1 } | ||||||
| in_issue { | ||||||
| if ($0 ~ /^- (Issue|PR) #[0-9]+/ && $0 !~ /^- Issue #258/) { | ||||||
| exit | ||||||
| } | ||||||
| } | ||||||
| ' "$report")" | ||||||
|
|
||||||
| if [[ -z "$section" ]]; then | ||||||
| echo "[FAIL] $report missing Issue #258 section." | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| status_line="$(echo "$section" | awk 'BEGIN{IGNORECASE=1} /- (Status|State):/{print; exit}')" | ||||||
| if [[ -z "$status_line" ]]; then | ||||||
| echo "[FAIL] $report missing explicit status line for #258 (expected '- Status:' or '- State:')." | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| status_lower="$(echo "$status_line" | tr '[:upper:]' '[:lower:]')" | ||||||
|
|
||||||
| if echo "$status_lower" | rg -q "\b(partial|partially|not implemented|todo|to-do|pending|wip|in progress|open|blocked|backlog)\b"; then | ||||||
| echo "[FAIL] $report has non-implemented status for #258: $status_line" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| if ! echo "$status_lower" | rg -q "\b(implemented|resolved|complete|completed|closed|done|fixed|landed|shipped)\b"; then | ||||||
| echo "[FAIL] $report has unrecognized completion status for #258: $status_line" | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| if ! rg -n "pkg/llmproxy/translator/codex/openai/chat-completions/codex_openai_request.go" "$report" >/dev/null 2>&1; then | ||||||
| echo "[FAIL] $report missing codex variant fallback evidence path." | ||||||
| exit 1 | ||||||
| fi | ||||||
|
|
||||||
| echo "[OK] fragmented open-items report parity checks passed" | ||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,16 @@ | ||
| #!/usr/bin/env bash | ||
| set -euo pipefail | ||
|
|
||
| ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" | ||
| cd "$ROOT" | ||
|
|
||
| # Guard against unresolved generator placeholders in planning reports. | ||
| # Allow natural-language "undefined" mentions; block explicit malformed token patterns. | ||
| PATTERN='undefinedBKM-[A-Za-z0-9_-]+|undefined[A-Z0-9_-]+undefined' | ||
|
|
||
| if rg -n --pcre2 "$PATTERN" docs/planning/reports -g '*.md'; then | ||
| echo "[FAIL] unresolved placeholder-like tokens detected in docs/planning/reports" | ||
| exit 1 | ||
| fi | ||
|
|
||
| echo "[OK] no unresolved placeholder-like tokens in docs/planning/reports" |
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,31 @@ | ||||||||||||||||||||||||||||||||||||||||
| #!/usr/bin/env bash | ||||||||||||||||||||||||||||||||||||||||
| set -euo pipefail | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| violations=0 | ||||||||||||||||||||||||||||||||||||||||
| allowed_write_keys='security-events|id-token|pages' | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| for workflow in .github/workflows/*.yml .github/workflows/*.yaml; do | ||||||||||||||||||||||||||||||||||||||||
| [[ -f "${workflow}" ]] || continue | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| if rg -n '^permissions:\s*write-all\s*$' "${workflow}" >/dev/null; then | ||||||||||||||||||||||||||||||||||||||||
| echo "${workflow}: uses permissions: write-all" | ||||||||||||||||||||||||||||||||||||||||
| violations=1 | ||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| if rg -n '^on:' "${workflow}" >/dev/null && rg -n 'pull_request:' "${workflow}" >/dev/null; then | ||||||||||||||||||||||||||||||||||||||||
| while IFS= read -r line; do | ||||||||||||||||||||||||||||||||||||||||
| key="$(printf '%s' "${line}" | sed -E 's/^[0-9]+:\s*([a-zA-Z-]+):\s*write\s*$/\1/')" | ||||||||||||||||||||||||||||||||||||||||
| if [[ "${key}" != "${line}" ]] && ! printf '%s' "${key}" | grep -Eq "^(${allowed_write_keys})$"; then | ||||||||||||||||||||||||||||||||||||||||
| echo "${workflow}: pull_request workflow grants '${key}: write'" | ||||||||||||||||||||||||||||||||||||||||
| violations=1 | ||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||
| done < <(rg -n '^\s*[a-zA-Z-]+:\s*write\s*$' "${workflow}") | ||||||||||||||||||||||||||||||||||||||||
|
Comment on lines
+16
to
+22
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Using
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||
| done | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| if [[ "${violations}" -ne 0 ]]; then | ||||||||||||||||||||||||||||||||||||||||
| echo "workflow token permission check failed" | ||||||||||||||||||||||||||||||||||||||||
| exit 1 | ||||||||||||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| echo "workflow token permission check passed" | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The
package-ecosystemis not specified. For a Go project, this should be set togomodfor Dependabot to correctly find and update dependencies. The current empty value will cause Dependabot runs to fail. Also, the commenthahais unprofessional and should be removed.