動機
Github Actionsの高速化のためにjobを直列ではなく並列で実行するようにしたが、そういえば課金ってどうなるんだっけというのが気になったので調べてみた。
具体的には5分掛かるjobを3つ実行した際に課金としては5分になるのか15分になるのかが気になった。
普通に考えると後者だけれどもドキュメントに明確な記述がなかったので実験してみた。
結果
結果としては、至極当たり前だが述べ実行時間が課金対象になった。
ymlファイル
name: test
on:
push:
branches: [ "main" ]
jobs:
one:
runs-on: ubuntu-latest
steps:
- name: sleep
shell: bash
run: sleep 60
two:
runs-on: ubuntu-latest
steps:
- name: sleep
shell: bash
run: sleep 60
three:
runs-on: ubuntu-latest
steps:
- name: sleep
shell: bash
run: sleep 60
補足
Run Timeが1m1sなのに対してBillable Timeが2mなのは切り上げられているからですね。
この仕様があるので必要以上にタスク並列化による最適化に拘るのも考えものかもしれないですね。
GitHub rounds the minutes each job uses up to the nearest minute.