Before onboarding a GitHub Actions workflow to dependency locking, review the workflow changes and generated lockfile together. Record which commits will execute, who owns dependencies inside reusable workflows, and what evidence supports the change. A lockfile records exact dependency commits and source repository identities; it is not a certificate that the dependency is safe.

GitHub announced workflow dependency lockfiles in public preview on October 14, 2026. The practical opportunity is a reviewable dependency record, not a reason to approve a large generated diff on sight. This guide supplies a proposed PR worksheet and pilot checks, not results from a deployment we performed. GitHub's announcement describes the preview and explicitly separates locking from evaluating code safety.

A potato reviewer compares folders labelled Workflow and Lockfile with a magnifying glass.
AI-generated conceptual illustration: review the workflow and lockfile together, not as separate approval shortcuts.

Draw the boundary before generating the file

Pick one workflow and name it in the PR. Write down which other workflows remain outside the pilot. GitHub's conceptual documentation describes per-workflow adoption and the generated .github/workflows/actions.lock file. Do not describe a one-workflow pilot as repository-wide protection.

The important boundary is a reusable workflow call. The caller's lockfile does not cover the dependencies inside that reusable workflow; its defining repository owns those entries. Put that repository and its coverage evidence in the review record. “The caller is locked” and “the called workflow's internals are locked” are two different statements.

Two desks labelled Caller and Callee each hold a lockfile; the callee holds a reusable-workflow document.
AI-generated ownership diagram. The dashed connector indicates a relationship, not automatic coverage or an execution sequence.

Make an inventory before changing anything:

Review the complete generated diff

Use the official setup instructions for installation and generation. Their one-workflow example is gh actions-lock .github/workflows/ci.yml; substitute the actual selected path. Generate in a review branch, not as an unexamined production edit. Do not hand-edit the generated lockfile.

Onboarding can change more than the new file. Current instructions describe narrowing partial version references and rewriting valid same-repository ./ action references to $/, including action definitions. Review those changes alongside the pins. A surprisingly small lockfile does not mean the workflow diff is unimportant.

For each changed dependency, classify the change before approving it:

Change you seeQuestion to answerEvidence to retain
A commit recorded for the first timeDoes this preserve the intended executable code, or introduce a different revision?Old resolution if known, proposed commit and upstream comparison.
An existing commit replacedWhat behavior changed, and why is this update wanted?Relevant release or code-review link and reviewer conclusion.
Source identity or dependency graph changesWhy is a different repository identity or new nested action involved?Explanation from the owner, not just a green check.
Workflow or local-action text changesIs this an expected migration or an unrelated edit?File-by-file explanation and selected pilot run.

If the previous resolution was never recorded, say “unknown.” Do not manufacture an old SHA to make the comparison look complete. Ask the owner whether the remaining evidence is enough to proceed.

An empty illustrated worksheet has Reference, Commit, Owner and Evidence columns.
AI-generated worksheet illustration. Use the accessible text form for actual dependency-review evidence.

Copy this PR evidence worksheet

This is our suggested review form, not a GitHub-required schema. Keep one dependency row per distinct change, plus a short summary for the whole PR.

For a fictional example, a documentation workflow calls a shared build workflow in another repository. The caller's PR can record its own locked reference, but the reviewer still writes “shared workflow internal coverage: awaiting owner evidence” rather than marking the entire chain complete. That is a useful handoff, not a failed form.

Check the failure cases in a disposable pilot

These are proposed checks, not executed test results. Record actual outcomes beside the expectation. The version-specific expectations below refer to gh-actions-lock v0.2.0, released October 12, 2026, which tightened verification for unused entries and missing workflow coverage. Recheck behavior when the extension changes.

Three unchecked pilot cards are labelled Baseline, Changed Ref and Missing Entry.
AI-generated proposed-test illustration, not observed test results. The article explains the cases and expected checks.
Pilot caseWhat to inspectNext step
BaselineGenerate for the chosen workflow, then verify the same selected scope. Keep the complete diff and result.Investigate discrepancies before introducing a deliberate failure.
New remote reference without regenerationConfirm verification rejects missing dependency coverage.Regenerate, review the added dependency, then verify again.
Removed use with an old entry left behindConfirm stale coverage is detected under the checked version.Regenerate rather than editing lockfile text by hand.
Reusable workflow callFind separate evidence for dependencies inside the defining repository.Leave that boundary explicitly unresolved if evidence is unavailable.

Keep generation and verification scope aligned. A check across the entire workflows directory may correctly complain about workflows deliberately excluded from your first pilot. Record the actual command instead of reducing all outcomes to “the lockfile passed.” The versioned CLI README distinguishes online verification from offline local verification; the latter is not a check of current upstream state.

Do not fix a policy mismatch by widening access

There is a migration detail worth checking before the pilot run: GitHub's repository Actions settings documentation says locked dependencies are evaluated against their locked SHA for allowed-action policies. A tag-specific allowance can therefore stop matching.

Write down the intended permission boundary and ask its owner to review the matching rule. “Allow everything so the pilot runs” changes a different decision from dependency locking. Do not bury that change in the onboarding PR or treat a successful run after broadening the policy as evidence that the original boundary still holds.

Separate Locked and Reviewed trays hold a tied folder and a folder under a magnifying glass.
AI-generated conceptual comparison: locking dependency commits and reviewing their contents are different judgments.

Close with two conclusions, not one badge

Finish the PR with a dependency-review conclusion and an operational conclusion. For example: “The listed commits and migration edits have been reviewed; the selected workflow completed at this run URL.” If either statement is unsupported, keep it pending and name the missing evidence.

Choose who will review the next generated change. For longer-lived releases, our release evidence handoff guide explains how to preserve the observed run information before it becomes unavailable. A locked file is a useful record. The useful review is the explanation someone can still follow later.