From c858a876f1fac32cbf272ed52c6f39aa19fa0879 Mon Sep 17 00:00:00 2001 From: ericgodwin Date: Tue, 11 Aug 2026 09:42:41 -0700 Subject: [PATCH 1/3] Add Overture issue template and field sync workflow Ports the issue-template setup from tf-data-platform (#4623, #4728) to this repo, which previously had no .github/ISSUE_TEMPLATE/ directory at all. - overture.yaml: files into the Overture project (OvertureMaps/84) and prompts for Type, Scope, and Skillset. No option is selected by default, and Feature is not offered under Type. - config.yml: disables blank issues so every issue uses the template. - sync-issue-type-and-scope.yml: populates the org-level Type, Scope, and Skillset fields from the form answers when an issue is opened. Closes #651 Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: ericgodwin --- .github/ISSUE_TEMPLATE/config.yml | 1 + .github/ISSUE_TEMPLATE/overture.yaml | 49 +++++++++++++++++++ .../workflows/sync-issue-type-and-scope.yml | 24 +++++++++ 3 files changed, 74 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/config.yml create mode 100644 .github/ISSUE_TEMPLATE/overture.yaml create mode 100644 .github/workflows/sync-issue-type-and-scope.yml diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 000000000..3ba13e0ce --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1 @@ +blank_issues_enabled: false diff --git a/.github/ISSUE_TEMPLATE/overture.yaml b/.github/ISSUE_TEMPLATE/overture.yaml new file mode 100644 index 000000000..794881ef6 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/overture.yaml @@ -0,0 +1,49 @@ +name: Overture +description: General issue for work tracked in the Overture project. +projects: ["OvertureMaps/84"] +body: + - type: dropdown + id: type + attributes: + label: Type + description: What kind of work is this? Used to populate the organization-level `Type` field during triage. + options: + - Task + - Bug + - Agenda + validations: + required: true + - type: dropdown + id: scope + attributes: + label: Scope + description: Primary theme or platform impacted. Used to populate the organization-level `Scope` field during triage. + options: + - Addresses + - Base + - Buildings + - Divisions + - Places + - Transportation + - Multi-theme or Platform + validations: + required: true + - 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 + validations: + required: true + - type: textarea + id: description + attributes: + label: Description + placeholder: Describe what this issue is trying to accomplish (what), context (why), constraints, acceptance criteria, design details (how), and testing + validations: + required: true diff --git a/.github/workflows/sync-issue-type-and-scope.yml b/.github/workflows/sync-issue-type-and-scope.yml new file mode 100644 index 000000000..fface0036 --- /dev/null +++ b/.github/workflows/sync-issue-type-and-scope.yml @@ -0,0 +1,24 @@ +name: Sync issue Type and Scope + +on: + issues: + types: [opened] + +permissions: {} + +# One sync run per issue at a time; drop duplicate triggers. +concurrency: + group: ${{ github.workflow }}-${{ github.event.issue.number }} + cancel-in-progress: true + +jobs: + sync-fields: + name: Sync fields + runs-on: ubuntu-slim + permissions: + issues: write # Read the issue body and set the org-level Type, Scope, and Skillset fields. + steps: + - name: Sync Type and Scope from form answers + uses: OvertureMaps/workflows/.github/actions/sync-issue-fields@main # zizmor: ignore[unpinned-uses] intentionally track main + with: + github-token: ${{ secrets.GITHUB_TOKEN }} From 16e304f498802f479b67ead8e465a4e043629eef Mon Sep 17 00:00:00 2001 From: ericgodwin Date: Tue, 11 Aug 2026 10:05:06 -0700 Subject: [PATCH 2/3] Make the Skillset dropdown optional Skillset is often not obvious to the reporter at filing time, and forcing a choice invites a wrong one. Type and Scope stay required. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: ericgodwin --- .github/ISSUE_TEMPLATE/overture.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/overture.yaml b/.github/ISSUE_TEMPLATE/overture.yaml index 794881ef6..f7f8337e1 100644 --- a/.github/ISSUE_TEMPLATE/overture.yaml +++ b/.github/ISSUE_TEMPLATE/overture.yaml @@ -38,8 +38,6 @@ body: - data science - dev ops - engineering - validations: - required: true - type: textarea id: description attributes: From e0473a503f9fd0bb6a1d62168db120ff32cc3e88 Mon Sep 17 00:00:00 2001 From: lowlydba Date: Tue, 11 Aug 2026 17:25:19 -0400 Subject: [PATCH 3/3] fix: remove pull_request path filters from required-check workflows 'All Python checks pass', 'Build', and 'check / Check Python package versions' are required status checks per omf-github-terraform's schema.yml ruleset, but their pull_request triggers were path-filtered. Any PR that doesn't touch those paths (e.g. this one, .github/ only) never runs them, so GitHub reports the required check as permanently pending and blocks the merge. Drop the pull_request path filters so these always run and can actually satisfy the required-check gate; push triggers are untouched. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Signed-off-by: lowlydba --- .github/workflows/check-python-code.yaml | 11 ++++------- .github/workflows/check-python-package-versions.yaml | 7 ++++--- .github/workflows/test-schema.yaml | 9 ++++----- 3 files changed, 12 insertions(+), 15 deletions(-) diff --git a/.github/workflows/check-python-code.yaml b/.github/workflows/check-python-code.yaml index 5948c3826..5f8cb5a47 100644 --- a/.github/workflows/check-python-code.yaml +++ b/.github/workflows/check-python-code.yaml @@ -1,13 +1,10 @@ name: Check Python package code on: - pull_request: - paths: - - 'packages/**' - - 'pyproject.toml' - - 'uv.lock' - - 'Makefile' - - '.github/workflows/check-python-code.yaml' + # No path filter on pull_request: "All Python checks pass" is a required + # status check (see schema.yml in omf-github-terraform), and GitHub never + # satisfies a required check that a path filter prevents from running. + pull_request: {} push: branches: [main, dev] paths: diff --git a/.github/workflows/check-python-package-versions.yaml b/.github/workflows/check-python-package-versions.yaml index 1277c9dcf..0da6bcce4 100644 --- a/.github/workflows/check-python-package-versions.yaml +++ b/.github/workflows/check-python-package-versions.yaml @@ -1,9 +1,10 @@ name: Check Python package version numbers on: - pull_request: - paths: - - '**/pyproject.toml' + # No path filter: "check / Check Python package versions" is a required + # status check (see schema.yml in omf-github-terraform), and GitHub never + # satisfies a required check that a path filter prevents from running. + pull_request: {} permissions: contents: read diff --git a/.github/workflows/test-schema.yaml b/.github/workflows/test-schema.yaml index 802607f41..3823562fc 100644 --- a/.github/workflows/test-schema.yaml +++ b/.github/workflows/test-schema.yaml @@ -9,11 +9,10 @@ on: - 'schema/**' - 'examples/**' - 'counterexamples/**' - pull_request: - paths: - - 'schema/**' - - 'examples/**' - - 'counterexamples/**' + # No path filter on pull_request: "Build" is a required status check (see + # schema.yml in omf-github-terraform), and GitHub never satisfies a + # required check that a path filter prevents from running. + pull_request: {} permissions: contents: read