Skip to content

chore(.asf.yaml): null out main branch protection to clear stale rules#11

Merged
clambertus merged 1 commit into
apache:mainfrom
andygrove:asf-yaml-null-protected-branches
May 13, 2026
Merged

chore(.asf.yaml): null out main branch protection to clear stale rules#11
clambertus merged 1 commit into
apache:mainfrom
andygrove:asf-yaml-null-protected-branches

Conversation

@andygrove
Copy link
Copy Markdown
Member

Summary

  • Sets github.protected_branches.main: ~ in .asf.yaml.

Rationale

The previous PR (#7) removed the protected_branches block entirely, but ASF INFRA only applies settings that are present in .asf.yaml — it does not clear settings when keys are simply omitted. The required status checks (Java (spotless), Rust (cargo fmt)) therefore remain configured on main and continue to block every PR, because the workflow that would produce those check contexts is also gone.

Explicitly setting protected_branches.main to YAML null (~) tells INFRA to clear the existing branch protection rules on main. Branch protection can be reintroduced later once CI is in place.

The previous PR removed the protected_branches block entirely, but
ASF INFRA only applies settings that are present in .asf.yaml — it
does not clear settings when keys are simply omitted. The required
status checks (Java (spotless), Rust (cargo fmt)) therefore remain
in place on main and continue to block PRs.

Explicitly set protected_branches.main to YAML null (~) so INFRA
clears the existing branch protection rules on main.
@clambertus
Copy link
Copy Markdown

Infra force-merge per #asfinfra discussion with Andy.

@clambertus clambertus enabled auto-merge (squash) May 13, 2026 02:11
@clambertus clambertus disabled auto-merge May 13, 2026 02:12
@clambertus clambertus merged commit e412ab5 into apache:main May 13, 2026
andygrove added a commit that referenced this pull request May 13, 2026
## Summary

- Adds `.github/workflows/build.yml` running on pushes to `main` and on
PRs targeting `main`.
- Sets up Temurin JDK 17 and a stable Rust toolchain, caches Maven
(`~/.m2`) and cargo (`native/target`) artifacts, then runs `make test`.

## Rationale

The project currently has no CI: `format.yml` was removed in #7 to clear
a deadlock when GitHub Actions wasn't yet enabled, and #11 nulled out
the stale branch protection rules left behind. With Actions now in
place, we need at least one workflow that exercises the build on every
PR so regressions surface before merge.

`make test` is the canonical full build entry point documented in
`README.md` and `CONTRIBUTING.md` — it depends on the `native` target
(so it builds the Rust crate first) and then runs the JVM JUnit suite,
which is exactly what CI needs to cover.

## What's in this PR

- `.github/workflows/build.yml`: single `build` job on `ubuntu-latest`,
JDK 17 (Temurin) with Maven cache via `actions/setup-java`, Rust stable
via `dtolnay/rust-toolchain`, cargo cache via `Swatinem/rust-cache`
scoped to the `native` workspace, then `make test`.

## Not in this PR

- Spotless / Apache RAT / clippy / `cargo fmt` checks. These run at
Maven's `verify` phase or via separate cargo commands and aren't wired
into the Makefile yet; they can be added in a follow-up once we decide
whether to extend the Makefile or invoke them directly from CI.
- Matrix builds across OS or JDK versions — start minimal, expand if
needed.
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.

2 participants