🎯 Mission

Create a fully working GitHub Actions Self-Hosted Runner on AWS EC2 and use it to execute a Node.js CI pipeline.


🔹 Stage 0 — Create an AWS EC2 Instance

Requirements

Create an EC2 instance that will act as a GitHub Actions Runner.


Instance Requirements

OS

Use:

Ubuntu Server 24.04 LTS

AMI note: Use Canonical’s official AMI owner 099720109477.

Find the latest AMI with:

aws ec2 describe-images \
  --owners 099720109477 \
  --filters "Name=name,Values=ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*" \
            "Name=state,Values=available" \
  --query "sort_by(Images, &CreationDate)[-1].ImageId" \
  --output text

Instance Type

Use:

t3.small

Availability Zone note: t3.small is not available in every AZ.

If you get an “Unsupported” error, pick a different AZ (e.g. us-east-1a).


Storage