This repository has been archived by the owner on Apr 21, 2022. It is now read-only.
forked from machulav/ec2-github-runner
-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathaction.yml
106 lines (106 loc) · 3.86 KB
/
action.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
name: On-demand self-hosted AWS EC2 runner for GitHub Actions
description: GitHub Action for automatic creation and registration AWS EC2 instance as a GitHub Actions self-hosted runner.
author: Volodymyr Machula
branding:
icon: 'box'
color: 'orange'
inputs:
mode:
description: >-
Specify here which mode you want to use:
- 'start' - to start a new runner;
- 'stop' - to stop the previously created runner.
required: true
github-token:
description: >-
GitHub Personal Access Token with the 'repo' scope assigned.
required: true
ec2-image-id:
description: >-
EC2 Image Id (AMI). The new runner will be launched from this image.
This input is required if you use the 'start' mode.
required: false
ec2-instance-type:
description: >-
EC2 Instance Type.
This input is required if you use the 'start' mode.
required: false
ec2-base-os:
description: >-
Base OS type of the EC2 image (AMI). The new runner needs to be configured based on OS and architecture:
- 'win-x64'
- 'linux-x64'
- 'linux-arm'
- 'linux-arm64'
This input is required if you use the 'start' mode.
required: false
subnet-id:
description: >-
VPC Subnet Id. The subnet should belong to the same VPC as the specified security group.
This input is required if you use the 'start' mode.
required: false
security-group-id:
description: >-
EC2 Security Group Id.
The security group should belong to the same VPC as the specified subnet.
The runner doesn't require any inbound traffic. However, outbound traffic should be allowed.
This input is required if you use the 'start' mode.
required: false
label:
description: >-
Name of the unique label assigned to the runner.
The label is used to remove the runner from GitHub when the runner is not needed anymore.
This input is required if you use the 'stop' mode.
required: false
ec2-instance-ids:
description: >-
EC2 Instance Id(s) of the created runner(s).
The id(s) are used to terminate the EC2 instance(s) when the runner is not needed anymore.
This input is required if you use the 'stop' mode.
required: false
default: 'null'
iam-role-name:
description: >-
IAM Role Name to attach to the created EC2 instance.
This requires additional permissions on the AWS role used to launch instances.
required: false
aws-resource-tags:
description: >-
Tags to attach to the launched EC2 instance and volume.
This must be a stringified array of AWS Tag objects, with both Key and Value fields,
for example: '[{"Key": "TagKey1", "Value": "TagValue1"}, {"Key": "TagKey2", "Value": "TagValue2"}]'
required: false
default: '[]'
number-of-runners:
description: >-
Number of GitHub runner processes started on the created instance.
required: false
default: '1'
number-of-instances:
description: >-
Number of EC2 instances to create.
required: false
default: '1'
ec2-launch-template:
description: >-
EC2 launch template name. A launch template can be used to specify AMI, instance type etc parameters.
required: false
github-registration-timeout:
description: >-
Minutes to wait for GitHub runner registration before failing the start.
required: false
default: '5'
outputs:
label:
description: >-
Name of the unique label assigned to the runner.
The label is used in two cases:
- to use as the input of 'runs-on' property for the following jobs;
- to remove the runner from GitHub when it is not needed anymore.
ec2-instance-ids:
description: >-
EC2 Instance Id(s) of the created runner(s).
The id is used to terminate the EC2 instance when the runner is not needed anymore.
runs:
using: node12
main: ./dist/index.js