Using Arch-Go to test the quality of our architecture
summary
Arch-Go is a Go testing tool that reads a project jammer file in the repo root and evaluates architecture rules to pass or fail CI. It supports five rule types (dependency, content, function, naming, cycles) and specific checks like allowed/forbidden package imports including external packages, max function parameters and return values, max public functions per file, max function LOC, and cycle detection. It produces console output or an optional HTML report and installs via go get and runs in GitHub Actions, CircleCI or Bitbucket.
AI-written summary · about
chapters (14)
- 0:00Arch-Go introduction
- 1:39Architectural guidelines matter
- 5:13Challenges in maintaining guidelines
- 8:05Arch-Go rules representation
- 10:54Simplifying Arch-Go rules
- 12:43Evaluating compliance
- 13:24Dependency rules enforcement
- 15:11Package structure rules
- 16:37Code quality constraints
- 18:05Naming conventions enforcement
- 19:30Cycle dependency checks
- 20:36HTML reports generation
- 20:57CI/CD automation
- 22:24Closing remarks
related talks
24mUnit Testing Your Architecture
22mArchitecture & ArchUnit
01h 34mThe Intersection of Architecture and Implementation
49mArchUnit: Guarding the Logic of Your Application
44mAspect-oriented Architecture
50mBuilding Evolutionary Architectures
58mTesting Software Architecture
42mArchitecture testing with ArchUnit: Implementation for DDD
