Skip to content

Commit aa1965c

Browse files
committed
update readme
Signed-off-by: Huamin Chen <hchen@redhat.com>
1 parent f3ada20 commit aa1965c

File tree

1 file changed

+69
-57
lines changed

1 file changed

+69
-57
lines changed

README.md

+69-57
Original file line numberDiff line numberDiff line change
@@ -8,77 +8,89 @@
88
Here's an example of how to use this action in a workflow file:
99

1010
```yaml
11-
name: Example Workflow
11+
name: Test Self-hosted Runner
1212

1313
on:
14-
workflow_dispatch:
15-
inputs:
16-
ami_id:
17-
description: 'AWS Machine Image ID'
18-
required: false
19-
default: 'ami-0e4d0bb9670ea8db0'
20-
instance_type:
21-
description: 'AWS EC2 Instance Type'
22-
required: false
23-
default: 't2.micro'
24-
need_s3_bucket:
25-
description: 'Need S3 bucket?'
26-
required: false
27-
default: 'false'
14+
push:
15+
branches:
16+
- main
17+
18+
permissions:
19+
contents: read
20+
2821
jobs:
2922
setup-runner:
30-
name: setup self hosted runner
23+
name: Test-Setup Self Hosted Runner
3124
runs-on: ubuntu-latest
25+
outputs:
26+
instance_id: ${{ steps.create-runner.outputs.instance_id }}
27+
runner_name: ${{ steps.create-runner.outputs.runner_name }}
28+
3229
steps:
33-
- name: setup runner
34-
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@main
35-
env:
36-
ACTION: "create"
37-
AWS_REGION: ${{ secrets.AWS_REGION }}
38-
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
39-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
40-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
41-
SECURITY_GROUP_ID: ${{ secrets.AWS_SECURITY_GROUP_ID }}
42-
GITHUB_REPO: ${{ github.repository }}
43-
AMI_ID: ${{ github.event.inputs.ami_id }}
44-
INSTANCE_TYPE: ${{ github.event.inputs.instance_type }
45-
CREATE_S3_BUCKET: ${{ github.event.inputs.need_s3_bucket }}
46-
47-
run-tests:
30+
- name: Create Runner
31+
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@v1
32+
id: create-runner
33+
with:
34+
action: "create"
35+
aws_region: ${{ secrets.AWS_REGION }}
36+
github_token: ${{ secrets.GH_SELF_HOSTED_RUNNER_TOKEN }}
37+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
38+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
39+
security_group_id: ${{ secrets.AWS_SECURITY_GROUP_ID }}
40+
github_repo: ${{ github.repository }}
41+
ami_id: "ami-0e4d0bb9670ea8db0"
42+
instance_type: "t2.micro"
43+
create_s3_bucket: "false"
44+
spot_instance_only: "true"
45+
46+
- name: Print Output
47+
id: output
48+
run: |
49+
echo "instance_id ${{ steps.create-runner.outputs.instance_id }}"
50+
echo "instance_ip ${{ steps.create-runner.outputs.instance_ip }}"
51+
echo "runner_name ${{ steps.create-runner.outputs.runner_name }}"
52+
53+
test-runner:
4854
needs: setup-runner
49-
name: run tests
55+
name: GitHub Self Hosted Runner Tests
5056
runs-on: [self-hosted, linux, x64]
51-
steps:
52-
- name: Checkout
53-
uses: actions/checkout@v2
5457

55-
- name: Run Tests
56-
run: |
57-
export INSTANCE_ID=${{ needs.setup-runner.outputs.instance_id }}
58-
echo "Running tests on self-hosted runner with instance $INSTANCE_ID"
59-
uname -a # or any other command
58+
steps:
59+
- name: Checkout
60+
id: checkout
61+
uses: actions/checkout@v4
6062

63+
- name: Run Tests
64+
run: |
65+
export INSTANCE_ID="${{ needs.setup-runner.outputs.instance_id }}"
66+
echo "Running tests on self-hosted runner with instance ${INSTANCE_ID}"
67+
uname -a #
68+
cat /etc/os-release
69+
cat /proc/cpuinfo
70+
6171
destroy-runner:
6272
if: always()
63-
needs: [setup-runner, run-tests]
73+
needs: [setup-runner, test-runner]
74+
name: Destroy Self Hosted Runner
6475
runs-on: ubuntu-latest
6576
steps:
66-
- name: Unregister runner
67-
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@main
68-
env:
69-
ACTION: "unregister"
70-
RUNNER_NAME: ${{ needs.setup-runner.outputs.runner_name }}
71-
GITHUB_TOKEN: ${{ secrets.MY_GITHUB_TOKEN }}
72-
GITHUB_REPO: ${{ github.repository }}
73-
- name: Terminate instance
74-
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@main
75-
env:
76-
ACTION: "terminate"
77-
INSTANCE_ID: ${{ needs.setup-runner.outputs.instance_id }}
78-
AWS_REGION: ${{ secrets.AWS_REGION }}
79-
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
80-
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
81-
BUCKET_NAME: ${{ needs.setup-runner.outputs.bucket_name }}
77+
- name: unregister runner
78+
id: unregister
79+
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@v1
80+
with:
81+
action: "unregister"
82+
runner_name: ${{ needs.setup-runner.outputs.runner_name }}
83+
github_token: ${{ secrets.GH_SELF_HOSTED_RUNNER_TOKEN }}
84+
github_repo: ${{ github.repository }}
85+
86+
- name: terminate instance
87+
id: terminate
88+
uses: sustainable-computing-io/aws_ec2_self_hosted_runner@v1
89+
with:
90+
action: "terminate"
91+
aws_access_key_id: ${{ secrets.AWS_ACCESS_KEY_ID }}
92+
aws_secret_access_key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
93+
instance_id: ${{ needs.setup-runner.outputs.instance_id }}
8294
```
8395
8496
## Inputs

0 commit comments

Comments
 (0)