forked from brandboat/ec2-github-runner
-
Notifications
You must be signed in to change notification settings - Fork 0
/
action.yml
141 lines (141 loc) · 4.67 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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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:
cloud:
description: >-
cloud platorm that we want to start/stop instance, available options are `aws`, `azure`
requred: true
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
subnet-id:
description: >-
VPC Subnet Id. You may provide a comma-separated list of subnet ids to try multiple subnets.
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
instance-id:
description: >-
Instance Id of the created runner.
The id is used to terminate the instance when the runner is not needed anymore.
This input is required if you use the 'stop' mode.
required: false
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: '[]'
runner-home-dir:
description: >-
Directory that contains actions-runner software and scripts. E.g. /home/runner/actions-runner.
required: false
max_attempts:
description: Number of attempts. Default is 1
required: false
default: 3
ec2-ssh-key-name:
description: Name of the EC2 SSH key pair to use for the created runner.
required: false
azure-location:
description: >-
azure service location
requred: false
azure-vm-size:
description: >-
azure vm size
requred: false
azure-resource-group-name:
description: >-
azure resource group name
requred: false
azure-subscription-id:
description: >-
azure subscritpion id
requred: false
azure-subnet-id:
description: >-
azure subnet id
requred: false
azure-image-id:
description: >-
azure generialized image id
requred: false
azure-vm-tags:
description: >-
Tags to attach to the launched azure instance.
This must be a stringified json object of azure tags,
for example: '{"Name": "ec2-github-runner", "GitHubRepository": "https://github.com/Canner/ec2-github-runner"}'
requred: false
default: '{}'
azure-vm-disk-size-in-gb:
description: >-
azure vm os disk size, unit is gb
requred: false
default: 32
azure-tenant-id:
description: >-
azure tenant id
requred: false
azure-client-id:
description: >-
azure cliet id
requred: false
azure-client-secret:
description: >-
azure cliet secret
requred: false
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-id:
description: >-
EC2 Instance Id of the created runner.
The id is used to terminate the EC2 instance when the runner is not needed anymore.
runs:
using: node12
main: ./dist/index.js