GH-200 · Domain 5: Secure and optimize automation · 14% of the exam
Task 5.2: Optimize workflow performance and cost
Runner rates and included usage, cache and artifact storage, retention, concurrency and filters that skip needless runs, and scaling strategies for large workflows.
Study it
Runner rates, storage, retention and faster, cheaper workflows
Lesson coming
Sample questions
Try each one before opening the answer. Every option is explained, with the GitHub documentation page that proves it.
Question 1 · choose 1
Halfway through the billing cycle, a team deletes 40 GB of old artifacts that pushed its account past the included storage. Finance expects the month's storage charge to drop to zero. What will the bill show?
ANo storage charge at all for the month
BA full month of 40 GB, with the deletion counted only from the next billing cycle onward
CThe GB-hours accrued before the deletion, with no further charges for that storage
DA refund for the deleted artifacts
Show the answer and why
ANo storage charge at all for the month
Incorrect
Storage already used during the cycle stays on the bill.
BA full month of 40 GB, with the deletion counted only from the next billing cycle onward
Incorrect
Charges stop accruing as soon as the artifacts are deleted.
CThe GB-hours accrued before the deletion, with no further charges for that storage
Correct
Storage accrues hourly, so deletion stops future charges but keeps what was already used.
DA refund for the deleted artifacts
Incorrect
Deleting artifacts doesn't refund accrued usage.
Actions storage is billed by hourly accrual, measured in GB-hours. Deleting artifacts reduces current storage immediately and stops future charges, but storage already accrued in the billing cycle remains in the total.
A job uploads 6 GB of already-compressed video test fixtures as an artifact, and the upload step takes most of the job's time. What setting on upload-artifact helps most?
Acompression-level: 0
Bcompression-level: 9
Cif-no-files-found: ignore
Doverwrite: true
Show the answer and why
Acompression-level: 0
Correct
For large files that don't compress well, level 0 makes uploads much faster.
Bcompression-level: 9
Incorrect
Maximum compression spends more time on data that won't shrink.
Cif-no-files-found: ignore
Incorrect
That only silences the message when no files match; it doesn't speed up the upload.
Doverwrite: true
Incorrect
Overwriting replaces an artifact of the same name; speed is unchanged.
upload-artifact's compression-level ranges from 0 to 9, with 6 as the default. For large files that aren't easily compressed, a value of 0 is recommended for significantly faster uploads.
A small organization on GitHub Free with no payment method on file sees workflows in its private repositories stop running near the end of the month, while public repositories keep running. What explains this?
AThe concurrency limit of 20 jobs was reached
BGitHub Free doesn't support Actions in private repositories without a payment method
CScheduled workflows were disabled after 60 days of inactivity
DIts included compute usage ran out, and with no payment method usage is blocked
Show the answer and why
AThe concurrency limit of 20 jobs was reached
Incorrect
Concurrency queues jobs; it doesn't stop them for the rest of the month.
BGitHub Free doesn't support Actions in private repositories without a payment method
Incorrect
Free includes compute usage for private repositories.
CScheduled workflows were disabled after 60 days of inactivity
Incorrect
That applies to schedules in public repositories.
DIts included compute usage ran out, and with no payment method usage is blocked
Correct
Private repositories draw from the included usage, and without a payment method usage stops there.
Plans include a monthly amount of compute usage for private repositories, and standard runners in public repositories are free. If an account has no valid payment method, usage is blocked once the included usage is consumed; with a payment method, budgets can limit spending.
An enterprise on GitHub Enterprise Cloud runs 900 matrix jobs at peak on standard GitHub-hosted runners, and jobs wait in the queue for a long time. The team wants more jobs running at once while staying on runners hosted by GitHub. What should it consider?
ASplitting the work across more repositories
BLarger runners, whose concurrency limit is higher, or a support request to raise the limit
Cmax-parallel set to 900 on the matrix
DMoving the jobs to macOS runners
Show the answer and why
ASplitting the work across more repositories
Incorrect
The concurrency limit applies to the account, not per repository.
BLarger runners, whose concurrency limit is higher, or a support request to raise the limit
Correct
Standard runners allow 500 concurrent jobs on Enterprise, larger runners 1,000, and Support can raise limits.
Cmax-parallel set to 900 on the matrix
Incorrect
max-parallel only lowers concurrency; it can't exceed the plan limit.
DMoving the jobs to macOS runners
Incorrect
macOS concurrency is even more limited.
Concurrent jobs on standard GitHub-hosted runners are limited by plan, for example 500 on Enterprise with 50 macOS jobs, while larger runners allow 1,000. GitHub Support can increase job concurrency limits on request.
A rarely used branch's cache disappeared even though the repository is far below its cache limit. What is the most likely reason?
AThe branch was protected
BThe default branch received new commits after the cache was saved
CIt wasn't accessed for more than seven days
DThe workflow file changed
Show the answer and why
AThe branch was protected
Incorrect
Branch protection doesn't affect caches.
BThe default branch received new commits after the cache was saved
Incorrect
New commits on another branch don't remove this branch's caches.
CIt wasn't accessed for more than seven days
Correct
GitHub removes cache entries that haven't been accessed in over seven days.
DThe workflow file changed
Incorrect
Changing a workflow doesn't delete caches.
GitHub removes any cache entries that have not been accessed in over 7 days, and evicts the least recently accessed caches when a repository reaches its cache size limit.
An organization's account is near its included storage. Which usage counts against the same allowance as Actions artifacts?
AGitHub Packages storage
BActions cache storage
CWorkflow logs and job summaries
DGit repository size
Show the answer and why
AGitHub Packages storage
Correct
Artifacts and Packages share one storage allowance.
BActions cache storage
Incorrect
Cache storage has its own 10 GB per-repository allowance.
CWorkflow logs and job summaries
Incorrect
Logs and summaries don't count toward artifact storage.
DGit repository size
Incorrect
Repository storage isn't part of the Actions allowance.
Actions artifacts and GitHub Packages share the same storage allowance. Cache storage and custom image storage have separate allowances, and log files and job summaries don't count toward artifact storage.
How does GitHub express the Actions compute that a plan includes each month?
AAs a monetary amount, from which each runner's per-minute cost is deducted
BAs a fixed number of minutes per runner type
CAs unlimited minutes on every plan
DAs credits that roll over without limit
Show the answer and why
AAs a monetary amount, from which each runner's per-minute cost is deducted
Correct
Usage in different units is priced and deducted from that amount.
BAs a fixed number of minutes per runner type
Incorrect
Included usage is no longer a fixed minute count.
CAs unlimited minutes on every plan
Incorrect
Private repositories have a limited included amount.
DAs credits that roll over without limit
Incorrect
The included amount resets each billing cycle.
Plans include a monthly amount of included compute usage expressed in money, for example USD 300 on GitHub Enterprise Cloud. Each product's usage is priced at its own rate and deducted from that amount, which resets at the start of each billing cycle.
In a private repository, which uses of standard GitHub-hosted runners are still free?
AAny workflow on the default branch
BScheduled workflows
CWorkflows started manually with workflow_dispatch
DGitHub Pages builds and Dependabot jobs
Show the answer and why
AAny workflow on the default branch
Incorrect
The branch doesn't change billing.
BScheduled workflows
Incorrect
Schedules are billed like other runs.
CWorkflows started manually with workflow_dispatch
Incorrect
How a run starts doesn't change how runner time is billed.
DGitHub Pages builds and Dependabot jobs
Correct
Standard runners are free for Pages and for Dependabot.
The use of standard GitHub-hosted runners is free for GitHub Pages and for Dependabot. Other usage in private repositories draws from the included compute usage, whatever the branch or trigger.