SShortSingh.
Back to feed

How a silent Maven config change can drop tests while keeping CI green

0
·1 views

A developer building a Spring Boot demo discovered that adding an include filter to Maven's Surefire plugin caused one of two test classes to stop running entirely, while the build still passed with exit code 0. Because Maven only checks whether the tests it ran passed, a missing test class produces no error, no red build, and no malformed report. Standard CI tools and JUnit reporters cannot detect an absent report unless they know which reports were expected in the first place. The author tested Exevra, a tool that records a baseline of expected test report files and fails the workflow if any are missing on a subsequent run. The experiment highlights that changes to test-execution scope can silently shrink a test suite, and making such changes an explicit, reviewable contract is one way to close that gap.

Read the full story at DEV Community

This is an AI-generated summary. ShortSingh links to the original source for the complete article.

Discussion (0)

Log in to join the discussion and vote.

Log in

Related stories

0
ProgrammingDEV Community ·

AI Agent Memory Relies on Feedback Signals That Almost Never Arrive in Production

A production audit of a reinforcement-aware AI memory engine found that explicit feedback — the only signal capable of durably strengthening memory associations — is nearly absent from real-world usage. Measurements taken in August 2026 across 359,388 concept-graph edges and 65 tenants revealed that benchmark environments, where feedback was triggered automatically, had up to 94.8% of edges touched by feedback, while live tenants ranged from 12.8% down to 0.6%. Memory grown under benchmark conditions was roughly three times denser and five times more resistant to decay than memory shaped by live traffic alone. The authors caution that while the structural gap is clear, a direct causal link between more feedback and better retrieval quality for real users has not yet been established. The finding echoes a long-standing challenge in recommendation systems, where explicit user signals have always been far scarcer than implicit ones.

0
ProgrammingDEV Community ·

Protecting Traefik with Coolify (note-to-self) 📝

ℹ️ This is a draft. Add crowdsec repos curl -s https://install.crowdsec.net | sudo sh instal IP tables bouncer as from 2026-07-21 - Coolify-Crowdsec create appsec.yml appsec_configs: - crowdsecurity/appsec-default labels: type: appsec listen_addr: 0.0.0.0:7422 source: appsec create docker.yml source: docker use_container_labels: true create syslog.yml filenames: - /var/log/auth.log - /var/log/syslog labels: type: syslog Edit compose.yml for crowdsec edit volumes and add there folloin files volumes: - ./appsec.yaml:/etc/crowdsec/acquis.d/appsec.yaml - ./syslog.yaml:/etc/crowdsec/acquis.d/syslog

0
ProgrammingDEV Community ·

Spring Boot 4 vs Quarkus 3.27: Key Differences for Cloud-Native Java in 2026

Java developers in 2026 face a meaningful choice between two major framework releases: Spring Boot 4, rebuilt on Spring Framework 7 and Jakarta EE 11, and Quarkus 3.27, a long-term support release patched as recently as August 2026. Spring Boot 4's headline change is modularisation, breaking its monolithic auto-configuration JAR into over 70 smaller modules, reducing classpath size and improving startup performance. It also introduces native API versioning, declarative HTTP client beans, and built-in resilience annotations, while dropping JUnit 4 support and switching to Jackson 3 as the default JSON library. Quarkus 3.27 retains its core advantage of compile-time dependency injection, which eliminates runtime classpath scanning and is the structural reason it starts faster and produces leaner native images. Both frameworks now support Java 25 and GraalVM native compilation, making the choice less about capability and more about architectural philosophy and workload fit.

0
ProgrammingDEV Community ·

Google Cloud's Hidden Org Policy Blocks Service Account Keys Without Warning

A developer attempting to generate a JSON service account key for a Google Cloud project received a cryptic FAILED_PRECONDITION error with no explanation. The cause turned out to be an organization policy constraint called iam.disableServiceAccountKeyCreation, silently inherited from a linked Google Workspace domain the developer had set up years earlier. The policy blocks key creation across all projects under the organization, even those personally owned and administered, and users receive no notification when it is enforced. After spending two hours attempting to override the constraint — which requires org-level admin permissions beyond standard project ownership — the developer abandoned that approach entirely. The experience highlighted how default org policies in Google Cloud can silently block common workflows, and that alternative authentication methods may achieve the same goal without needing a key file at all.