Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
3686f6f
mulitple runners
SatheeshJM Jul 16, 2023
a50ac9d
:shower:
SatheeshJM Jul 16, 2023
a5b2184
:shower:
SatheeshJM Jul 16, 2023
8b0207c
:shower:
SatheeshJM Jul 16, 2023
3f93f12
:shower:
SatheeshJM Jul 16, 2023
d991547
:shower:
SatheeshJM Jul 16, 2023
cb8f9aa
:shower: 2
SatheeshJM Jul 16, 2023
8432c31
:shower: 9
SatheeshJM Jul 16, 2023
31342c0
added host name for running
Jan 27, 2024
e0786bc
handled null value of hosted ec2 aws instance
Jan 27, 2024
2384623
added hostname check
Jan 27, 2024
106332e
added in actions.yml
Jan 27, 2024
fc3dafc
uncommented
Jan 27, 2024
3f8cfdf
:hammer: patch update
Jan 27, 2024
1e10179
:hammer: patch update
Jan 27, 2024
89ca715
:hammer: patch update
Jan 27, 2024
d27fb72
:hammer: patch update
Jan 27, 2024
6464708
creating labels for each and individual runners
Jan 27, 2024
77354f9
adding the new dist/index.js
Jan 27, 2024
864075f
adding label length to a lot bigger
Jan 27, 2024
fc420a3
adding the custom label part and updating the patch
Jan 27, 2024
4f317da
removed Ec2 out of instance
Jan 27, 2024
361e96a
logs for easy debug
Jan 28, 2024
acab4e8
logs for easy debug
Jan 28, 2024
7f22ef2
stringify the json
Jan 28, 2024
da6f451
:hammer: patch
Jan 28, 2024
9746f7c
:hammer: patch update
Jan 28, 2024
28d2783
:hammer: removed all the debug print statements
Jan 28, 2024
90f846f
:hammer: added .idea in .gitignore
Jan 28, 2024
d455b75
awaiting for promise
Jan 29, 2024
1a347c9
:hammer:awaiting for promise
Jan 29, 2024
6d07a0d
:hammer: runner config printer
Jan 29, 2024
6be6d5d
:hammer: patch update
Jan 30, 2024
03e025c
attaching stage params for ec2
Jan 31, 2024
c002154
default runner update
Jan 31, 2024
f3d3488
:hammer:
Feb 2, 2024
b4f1d8f
:hammer:
Feb 2, 2024
2b5e76b
:hammer:
Feb 2, 2024
44d32ae
:hammer:
Feb 2, 2024
4e352c2
:hammer:
Feb 2, 2024
1f2d92c
:hammer:
Feb 2, 2024
99dfc6f
:hammer:
Feb 2, 2024
8cb7c9e
fix using new label caclulator and enabling instance type as spot
May 11, 2024
9fa759f
feat :shower:
May 11, 2024
e27ed7f
feat edits
Oct 29, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
node_modules
.idea
.env
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -200,8 +200,9 @@ Now you're ready to go!
| `ec2-instance-type` | Required if you use the `start` mode. | EC2 Instance Type. |
| `subnet-id` | Required if you use the `start` mode. | VPC Subnet Id. <br><br> The subnet should belong to the same VPC as the specified security group. |
| `security-group-id` | Required if you use the `start` mode. | EC2 Security Group Id. <br><br> The security group should belong to the same VPC as the specified subnet. <br><br> Only the outbound traffic for port 443 should be allowed. No inbound traffic is required. |
| `runner-count` | Not required | ECS instance count, defaults to 1 |
| `label` | Required if you use the `stop` mode. | Name of the unique label assigned to the runner. <br><br> The label is provided by the output of the action in the `start` mode. <br><br> The label is used to remove the runner from GitHub when the runner is not needed anymore. |
| `ec2-instance-id` | Required if you use the `stop` mode. | EC2 Instance Id of the created runner. <br><br> The id is provided by the output of the action in the `start` mode. <br><br> The id is used to terminate the EC2 instance when the runner is not needed anymore. |
| `ec2-instance-ids` | Required if you use the `stop` mode. | EC2 Instance Id of the created runner. <br><br> The id is provided by the output of the action in the `start` mode. <br><br> The id is used to terminate the EC2 instance when the runner is not needed anymore. |
| `iam-role-name` | Optional. Used only with the `start` mode. | IAM role name to attach to the created EC2 runner. <br><br> This allows the runner to have permissions to run additional actions within the AWS account, without having to manage additional GitHub secrets and AWS users. <br><br> Setting this requires additional AWS permissions for the role launching the instance (see above). |
| `aws-resource-tags` | Optional. Used only with the `start` mode. | Specifies tags to add to the EC2 instance and any attached storage. <br><br> This field is a stringified JSON array of tag objects, each containing a `Key` and `Value` field (see example below). <br><br> Setting this requires additional AWS permissions for the role launching the instance (see above). |
| `runner-home-dir` | Optional. Used only with the `start` mode. | Specifies a directory where pre-installed actions-runner software and scripts are located.<br><br> |
Expand All @@ -224,7 +225,7 @@ We recommend using [aws-actions/configure-aws-credentials](https://github.com/aw
| &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Name&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; | Description |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `label` | Name of the unique label assigned to the runner. <br><br> The label is used in two cases: <br> - to use as the input of `runs-on` property for the following jobs; <br> - to remove the runner from GitHub when it is not needed anymore. |
| `ec2-instance-id` | EC2 Instance Id of the created runner. <br><br> The id is used to terminate the EC2 instance when the runner is not needed anymore. |
| `ec2-instance-ids` | EC2 Instance Id of the created runner. <br><br> The id is used to terminate the EC2 instance when the runner is not needed anymore. |

### Example

Expand Down
33 changes: 28 additions & 5 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,9 @@ inputs:
Specify here which mode you want to use:
- 'start' - to start a new runner;
- 'stop' - to stop the previously created runner.
- 'default' - to make ubuntu-latest as default;
required: true
default: "default"
github-token:
description: >-
GitHub Personal Access Token with the 'repo' scope assigned.
Expand Down Expand Up @@ -43,12 +45,13 @@ inputs:
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-id:
ec2-instance-ids:
description: >-
EC2 Instance Id of the created runner.
The id is used to terminate the EC2 instance when the runner is not needed anymore.
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.
Expand All @@ -61,6 +64,21 @@ inputs:
for example: '[{"Key": "TagKey1", "Value": "TagValue1"}, {"Key": "TagKey2", "Value": "TagValue2"}]'
required: false
default: '[]'
key-pair:
description: >-
attach key pair pem file to login
required : false
default: 'aws-stage'
host-name:
description:
This will be the hostname set for self hosted runner if none is specified then we will default to self-hosted.
required: false
default: "self-hosted"
runner-count:
description: >-
ECS instance count, defaults to 1
required: false
default: '1'
runner-home-dir:
description: >-
Directory that contains actions-runner software and scripts. E.g. /home/runner/actions-runner.
Expand All @@ -69,6 +87,11 @@ inputs:
description: >-
Specifies bash commands to run before the runner starts. It's useful for installing dependencies with apt-get, yum, dnf, etc.
required: false
market-type:
description: >-
Specifies the market (purchasing) option for the instance:
- 'spot' - Use a spot instance
required: false

outputs:
label:
Expand All @@ -77,9 +100,9 @@ outputs:
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:
ec2-instance-ids:
description: >-
EC2 Instance Id of the created runner.
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: node16
Expand Down
Loading