RunsOn RunsOn

v2.8.4

View on GitHub → CloudFormation template →

Summary

Integrated CPU/Memory/Disk/Network monitoring, integrated job-level cost reporting, official snapshot action release, and many QoL improvements.

Spotlight: Monitoring improvements

  • Allow to send metrics to CWAgent namespace. This allows runs-on/action@v2 to send and graph metrics right within your job output. For instance:
      📊 Disk Writes:
         5973 ┤                ╭╮
         5500 ┤               ╭╯╰╮
         5028 ┼╮             ╭╯  ╰╮                   ╭───╮              ╭
         4555 ┤╰╮           ╭╯    ╰╮               ╭──╯   ╰─╮          ╭─╯
         4083 ┤ ╰╮         ╭╯      ╰─╮          ╭──╯        ╰╮       ╭─╯
         3610 ┤  ╰─╮      ╭╯         ╰╮      ╭──╯            ╰─╮   ╭─╯
         3138 ┤    ╰╮    ╭╯           ╰╮ ╭───╯                 ╰───╯
         2665 ┤     ╰╮  ╭╯             ╰─╯
         2193 ┤      ╰──╯
                                 Disk Writes (Ops/s)
      Stats: min:2040.0 avg:4180.9 max:6026.0 Ops/s
  • Create resource group for EC2 instances on CloudWatch. This means you can go to the CloudWatch EC2 Automatic dashboard, select your resource group (named after your RunsOn stack) and get a high-level overview of metrics for all your runner instances. 2025-06-19-000029-CloudWatch  us-east-1

  • Allow instance role to enable detailed monitoring on demand (not used for now, but might be an option of runs-on/action.

Spotlight: Costs computation

  • The runs-on/action@v2 now automatically computes the costs associated for each job, and displays the results right within your job logs. You can also choose to display them as a job summary.

Spotlight: Block-level snapshots

  • The runs-on/snapshot@v1 action is available and can be used to save and restore entire folders between job executions, at a much faster speed (for long jobs) than other methods relying on compression and export to S3 or other.

Stack improvements

  • Allow to override the max runner time limit. Fixes #320.
  • Add support for permission boundary for SchedulerInvokeRole. Fixes #315.
  • Add AWS account-id and region to emails. Fixes #298.
  • Remove explicit PublicAccessBlockConfiguration declaration since some SCP policies can incorrectly flag the s3:PutBucketPublicAccessBlock action. This is the default for new buckets anyway.
  • Add ECR Full Access managed policy to obtain higher ECR Public Rate Limits.
  • Make bootstrapping work on more distros.
  • Allow RunsOn to auto-create spot role if absent.
  • Add health checks for email notification subscription, and ec2 spot role. success@2x

Misc

  • Remove legacy (and unused) .env loading.
  • Update go to 1.24.