v2.3.0

View on GitHub Upgrade guide

Summary

Summary: Allow setting custom spot allocation strategy, cpu and ram behaviour change, config file is now read from the current branch for private repositories. And 2 new regions!

Potentially breaking changes

  1. Spot allocation strategy now defaults to price-capacity-optimized instead of capacity-optimized, which should bring even better cost savings while still ensuring low spot interruption percentage. The downside of that strategy might be a higher likelihood of interruption, but you can now override the strategy (see next section). Also, the next change below might reduce interruption likelihood by automatically expanding the instance pools that EC2 chooses from.

  2. No longer specify any max for RAM or CPU when requesting an instance, so that we may get a beefier instance if the spot allocation strategy prioritises it. This could be due to lower price, or due to a less interruption likelihood. This means you no longer need to set ram=2+4+8+16+... since ram=2 will automatically include 2+ GB instances (if you set multiple values: all values except for the first one will be ignored). Same for CPU.

Note that those two changes might be reverted if many users report increased issues with spot interruptions.

Features

  • New regions: Ohio (us-east-2), and Singapore (ap-southeast-1).
  • Can now override the default spot allocation strategy, using either the full strategy name (e.g. spot=lowest-price), or its initials (e.g. spot=lp). Supported allocation strategies: price-capacity-optimized, lowest-price, capacity-optimized.
  • Automatically mount locally-attached SSD disks if any (for instances types ending with the d suffix). Very useful if you require large disk sizes with the fastest speed.
  • Add new tags runs-on-workflow-name and runs-on-workflow-job-name to the runner instance, once the job has been scheduled on the instance (good for cost allocation, troubleshooting, etc.).
  • For private repositories, the configuration file will now be read from the current branch.

Fixes

  • For non-official images, setup runner user earlier, so that SSH keys can be properly added to that user.
  • Set environment variable RUNNER_TOOL_CACHE to /opt/hostedtoolcache, since some third-party actions have this value hardcoded. This is the default value on official runners as well.

Misc

  • Send instance timings to telemetry API. This will allow better tracking of boot times across all users and regions.