Skip to content

Maintenance for 5.1.0#3065

Open
afranken wants to merge 6 commits into
mainfrom
maintenance-for-5.1.0-ctd-2
Open

Maintenance for 5.1.0#3065
afranken wants to merge 6 commits into
mainfrom
maintenance-for-5.1.0-ctd-2

Conversation

@afranken

Copy link
Copy Markdown
Member

Description

  • Repository Harness fixes for better agent support

Related Issue

N/A

Tasks

  • I have signed the CLA.
  • I have written tests and verified that they fail without my change.
  • I have run make format to fix code style.
  • I have updated CHANGELOG.md (if applicable).
  • I have updated documentation (if applicable).

Copilot AI review requested due to automatic review settings May 31, 2026 10: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

This PR updates repository “harness” and contributor/agent documentation for the 5.1.0 maintenance line, standardizing common workflows on make targets and adding an ArchUnit-based architecture test suite for the server module.

Changes:

  • Add an ArchUnit ArchitectureTest to enforce layering and annotation invariants in server/.
  • Introduce archunit-junit5 dependency management and wire it into the server module.
  • Standardize CI/docs/agent guidance around make verify, plus new make integration-test-class and make release targets.

Reviewed changes

Copilot reviewed 14 out of 14 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
server/src/test/kotlin/com/adobe/testing/s3mock/ArchitectureTest.kt Adds ArchUnit rules enforcing layer boundaries and banning legacy Jackson XML annotations.
server/pom.xml Adds archunit-junit5 as a test dependency and reorders test dependencies.
server/AGENTS.md Adds detailed storage filesystem/schema documentation for agents working in the server module.
pom.xml Introduces archunit.version and adds archunit-junit5 to dependencyManagement; minor build XML cleanup.
Makefile Adds integration-test-class and release targets; expands .PHONY and help output.
INVARIANTS.md Updates invariant from make format to make lint for style gate verification.
docs/TESTING.md Replaces raw Maven invocations with make integration-test-class; updates troubleshooting guidance.
docs/SETUP.md Updates prerequisites table formatting and guidance to prefer make targets.
docs/ARCHITECTURE.md Refines the architecture diagram to reflect more detailed component relationships.
AGENTS.md Moves storage schema details into server/AGENTS.md and updates agent commands/gates to use make.
.github/workflows/maven-release.yml Switches release workflow step from Maven CLI to make release.
.github/workflows/maven-ci-and-prb.yml Switches CI build command from Maven CLI to make verify; updates copyright year.
.github/CONTRIBUTING.md Updates Maven prerequisite guidance to use make targets.
.agents/skills/lint/SKILL.md Updates lint skill instructions to use make lint instead of direct Maven goals.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +53 to +65
@ArchTest
val noLegacyJacksonXmlAnnotations: ArchRule =
noCodeUnits()
.should()
.beAnnotatedWith("com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement")
.orShould()
.beAnnotatedWith("com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty")
.orShould()
.beAnnotatedWith("com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlElementWrapper")
.because("use tools.jackson annotations, not the legacy com.fasterxml packages")

@ArchTest
val controllersMayNotAccessStoreDirect: ArchRule =
Comment thread server/AGENTS.md
| `objectOwnership` | `ObjectOwnership?` | null until ownership is set |
| `bucketInfo` | `BucketInfo?` | bucket type/data-redundancy info |
| `locationInfo` | `LocationInfo?` | bucket location info |
| `path` | `Path` | filesystem path to the bucket folder (not serialized for cross-host use) |
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