RunsOn Action for magic caching, and more. This action is required if you are using the magic caching feature of RunsOn (extras=s3-cache
job label).
jobs:
build:
runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64/extras=s3-cache
steps:
- uses: runs-on/action@v2
- other steps
Show all environment variables available to actions (used for debugging purposes).
jobs:
build:
runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64/extras=s3-cache
steps:
- uses: runs-on/action@v2
with:
show_env: true
Possible values:
true
- Show all environment variablesfalse
- Don't show environment variables (default)
Displays how much it cost to run that workflow job. Uses https://ec2-pricing.runs-on.com to get accurate data, for both on-demand and spot pricing across all regions and availability zones.
Beta: also compares with similar machine on GitHub.
Example output in the post-step:
| metric | value |
| ---------------------- | --------------- |
| Instance Type | m7i-flex.large |
| Instance Lifecycle | on-demand |
| Region | us-east-1 |
| Duration | 2.06 minutes |
| Cost | $0.0040 |
| GitHub equivalent cost | $0.0240 |
| Savings | $0.0200 (82.8%) |
Possible values:
inline
- Display costs in the action log output (default)summary
- Display costs in the action log output and in the GitHub job summary- Any other value - Disables the feature
Note: this is currently only available with a development release of RunsOn. This will be fully functional with v2.8.4+
Send additional metrics using CloudWatch agent.
Supported metrics:
Metric Type | Available Metrics |
---|---|
cpu |
usage_user , usage_system |
network |
bytes_recv , bytes_sent |
memory |
used_percent |
disk |
used_percent , inodes_used |
io |
io_time , reads , writes |
jobs:
build:
runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64/extras=s3-cache
steps:
- uses: runs-on/action@v2
with:
metrics: cpu,network,memory,disk,io
Possible values:
cpu
- CPU usage metrics (usage_user
,usage_system
)network
- Network metrics (bytes_recv
,bytes_sent
)memory
- Memory metrics (used_percent
)disk
- Disk metrics (used_percent
,inodes_used
)io
- I/O metrics (io_time
,reads
,writes
)- Comma-separated combinations (e.g.,
cpu,network,memory,disk,io
) - Empty string - No additional metrics (default)
The action will display live metrics with charts in the post-execution summary.
๐ Metrics (since 2025-06-30T14:18:56Z):
๐ CPU User:
100.0 โค
87.5 โค โญโโฎโญโโโโโโโโโโโโฎ
75.0 โค โญโฏ โฐโฏ โ
62.5 โค โญโฏ โฐโฎ
50.0 โค โ โ
37.5 โค โ โฐโฎ
25.0 โค โญโฏ โ
12.5 โค โญโโโโโโโโโโฎโญโโโโโโฏ โฐโฎ
0.0 โผโโโโโโโโโโโโโโโโโโโโโฏ โฐโฏ โฐ
CPU User (Percent)
Stats: min:0.0 avg:29.0 max:93.4 Percent
๐ Memory Used:
100.0 โค
87.5 โค
75.0 โค
62.5 โค
50.0 โค
37.5 โค
25.0 โค โญโโโโโโโโโฎ
12.5 โค โญโโโฎ โญโโโโโโโฏ โฐโโโโฎ
0.0 โผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโฏ โฐ
Memory Used (Percent)
Stats: min:0.5 avg:7.4 max:20.9 Percent
Example full output:
๐ Metrics (since 2025-06-30T14:18:56Z):
๐ CPU User:
100.0 โค
87.5 โค โญโโฎโญโโโโโโโโโโโโฎ
75.0 โค โญโฏ โฐโฏ โ
62.5 โค โญโฏ โฐโฎ
50.0 โค โ โ
37.5 โค โ โฐโฎ
25.0 โค โญโฏ โ
12.5 โค โญโโโโโโโโโโฎโญโโโโโโฏ โฐโฎ
0.0 โผโโโโโโโโโโโโโโโโโโโโโฏ โฐโฏ โฐ
CPU User (Percent)
Stats: min:0.0 avg:29.0 max:93.4 Percent
๐ CPU System:
100.0 โค
87.5 โค
75.0 โค
62.5 โค
50.0 โค
37.5 โค
25.0 โค โญโโโฎ
12.5 โค โญโฏ โฐโโโโโโโโโโโโโโโฎ
0.0 โผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโ
CPU System (Percent)
Stats: min:0.2 avg:5.0 max:33.7 Percent
๐ Memory Used:
100.0 โค
87.5 โค
75.0 โค
62.5 โค
50.0 โค
37.5 โค
25.0 โค โญโโโโโโโโโฎ
12.5 โค โญโโโฎ โญโโโโโโโฏ โฐโโโโฎ
0.0 โผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโฏ โฐ
Memory Used (Percent)
Stats: min:0.5 avg:7.4 max:20.9 Percent
๐ Disk Used:
100.0 โค
87.5 โค
75.0 โค โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
62.5 โค โญโโโฏ
50.0 โค โญโโโโโโฏ
37.5 โผโโโโฏ
25.0 โค
12.5 โค
0.0 โค
Disk Used (Percent)
Stats: min:35.6 avg:68.7 max:75.8 Percent
๐ Disk Inodes Used:
481238 โค โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
450852 โค โญโฏ
420466 โค โ
390080 โค โญโฏ
359694 โค โ
329307 โค โญโฏ
298921 โค โญโฏ
268535 โค โญโโโโฏ
238149 โผโโโโฏ
Disk Inodes Used (Inodes)
Stats: min:238149.0 avg:440393.1 max:481238.0 Inodes
๐ Disk IO Time:
10000 โค โญโโฎ
8750 โค โญโฎ โญโฏ โฐโฎ
7500 โค โโ โญโฏ โ
6251 โค โโ โ โ
5001 โค โญโฏโฐโฎ โญโฎ โญโฏ โ
3751 โค โ โ โโ โ โฐโฎ
2502 โค โ โโญโฏโฐโโฏ โ
1252 โค โญโฏ โฐโฏ โฐโฎ โญโโโฎ
2 โผโโฏ โฐโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโ
Disk IO Time (ms)
Stats: min:1.0 avg:1581.3 max:10000.0 ms
๐ Disk Reads:
1472 โค โญโฎ
1288 โค โโ
1104 โค โโ
920 โค โญโฏโ
736 โค โ โฐโฎ
552 โค โ โ
368 โค โ โ โญโโฎ
184 โค โญโฏ โฐโฎ โญโฏ โฐโโฎ
0 โผโโฏ โฐโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Disk Reads (Ops/s)
Stats: min:0.0 avg:81.8 max:1519.0 Ops/s
๐ Disk Writes:
18816 โค โญโโฎ
16465 โค โญโโโฏ โฐโฎ
14113 โค โญโฏ โฐโฎ
11762 โค โญโฎ โญโฏ โ
9411 โค โโ โ โ
7059 โค โญโฏโฐโฎโญโฏ โฐโฎ
4708 โค โ โโ โ
2356 โค โญโฏ โฐโฏ โ โญโโโโฎ
5 โผโโฏ โฐโโโโโโโโโโโโโโโโโฏ โฐโโโโโโโโโโโโโโโโโโโโ
Disk Writes (Ops/s)
Stats: min:4.0 avg:3373.4 max:19192.0 Ops/s
๐ Network Received:
934237025 โค โญโฎ
817458485 โค โโ โญโโฎ
700679945 โค โโ โญโฏ โ
583901406 โคโญโฏโ โ โ
467122866 โคโ โฐโฎ โ โ
350344327 โคโ โ โญโฏ โฐโฎ
233565787 โผโฏ โ โ โ
116787247 โค โ โ โ
8708 โค โฐโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Network Received (Bytes)
Stats: min:8707.0 avg:91377905.1 max:950344235.0 Bytes
๐ Network Sent:
1866827 โผโฎ
1634232 โคโ
1401638 โคโฐโฎ
1169043 โค โ
936449 โค โฐโฎ
703854 โค โ โญโโโฎ
471259 โค โฐโฎ โญโฏ โ
238665 โค โ โ โฐโฎ โญโฎ
6070 โค โฐโโโฏ โฐโโโโโโโโโโโโโโโโโโโโโโโโโฏโฐโโโโโโโโโโโโโโโโโโโโโ
Network Sent (Bytes)
Stats: min:6068.0 avg:159559.6 max:1866827.0 Bytes
Only available for Linux runners.
Configures sccache
so that you can cache the compilation of C/C++ code, Rust, as well as NVIDIA's CUDA.
The only parameter it can take for now is s3
, which will auto-configure the S3 cache backend for sccache, using the RunsOn S3 cache bucket that comes for free (with crazy speed and unlimited storage) with your RunsOn installation.
Example:
jobs:
build:
runs-on: runs-on=${{ github.run_id }}/runner=2cpu-linux-x64/extras=s3-cache
steps:
- uses: runs-on/action@v2
with:
sccache: s3
- uses: mozilla-actions/sccache-action@v0.0.9
- run: # your slow rust compilation
Possible values:
s3
- Use RunsOn S3 cache bucket for sccache backend- Empty string - Disable sccache configuration (default)
What this does under the hood is the equivalent of:
echo "SCCACHE_GHA_ENABLED=false" >> $GITHUB_ENV
echo "SCCACHE_BUCKET=${{ env.RUNS_ON_S3_BUCKET_CACHE}}" >> $GITHUB_ENV
echo "SCCACHE_REGION=${{ env.RUNS_ON_AWS_REGION}}" >> $GITHUB_ENV
echo "SCCACHE_S3_KEY_PREFIX=cache/sccache" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
Make your source code changes in a commit, then push the updated binaries and JS files in a separate commit:
make release
This action will probably host a few other features such as:
- enabling/disabling SSM agent ?