Skip to content

GitHub action to provide diagnostic information about self-hosted AWS EC2 runners

Notifications You must be signed in to change notification settings

bwhitehead0/runner_info

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Runner_Info

This action returns diagnostic information about your self-hosted Linux runner running on an AWS EC2 instance.

Examples

Return basic diagnostic information

on:
  push:

name: "Trigger: Push action"
permissions:
  contents: read

jobs:
  shellcheck:
    name: Shellcheck
    runs-on: [ my-private-runner ]
    steps:
      - uses: actions/checkout@v3
      - name: Gather runner diagnostic info
        uses: bwhitehead0/runner_info@v1
        with:
          detail-level: short # optional, full or short, default short
      - name: Run ShellCheck
        uses: bwhitehead0/action-shellcheck@master

Returns:

OS: Amazon Linux 2023
OS Version: 2023.3.20240219-0
Uptime: 116:02:48:08
Runner Version: 2.304.0
accountId: 123412341234
architecture: arm64
instanceId: i-123xy54321abcd0z1
instanceType: m6g.xlarge
privateIp: 10.16.20.169
region: us-east-1

Return extended diagnostic information

...
      - name: Gather runner diagnostic info
        uses: bwhitehead0/runner_info@v1
        with:
          detail-level: full # optional, full or short, default short
...

Returns:

OS: Amazon Linux 2023
OS Version: 2023.3.20240219-0
Uptime: 116:02:48:08
Kernel Version: 6.1.77-99.164.amzn2023.aarch64
OS Hostname: private-runner01
Runner User: runner-user
Runner Path: /home/runner-user/actions-runner
Runner Disk Used: 1%
Root Disk Used: 7%
Runner Version: 2.304.0
Account ID: 123412341234
Architecture: arm64
Instance ID: i-123xy54321abcd0z1
Instance Type: m6g.xlarge
Private Ip: 10.16.20.169
Region: us-east-1

Roadmap

  • Return common build tool and language versions (go, node, maven, java, python, gcc, etc)
  • Return other tool versions, which might be used commonly in CI/CD workflows (gitleaks, shellcheck, jq, curl, aws cli, ansible, terraform, etc)
  • Simple JSON output option
  • Save as job artifact to github
  • User input for cloud provider, return comparable instance details across providers.
  • Accept list of tag key names as input to retrieve from instance metadata endpoint, if available (see this link for more info)