C.W.K.
Stream
Lesson 11 of 12 · published

GitHub Actions 비용

~10 min · billing, cost, minutes

Level 0Apprentice
0 XP0/101 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Free tier 는 넉넉하지만 무한은 아니야

GitHub Actions billing 은 runner-minute 중심이야. Free tier 는 이렇게 보여 (2026 기준; 현재 값은 docs 확인):

  • Public repo — 완전 무료. 표준 Linux runner 분 무제한. (Larger runner 와 self-host 도 무료.)
  • Private repo (Free plan) — 계정당 월 2,000 Linux 분.
  • Private repo (Pro) — 3,000.
  • Private repo (Team) — 3,000.
  • Private repo (Enterprise) — 50,000.

Free quota 를 넘으면 분당 과금. 중요하게 runner 종류 차이가 커:

  • Linux — 1× rate.
  • Windows — 2× rate.
  • macOS — 10× rate (CI bill 에서 가장 비싼 줄, 종종 압도적).
  • Larger runner (4-core, 8-core, GPU) — 배수 rate.

Bill 이 실제로 자라는 곳

  1. macOS runner. iOS / macOS 전용 test 가 있다면 얼마나 자주 도는지 audit. PR 에 필요 없으면 merge-to-main 으로만 cap.
  2. Fan out 하는 cron. 30-job matrix 를 trigger 하는 nightly 가 분을 태움.
  3. 매 push 마다 re-run. 같은 branch 에 새 push 시 in-progress run 을 취소하도록 concurrency group 써.
  4. 이 PR 에 안 도는 게 맞는 test. paths: 필터나 changed-files action 으로 skip.

대부분 팀이 audit 안 해서 CI 에 2-3 배 overpay 해.

Code

Concurrency — 새 push 시 이전 run 취소·yaml
name: ci
on: { pull_request: {}, push: { branches: [main] } }

# Cancel in-progress runs for the same PR or branch.
concurrency:
  group: ci-${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pytest -q

External links

Exercise

통제하는 repo 나 org 에서 Settings → Billing → Plans and usage 열어. 이번 달 Actions 분, OS 별 분해. macOS 가 목록 어디에든 있으면 책임 workflow 파일 찾아 — 정말 모든 PR 에 돌아야 하는지 판단.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.