docs(governance): record public issue tracker evidence
This commit is contained in:
@@ -80,12 +80,25 @@ done
|
||||
if [[ -s "$MANIFEST" ]] && command -v jq >/dev/null 2>&1; then
|
||||
jq -e . "$MANIFEST" >/dev/null || fail "invalid_json:docs/public-issues/public-issues-manifest.json"
|
||||
jq -e '
|
||||
.status == "planned_issue_templates_ready"
|
||||
(.status == "planned_issue_templates_ready" or .status == "public_issue_urls_recorded")
|
||||
and .github_issue_tracker == "manual_or_gh_cli_creation_required"
|
||||
and .github_role == "public_mirror_validation_only"
|
||||
and .registry_release_evidence == "requires_russian_build_runner"
|
||||
and (.issues | length == 12)
|
||||
and all(.issues[]; .status == "ready_to_create" and .github_issue_url == null)
|
||||
and any(.issues[]; .github_issue_url != null)
|
||||
and all(.issues[];
|
||||
(.source | startswith("docs/public-issues/"))
|
||||
and (
|
||||
(.status == "ready_to_create" and .github_issue_url == null)
|
||||
or (
|
||||
.status == "created"
|
||||
and (.github_issue_url | type == "string")
|
||||
and (.github_issue_url | test("^https://github\\.com/igor04091968/AWatch-rus/issues/[0-9]+$"))
|
||||
and (.created_at | type == "string")
|
||||
and .created_by == "maintainer"
|
||||
)
|
||||
)
|
||||
)
|
||||
' "$MANIFEST" >/dev/null || fail "manifest_required_fields"
|
||||
while IFS= read -r source; do
|
||||
[[ -s "$ROOT/$source" ]] || fail "manifest_source_missing:$source"
|
||||
@@ -103,18 +116,26 @@ if ((${#failures[@]} > 0)); then
|
||||
fi
|
||||
|
||||
printf 'public_issues_prepare=ok\n'
|
||||
printf 'status=ready_to_create\n'
|
||||
printf 'status=%s\n' "$(jq -r '.status' "$MANIFEST" 2>/dev/null || printf 'unknown')"
|
||||
printf 'issue_templates=%d\n' "${#expected_files[@]}"
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
printf 'created_issues=%s\n' "$(jq '[.issues[] | select(.status == "created")] | length' "$MANIFEST")"
|
||||
printf 'ready_to_create=%s\n' "$(jq '[.issues[] | select(.status == "ready_to_create")] | length' "$MANIFEST")"
|
||||
fi
|
||||
printf '\n'
|
||||
printf 'Manual gh CLI commands, after maintainer review and gh auth:\n'
|
||||
printf 'Manual gh CLI commands for issues still ready_to_create, after maintainer review and gh auth:\n'
|
||||
|
||||
for name in "${expected_files[@]}"; do
|
||||
rel="docs/public-issues/$name"
|
||||
if command -v jq >/dev/null 2>&1; then
|
||||
status="$(jq -r --arg source "$rel" '.issues[] | select(.source == $source) | .status' "$MANIFEST")"
|
||||
[[ "$status" == "ready_to_create" ]] || continue
|
||||
fi
|
||||
file="$ISSUES_DIR/$name"
|
||||
title="$(section_value "Title" "$file")"
|
||||
labels="$(labels_for_gh "$(section_value "Labels" "$file")")"
|
||||
rel="docs/public-issues/$name"
|
||||
printf 'gh issue create --title %q --label %q --body-file %q\n' "$title" "$labels" "$rel"
|
||||
done
|
||||
|
||||
printf '\n'
|
||||
printf 'After creating issues, update docs/public-issues/public-issues-manifest.json with github_issue_url values.\n'
|
||||
printf 'After creating any remaining issues, update docs/public-issues/public-issues-manifest.json with github_issue_url values.\n'
|
||||
|
||||
Reference in New Issue
Block a user