Skip to content
This repository was archived by the owner on Jan 16, 2025. It is now read-only.

Commit 96ced8a

Browse files
npalmmcaulifn
andcommitted
fix(runners): Remove Application legacy tag (#2705)
* Support legacy `Application` tag key * Reverting test * fix(runners): Remove legacy Application tag. * fix formatter error Co-authored-by: Nathaniel McAuliffe <[email protected]>
1 parent 7cdef21 commit 96ced8a

File tree

2 files changed

+9
-53
lines changed

2 files changed

+9
-53
lines changed

Diff for: modules/runners/lambdas/runners/src/aws/runners.test.ts

+8-49
Original file line numberDiff line numberDiff line change
@@ -35,23 +35,6 @@ const mockRunningInstances: AWS.EC2.DescribeInstancesResult = {
3535
},
3636
],
3737
};
38-
const mockRunningInstancesLegacy: AWS.EC2.DescribeInstancesResult = {
39-
Reservations: [
40-
{
41-
Instances: [
42-
{
43-
LaunchTime: new Date('2020-10-11T14:48:00.000+09:00'),
44-
InstanceId: 'i-5678',
45-
Tags: [
46-
{ Key: 'Owner', Value: REPO_NAME },
47-
{ Key: 'Type', Value: 'Repo' },
48-
{ Key: 'Application', Value: 'github-action-runner' },
49-
],
50-
},
51-
],
52-
},
53-
],
54-
};
5538

5639
describe('list instances', () => {
5740
beforeEach(() => {
@@ -60,37 +43,25 @@ describe('list instances', () => {
6043
});
6144

6245
it('returns a list of instances', async () => {
63-
mockDescribeInstances.promise
64-
.mockReturnValueOnce(mockRunningInstances)
65-
.mockReturnValueOnce(mockRunningInstancesLegacy);
46+
mockDescribeInstances.promise.mockReturnValue(mockRunningInstances);
6647
const resp = await listEC2Runners();
67-
expect(resp.length).toBe(2);
48+
expect(resp.length).toBe(1);
6849
expect(resp).toContainEqual({
6950
instanceId: 'i-1234',
7051
launchTime: new Date('2020-10-10T14:48:00.000+09:00'),
7152
type: 'Org',
7253
owner: 'CoderToCat',
7354
});
74-
expect(resp).toContainEqual({
75-
instanceId: 'i-5678',
76-
launchTime: new Date('2020-10-11T14:48:00.000+09:00'),
77-
type: 'Repo',
78-
owner: REPO_NAME,
79-
});
8055
});
8156

8257
it('calls EC2 describe instances', async () => {
83-
mockDescribeInstances.promise
84-
.mockReturnValueOnce(mockRunningInstances)
85-
.mockReturnValueOnce(mockRunningInstancesLegacy);
58+
mockDescribeInstances.promise.mockReturnValueOnce(mockRunningInstances);
8659
await listEC2Runners();
8760
expect(mockEC2.describeInstances).toBeCalled();
8861
});
8962

9063
it('filters instances on repo name', async () => {
91-
mockDescribeInstances.promise
92-
.mockReturnValueOnce(mockRunningInstances)
93-
.mockReturnValueOnce(mockRunningInstancesLegacy);
64+
mockDescribeInstances.promise.mockReturnValueOnce(mockRunningInstances);
9465
await listEC2Runners({ runnerType: 'Repo', runnerOwner: REPO_NAME, environment: undefined });
9566
expect(mockEC2.describeInstances).toBeCalledWith({
9667
Filters: [
@@ -100,20 +71,10 @@ describe('list instances', () => {
10071
{ Name: 'tag:ghr:Application', Values: ['github-action-runner'] },
10172
],
10273
});
103-
expect(mockEC2.describeInstances).toBeCalledWith({
104-
Filters: [
105-
{ Name: 'instance-state-name', Values: ['running', 'pending'] },
106-
{ Name: 'tag:Type', Values: ['Repo'] },
107-
{ Name: 'tag:Owner', Values: [REPO_NAME] },
108-
{ Name: 'tag:Application', Values: ['github-action-runner'] },
109-
],
110-
});
11174
});
11275

11376
it('filters instances on org name', async () => {
114-
mockDescribeInstances.promise
115-
.mockReturnValueOnce(mockRunningInstances)
116-
.mockReturnValueOnce(mockRunningInstancesLegacy);
77+
mockDescribeInstances.promise.mockReturnValueOnce(mockRunningInstances);
11778
await listEC2Runners({ runnerType: 'Org', runnerOwner: ORG_NAME, environment: undefined });
11879
expect(mockEC2.describeInstances).toBeCalledWith({
11980
Filters: [
@@ -126,9 +87,7 @@ describe('list instances', () => {
12687
});
12788

12889
it('filters instances on environment', async () => {
129-
mockDescribeInstances.promise
130-
.mockReturnValueOnce(mockRunningInstances)
131-
.mockReturnValueOnce(mockRunningInstancesLegacy);
90+
mockDescribeInstances.promise.mockReturnValueOnce(mockRunningInstances);
13291
await listEC2Runners({ environment: ENVIRONMENT });
13392
expect(mockEC2.describeInstances).toBeCalledWith({
13493
Filters: [
@@ -156,7 +115,7 @@ describe('list instances', () => {
156115
},
157116
],
158117
};
159-
mockDescribeInstances.promise.mockReturnValueOnce(noInstances).mockReturnValueOnce(noInstances);
118+
mockDescribeInstances.promise.mockReturnValueOnce(noInstances);
160119
const resp = await listEC2Runners();
161120
expect(resp.length).toBe(0);
162121
});
@@ -175,7 +134,7 @@ describe('list instances', () => {
175134
},
176135
],
177136
};
178-
mockDescribeInstances.promise.mockReturnValueOnce(noInstances).mockReturnValue({});
137+
mockDescribeInstances.promise.mockReturnValueOnce(noInstances);
179138
const resp = await listEC2Runners();
180139
expect(resp.length).toBe(1);
181140
});

Diff for: modules/runners/lambdas/runners/src/aws/runners.ts

+1-4
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,7 @@ function constructFilters(filters?: ListRunnerFilters): Ec2Filter[][] {
7474
}
7575
}
7676

77-
// ***Deprecation Notice***
78-
// Support for legacy `Application` tag keys
79-
// will be removed in next major release.
80-
for (const key of ['tag:ghr:Application', 'tag:Application']) {
77+
for (const key of ['tag:ghr:Application']) {
8178
const filter = [...ec2FiltersBase];
8279
filter.push({ Name: key, Values: ['github-action-runner'] });
8380
ec2Filters.push(filter);

0 commit comments

Comments
 (0)