Multiple AWS includes, based on build system
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:
-
aws-global.yml
for the variables, containerization, and deployment logic (common to all) -
aws-maven.yml
for theaws-test-java
job - 'aws-python.yml
for the
aws-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.