Jul 15, 2020

AWS CodeBuild Test Reports for Gradle builds

Although AWS documentation has instructions for adding Test Reports for a maven build they currently lack instructions for a gradle build.

You can find the maven instructions here: https://aws.amazon.com/blogs/devops/test-reports-with-aws-codebuild/

Assuming you have your gradle wrapper in your code commit repository, you just need to update two sections in your buildspec.yml

First, update your buildspec.yml to call the gradlew test by changing the “phases -> builds -> commands” to “bash ./gradlew test”.

Second, update the buildspec.yml to where gradle stores the test reports by changing “reports -> ReportGroupName -> base-directory” to “build/test-results”.

Here is an example of a buildspec.yml with the updates.

version: 0.2
phases:
  build:
    commands:
      - bash ./gradlew test
reports: #New
  TestReports: # CodeBuild will create a report group called "TestReports".
    files: #Store all of the files
      - '**/*'
    base-directory: 'build/test-results' # Location of the reports
cache:
  paths:
    - '/root/.gradle/**/*'

About the Author

Scott Bock profile.

Scott Bock

Principal Technologist

Scott is a Senior Software Engineer with over 12 years of experience using Java, and 5 years experience in technical leadership positions. His strengths include troubleshooting and problem solving abilities, excellent repertoire with customers and management, and verbal and written communication. He develops code across the entire technology stack including database, application, and user interface.

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
An Exploration in Rust: Musings From a Java/C++ Developer
Why Rust? It’s fast (runtime performance) It’s small (binary size) It’s safe (no memory leaks) It’s modern (build system, language features, etc) When Is It Worth It? Embedded systems (where it is implied that interpreted […]
Getting Started with CSS Container Queries
For as long as I’ve been working full-time on the front-end, I’ve heard about the promise of container queries and their potential to solve the majority of our responsive web design needs. And, for as […]
Simple improvements to making decisions in teams
Software development teams need to make a lot of decisions. Functional requirements, non-functional requirements, user experience, API contracts, tech stack, architecture, database schemas, cloud providers, deployment strategy, test strategy, security, and the list goes on. […]
JavaScript Bundle Optimization – Polyfills
If you are lucky enough to only support a small subset of browsers (for example, you are targeting a controlled set of users), feel free to move along. However, if your website is open to […]