From 3601fa69888c797fa7e5368a0d6ab8a3d1ecd0e3 Mon Sep 17 00:00:00 2001 From: deacon-mp Date: Fri, 10 Jul 2026 10:29:29 -0400 Subject: [PATCH 1/4] Add .asf.yaml for Apache Infra repository configuration Route GitHub notifications to the archived ASF mailing lists and declare repository metadata/features/merge policy via Apache Infrastructure's .asf.yaml self-service mechanism (currently absent from the repo). Notifications (effective on the default branch only): - commit activity -> commits@caldera.apache.org - issue & PR activity -> dev@caldera.apache.org Also sets the description/homepage (caldera.apache.org), repo features, squash-only merges, branch tidy-on-merge, and Dependabot alerts. Branch protection is included as a commented template for the podling to enable. Ref: https://infra.apache.org/asf-yaml.html --- .asf.yaml | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 .asf.yaml diff --git a/.asf.yaml b/.asf.yaml new file mode 100644 index 000000000..d28526754 --- /dev/null +++ b/.asf.yaml @@ -0,0 +1,63 @@ +# .asf.yaml — Apache Infra self-service config for github.com/apache/caldera +# Reference: https://github.com/apache/infrastructure-asfyaml · https://infra.apache.org/asf-yaml.html +# This file lives at the repo ROOT and its `notifications:` block ONLY takes effect on the +# DEFAULT branch (master). Repo metadata/features (github:) are not branch-specific. + +# --- REQUIRED IN PRACTICE: route GitHub activity to the archived ASF mailing lists ----------------- +# Podling governance expects development to be visible/archived on-list. Caldera's real lists are +# dev@/users@/commits@/private@caldera.apache.org (no dedicated issues@/notifications@ list yet), so +# commit traffic -> commits@ and issue/PR traffic -> dev@ (request a notifications@ list from Infra +# later if dev@ gets too noisy). +notifications: + commits: commits@caldera.apache.org + issues: dev@caldera.apache.org + pullrequests: dev@caldera.apache.org + # jobs: dev@caldera.apache.org # GitHub Actions build status — enable if the project wants CI failures on-list + # jira_options: link label comment # only if Caldera adopts ASF Jira; it uses GitHub Issues, so omitted + +# --- RECOMMENDED: repo metadata, features, and merge policy ---------------------------------------- +github: + description: "Automated Adversary Emulation Platform" + homepage: https://caldera.apache.org/ # update from the old caldera.mitre.org + # NOTE: `labels:` REPLACES the repo's GitHub topics wholesale — keep the list intentional. + labels: + - adversary-emulation + - security-automation + - red-team + - mitre-attack + - cybersecurity + - security-testing + - caldera + + features: + issues: true + wiki: true + projects: false + discussions: true + + # Caldera merges via squash today; squash-only keeps master history linear. + enabled_merge_buttons: + squash: true + merge: false + rebase: false + + pull_requests: + del_branch_on_merge: true # tidy: delete the source branch after merge + allow_auto_merge: false + allow_update_branch: true + + dependabot_alerts: true + dependabot_updates: false + + # --- OPTIONAL self-serve branch protection (enable once the project agrees on required checks) ---- + # protected_branches: + # master: + # required_pull_request_reviews: + # required_approving_review_count: 1 + # dismiss_stale_reviews: true + # required_status_checks: + # strict: true + # contexts: + # - + # required_conversation_resolution: true + # # required_signatures: true # only if all committers sign commits — can block merges otherwise From 0b5145434e2ef9bfc02c11434ebfe92c291f50bc Mon Sep 17 00:00:00 2001 From: deacon-mp <61169193+deacon-mp@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:18:56 -0400 Subject: [PATCH 2/4] Update .asf.yaml Update protected branch and required status checks --- .asf.yaml | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/.asf.yaml b/.asf.yaml index d28526754..ba350aed7 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -50,14 +50,15 @@ github: dependabot_updates: false # --- OPTIONAL self-serve branch protection (enable once the project agrees on required checks) ---- - # protected_branches: - # master: - # required_pull_request_reviews: - # required_approving_review_count: 1 - # dismiss_stale_reviews: true - # required_status_checks: - # strict: true - # contexts: - # - + protected_branches: + master: + required_pull_request_reviews: + required_approving_review_count: 1 + dismiss_stale_reviews: true + required_status_checks: + strict: true + contexts: + - Code Quality + - Security Checks # required_conversation_resolution: true # # required_signatures: true # only if all committers sign commits — can block merges otherwise From 857cc369ad50a0ad203aa87aedf8844a76674868 Mon Sep 17 00:00:00 2001 From: deacon-mp <61169193+deacon-mp@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:25:06 -0400 Subject: [PATCH 3/4] Update .asf.yaml Added Copilot Auto Review --- .asf.yaml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index ba350aed7..1393ff112 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -14,7 +14,7 @@ notifications: pullrequests: dev@caldera.apache.org # jobs: dev@caldera.apache.org # GitHub Actions build status — enable if the project wants CI failures on-list # jira_options: link label comment # only if Caldera adopts ASF Jira; it uses GitHub Issues, so omitted - + # --- RECOMMENDED: repo metadata, features, and merge policy ---------------------------------------- github: description: "Automated Adversary Emulation Platform" @@ -62,3 +62,7 @@ github: - Security Checks # required_conversation_resolution: true # # required_signatures: true # only if all committers sign commits — can block merges otherwise + copilot_code_review: + enabled: true + review_drafts: false + review_on_push: true From 204cf6fe7a298a58f973a8366495a9117490aac4 Mon Sep 17 00:00:00 2001 From: deacon-mp <61169193+deacon-mp@users.noreply.github.com> Date: Mon, 20 Jul 2026 15:30:39 -0400 Subject: [PATCH 4/4] Update .asf.yaml added required_conversation_resolution: true --- .asf.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.asf.yaml b/.asf.yaml index 1393ff112..fe7b58788 100644 --- a/.asf.yaml +++ b/.asf.yaml @@ -60,7 +60,7 @@ github: contexts: - Code Quality - Security Checks - # required_conversation_resolution: true + required_conversation_resolution: true # # required_signatures: true # only if all committers sign commits — can block merges otherwise copilot_code_review: enabled: true