Skip to content

Multiple AWS includes, based on build system

David Diederich requested to merge aws-targeted-maven into master

Background

After merging !234 (merged), the aws.yml file began using the standard .maven template for running the aws-test-java job. This allowed use of the $MAVEN_BUILD script, and also standard maven based variables configured in the build/maven.yml file.

However, for projects (like seismic store and policy) that don't use the build/maven.yml file, this leads to an invalid YAML. That's because the aws-test-java job -- even though it is unused -- extends the .maven template, which doesn't exist.

Solution

To solve this, we split the aws.yml file into three parts:

  1. aws-global.yml for the variables, containerization, and deployment logic (common to all)
  2. aws-maven.yml for the aws-test-java job
  3. 'aws-python.ymlfor theaws-test-python` job

For the services that don't using either aws-test job, only the global include is needed. For ones that do use a test job, they only need to include the correct one.

Deprecated Include

To soften the migration, including aws.yml automatically gets all three -- same behavior as before -- plus a deprecated message warning developers to correct their pipeline includes.

Example Pipelines

This multi-pipeline shows builds in all projects that utilize AWS.

Edited by Matt Wise

Merge request reports