Skip to content

[CHORE] Add Overture issue template and field sync workflow - #474

Merged
Eric Godwin (ericgodwin) merged 5 commits into
mainfrom
ericgodwin-ericg-473-add-issue-templates
Aug 12, 2026
Merged

[CHORE] Add Overture issue template and field sync workflow#474
Eric Godwin (ericgodwin) merged 5 commits into
mainfrom
ericgodwin-ericg-473-add-issue-templates

Conversation

@ericgodwin

Copy link
Copy Markdown
Contributor

Closes #473

Summary

OvertureMaps/docs had no .github/ISSUE_TEMPLATE/ directory — every issue was filed blank. This adds the standard Overture issue form plus the org field sync workflow, matching tf-data-platform (OvertureMaps/tf-data-platform#4623, OvertureMaps/tf-data-platform#4728).

Changes

  • .github/ISSUE_TEMPLATE/overture.yaml — the single Overture template. Adds new issues to the Overture project (OvertureMaps/84) and prompts for:

    • Type: Task, Bug, Agenda (no Feature)
    • Scope: Addresses, Base, Buildings, Divisions, Places, Transportation, Multi-theme or Platform
    • Skillset: data analysis, data science, dev ops, engineering
    • Description textarea

    All four fields are required, and no dropdown has a default: — nothing is pre-selected. The template does not prepend a bracketed type to the issue title.

  • .github/ISSUE_TEMPLATE/config.ymlblank_issues_enabled: false.

  • .github/workflows/sync-issue-type-and-scope.yml — runs OvertureMaps/workflows/.github/actions/sync-issue-fields@main on issues: opened to copy the form answers into the org-level fields.

No templates were removed — there were none to remove.

Design pivots

overture.yaml and config.yml are byte-identical to tf-data-platform. The workflow needed small adjustments to pass this repo's stricter lint bar (uvx zizmor --persona=pedantic reported four findings against the tf-data-platform copy):

  • added the leading --- document marker, matching the other workflows in this repo
  • added top-level permissions: {} (fixes excessive-permissions)
  • added name: Sync Fields to the job (fixes anonymous-definition)
  • added an explanatory comment on issues: write (fixes undocumented-permissions)

The # zizmor: ignore[unpinned-uses] on the @main action reference is carried over from tf-data-platform — the shared action is intentionally tracked at main.

Testing

  • uvx zizmor --persona=pedantic .github/workflows/sync-issue-type-and-scope.ymlNo findings to report. Good job! (1 ignored)
  • All three files parse as valid YAML.

Post-merge verification (per the issue's test plan): confirm the template renders in the "New issue" chooser, that required-field validation blocks submission with an unselected dropdown, that the blank-issue option is gone, and that a test issue lands in the Overture project with Type / Scope / Skillset populated by the sync workflow.

Operational impact

New issues in this repo must go through the form. Existing issues are unaffected.

Adds .github/ISSUE_TEMPLATE/overture.yaml (Type, Scope, Skillset, Description),
config.yml disabling blank issues, and the sync-issue-type-and-scope workflow
that populates the org-level fields from the form answers.

Closes #473

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ericgodwin <eric@overturemaps.org>
@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

Super-linter summary

Language Validation result
JAVASCRIPT_ES Pass ✅
MARKDOWN Pass ✅
NATURAL_LANGUAGE Pass ✅
SQLFLUFF Pass ✅

All files and directories linted successfully

For more information, see the GitHub Actions workflow run

Powered by Super-linter

@github-actions

github-actions Bot commented Aug 10, 2026

Copy link
Copy Markdown

🗺️ OMF Docs previews are live!

🆕 Auto-gen schema site (beta) https://staging.overturemaps.org/docs/pr/474/index.html
🗂️ Auto-gen schema ref main@bd85f08
🌍 Repo schema site https://staging.overturemaps.org/docs/pr/474-no-autogen/index.html
🕐 Updated Aug 12, 2026 19:28 UTC
📝 Commit 9d6e91a

Auto-gen schema site is now available. This is an early preview of a future workflow where we will automatically generate and publish reference docs for the Overture Maps Format schema.

The auto-gen schema site may contain incomplete or inaccurate information as we are still refining the generation process, so please compare against the repo schema site and refer to the official Overture documentation for authoritative information.

Note

♻️ This preview updates automatically with each push to this PR.

Skillset is often not known at issue-open time; leave it to triage rather
than blocking submission.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ericgodwin <eric@overturemaps.org>
docs/schema/reference/ is codegen output synced from OvertureMaps/schema.
It is already excluded from markdownlint via .markdownlintignore, but had
no textlint equivalent, so 9 terminology errors failed the Super-Linter
NATURAL_LANGUAGE check on every branch.

Fixing the text in place would regress on the next codegen sync, and
several findings are false positives against generated content: the 'Id'
heading in system/ref/id.md is a schema type name matching its sibling
pages, and 'websites' in places/place.md refers to the schema field of
that name.

Add .textlintignore mirroring .markdownlintignore. textlint auto-discovers
it from the working directory, so no change to lint.yml is needed.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ericgodwin <eric@overturemaps.org>
@lowlydba
John McCall (lowlydba) dismissed their stale review August 12, 2026 16:44

dont want to ignore all textlint issues

Replaces the blanket .textlintignore added earlier with actual fixes.

Fixed in place (8 of 9):
- 'Key/value pairs' -> 'Key-value pairs' (5 files)
- 'a snake case identifier' -> 'a `snake_case` identifier' (2 occurrences);
  backticks are correct here since it names an identifier, and the
  terminology rule skips inline code
- 'The websites of the place.' -> 'The web addresses of the place.'

The remaining error is the '# Id' heading in system/ref/id.md. Id is the
literal name of the schema NewType, and the reference sidebar is
autogenerated with no frontmatter, so Docusaurus derives the page title
from that heading -- it cannot be reworded or backticked without changing
the rendered navigation. Excluded the single 'ID' term instead; every
other terminology term stays enforced repo-wide.

These files are generated from OvertureMaps/schema, so the wording fixes
need to be mirrored upstream (_common.py, string.py, place.yaml/place.py)
or they will regress on the next codegen sync.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Signed-off-by: ericgodwin <eric@overturemaps.org>
@lowlydba
John McCall (lowlydba) marked this pull request as ready for review August 12, 2026 20:03
@lowlydba
John McCall (lowlydba) requested a review from a team as a code owner August 12, 2026 20:03
Copilot AI lite review requested due to automatic review settings August 12, 2026 20:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds GitHub issue intake infrastructure for this repo (standard Overture issue form + field-sync workflow) so new issues are consistently categorized and added to the org project, and includes a small set of unrelated schema-doc/textlint wording adjustments.

Changes:

  • Add a single Overture issue form and disable blank issues (.github/ISSUE_TEMPLATE/*).
  • Add an issues: opened workflow to sync issue form answers into org-level fields (.github/workflows/sync-issue-type-and-scope.yml).
  • Update several schema reference docs and adjust textlint terminology exclusions.

Reviewed changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/schema/reference/system/snake_case_string.md Doc wording tweak to format “snake_case” as code.
docs/schema/reference/places/place.md Doc wording tweak for the websites field description.
docs/schema/reference/base/water.md Doc wording tweak (“Key/value” → “Key-value”) in source_tags description.
docs/schema/reference/base/types/source_tags.md Doc wording tweak (“Key/value” → “Key-value”) in SourceTags description.
docs/schema/reference/base/land.md Doc wording tweak (“Key/value” → “Key-value”) in source_tags description.
docs/schema/reference/base/land_use.md Doc wording tweak (“Key/value” → “Key-value”) in source_tags description.
docs/schema/reference/base/infrastructure.md Doc wording tweak (“Key/value” → “Key-value”) in source_tags description.
.github/workflows/sync-issue-type-and-scope.yml New workflow to sync issue form fields on issue creation.
.github/linters/.textlintrc.json Adjust textlint terminology rule exclusions.
.github/ISSUE_TEMPLATE/overture.yaml New standard Overture issue form targeting project OvertureMaps/84.
.github/ISSUE_TEMPLATE/config.yml Disable blank issues so issues must use the form.
Suppressed comments (1)

.github/workflows/sync-issue-type-and-scope.yml:22

  • Step name says it syncs only Type and Scope, but this workflow also syncs Skillset. Updating the step label will make workflow logs clearer.
      - name: Sync Type and Scope from form answers

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@@ -0,0 +1,25 @@
---
name: Sync issue Type and Scope
Comment on lines +31 to +40
- type: dropdown
id: skillset
attributes:
label: Skillset
description: Primary skill needed to complete this task. Used to populate the organization-level `Skillset` field during triage.
options:
- data analysis
- data science
- dev ops
- engineering
"rules": {
"terminology": {
"exclude": ["to-?do(s)?(?=[ ,.])"]
"exclude": ["to-?do(s)?(?=[ ,.])", "ID"]
@ericgodwin
Eric Godwin (ericgodwin) merged commit 8ab38b8 into main Aug 12, 2026
23 checks passed
@ericgodwin
Eric Godwin (ericgodwin) deleted the ericgodwin-ericg-473-add-issue-templates branch August 12, 2026 20:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add standard Overture issue template and field sync workflow

3 participants