Skip to content

Commit 313e969

Browse files
authored
Merge pull request #981 from toothbrush/paul/arm-instances
Add support for additional ARM/Graviton instance types, reprise
2 parents 444b520 + d83dd4b commit 313e969

File tree

1 file changed

+25
-13
lines changed

1 file changed

+25
-13
lines changed

templates/aws-stack.yml

Lines changed: 25 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,14 @@ AWSTemplateFormatVersion: "2010-09-09"
33
Description: "Buildkite stack %v"
44

55
# The Buildkite Elastic CI Stack for AWS gives you a private,
6-
# autoscaling Buildkite Agent cluster. Use it to parallelize
7-
# large test suites across thousands of nodes, run tests and
6+
# autoscaling Buildkite Agent cluster. Use it to parallelize
7+
# large test suites across thousands of nodes, run tests and
88
# deployments for Linux or Windows based services and apps,
99
# or run AWS ops tasks.
10-
#
11-
# To gain a better understanding of how Elastic CI Stack works
10+
#
11+
# To gain a better understanding of how Elastic CI Stack works
1212
# and how to use it most effectively and securely, check out
13-
# the following resources:
13+
# the following resources:
1414
#
1515
# * Elastic CI Stack for AWS Overview: https://buildkite.com/docs/agent/v3/elastic_ci_aws
1616
# * Elastic CI Stack for AWS Tutorial: https://buildkite.com/docs/tutorials/elastic-ci-stack-aws
@@ -580,18 +580,30 @@ Conditions:
580580
UseLinuxAgents:
581581
!Equals [ !Ref InstanceOperatingSystem, "linux" ]
582582

583+
# Unfortunately, Cloudformation's !Or intrinsic function only accepts
584+
# between 2 and 10 arguments. To get around this, we're grouping the
585+
# instance families in sub-conditionals. At least this doesn't force us
586+
# into using a Custom Resource.
583587
UsingArmInstances:
584588
!Or
585589
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "a1" ]
586-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6g" ]
587-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6gd" ]
588-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6gn" ]
589-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c7g" ]
590-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "m6g" ]
591-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "m6gd" ]
592-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "r6g" ]
593-
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "r6gd" ]
590+
- !Or
591+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6g" ]
592+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6gd" ]
593+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c6gn" ]
594+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "c7g" ]
595+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "g5g" ]
596+
- !Or
597+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "Im4gn" ]
598+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "Is4gen" ]
599+
- !Or
600+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "m6g" ]
601+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "m6gd" ]
602+
- !Or
603+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "r6g" ]
604+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "r6gd" ]
594605
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "t4g" ]
606+
- !Equals [ !Select [ 0, !Split [ ".", !Ref InstanceType ] ], "x2gd" ]
595607

596608
Mappings:
597609
ECRManagedPolicy:

0 commit comments

Comments
 (0)