GitHub Actions 워크플로 잠금 파일 정식 제공, 읽기 쉬운 참조 뒤의 정확한 커밋 고정

Published · AI Daily — AI-assisted deep research, methodology & disclosure

GitHub는 2026년 10월 28일 GitHub Actions 워크플로 의존성 잠금 파일(lockfile)을 정식 제공(GA)한다고 발표했다. 대상은 GitHub Enterprise Cloud, 데이터 상주를 지원하는 GitHub Enterprise Cloud, Team과 Free 요금제다. 잠금 파일을 쓰면 워크플로는 읽기 쉬운 태그와 브랜치 참조를 유지하면서도, 참조가 나중에 움직여도 잠가 둔 정확한 커밋을 실행한다.

GitHub는 2026년 10월 28일 GitHub Actions 워크플로 의존성 잠금 파일(lockfile)을 정식 제공(GA)한다고 발표했다. 대상은 GitHub Enterprise Cloud, 데이터 상주를 지원하는 GitHub Enterprise Cloud, Team과 Free 요금제다. 잠금 파일을 쓰면 워크플로는 읽기 쉬운 태그와 브랜치 참조를 유지하면서도, 참조가 나중에 움직여도 잠가 둔 정확한 커밋을 실행한다. 변경 기록은 정식 버전이 공개 프리뷰에서 소개된 기능을 담는다고 밝힌다.

해결하려는 것은 바뀔 수 있는 참조의 문제다. 워크플로가 어떤 태그나 브랜치의 액션을 쓴다고 적으면, 작업이 시작될 때 그 이름이 가리키는 커밋이 실행된다. 이름이 옮겨 가면 작업은 모르는 사이에 다른 코드를 실행한다. 잠금 파일은 그 이름 뒤의 커밋을 액션과 전이 의존성, 곧 그 액션이 다시 쓰는 액션에 대해 기록한다. GitHub CLI의 gh actions-lock 확장이 .github/workflows/actions.lock 파일을 만든다. 워크플로 파일은 읽기 쉬운 참조를 유지하고, 실제로 무엇이 실행되는지는 잠금 파일이 정한다.

도입은 단계적으로 할 수 있다. 팀은 워크플로를 하나씩 등록한다. 워크플로가 등록되면 GitHub Actions는 그 워크플로의 모든 의존성이 잠금 파일에 있어야 한다고 요구하고 기록된 커밋을 실행한다. 따라서 모든 워크플로를 한 번에 적용할 필요는 없다. 엄격한 규칙이 필요하면 기업, 조직, 저장소 관리자가 '잠금 파일 필수' 정책으로 도입을 강제할 수 있다. 변경 기록은 정책을 어긴 워크플로가 어떻게 되는지 설명하지 않으므로, 관리자는 넓게 적용하기 전에 작은 범위에서 시험하는 편이 좋다.

파일을 정확하게 유지하는 기능이 둘 있다. Dependabot이 등록된 워크플로의 액션 버전 업데이트를 열 때 같은 풀 리퀘스트에서 해당 잠금 파일 항목도 다시 만들며 추가 설정은 필요 없다. 별도로 다시 만드는 단계를 줄여 준다. 오래된 잠금 파일을 점검할 수도 있다. 점검은 파일을 바꾸지 않고 최신인지 확인하므로 CI 검사로 돌려, 누군가 워크플로만 고치고 잠금 파일을 잊었을 때 빌드를 실패시킬 수 있다.

GitHub는 한계를 분명히 밝힌다. 잠금 파일은 예기치 않은 의존성 변화를 막는 데 도움이 되지만 의존성이 안전한지는 판단하지 않는다. 잠글 때 악성이거나 취약했던 커밋은 잠근 뒤에도 그대로다. GitHub는 잠그기 전에 의존성을 검토하라고 권한다. 즉 잠금 파일은 검토 시점을 잠글 때와 Dependabot 업데이트 때로 앞당길 뿐 검토를 대신하지 않는다. 변경 기록은 자체 호스팅 러너나 GitHub Enterprise Server에 대해서도 말하지 않으므로 해당 팀은 문서를 확인해야 한다.

변경 기록이 나열한 기능은 다섯 가지다. gh actions-lock 확장으로 액션과 전이 의존성의 잠금 파일을 만들고, 워크플로를 하나씩 등록하고, Dependabot 버전 업데이트 때 같은 풀 리퀘스트에서 항목을 다시 만들고, 관리자가 '잠금 파일 필수' 정책으로 강제하고, 파일을 바꾸지 않은 채 CI에서도 오래됨 여부를 점검한다. 이 가운데 하나씩 등록하기와 정책 강제가 도입 속도를 정한다. 핵심 워크플로 몇 개에서 먼저 시작해 정책으로 범위를 넓힐 수 있다. 다른 흔한 방법은 액션을 전체 커밋 해시에 고정하는 것인데, 워크플로 파일이 읽기 어려워지고 손으로 올리기도 번거롭다. 잠금 파일은 그 고정을 별도 파일에 두고 워크플로에는 읽기 쉬운 참조를 남긴다. GitHub는 문서와 확장 저장소의 이슈 추적도 안내한다.

시작하려면 gh-actions-lock 저장소에서 확장을 설치하고, 잠금 파일을 만든 뒤, 잠금 파일과 워크플로 변경을 검토해 커밋한다. GitHub는 관련 문서와 의견을 보낼 커뮤니티 토론, 이슈 추적을 안내한다.

서드파티 액션에 의존하는 팀에게 실질적인 이득은 파이프라인이 정확히 어떤 코드를 실행했는지 확인할 수 있는 기록과, 어긋남을 풀 리퀘스트에서 보이게 하는 수단이다.

Sources

FAQ

워크플로 의존성 잠금 파일은 무엇이며 어떤 요금제에서 쓸 수 있나요?

워크플로가 읽기 쉬운 태그와 브랜치 참조를 유지하면서, 참조가 나중에 움직여도 잠가 둔 정확한 커밋을 실행하게 한다. GitHub Enterprise Cloud, 데이터 상주 지원 Enterprise Cloud, Team과 Free 요금제에서 정식 제공되며 액션의 전이 의존성도 다룬다.

팀은 잠금 파일을 어떻게 단계적으로 도입하나요?

gh actions-lock 확장을 설치해 .github/workflows/actions.lock을 만들고, 검토한 뒤 워크플로 변경과 함께 커밋한다. 워크플로는 하나씩 등록한다. Dependabot이 같은 풀 리퀘스트에서 항목을 갱신하고, 관리자는 정책으로 필수화할 수 있으며, 오래됨 점검은 CI에서 돌릴 수 있다.

잠금 파일이 보장하지 않는 것은 무엇인가요?

예기치 않은 의존성 변화는 막지만 의존성이 안전한지는 판단하지 않는다. 잠글 때 악성이거나 취약했던 커밋은 그대로이므로 GitHub는 잠그기 전에 검토하라고 권한다. 변경 기록은 자체 호스팅 러너와 GitHub Enterprise Server에 대해서는 말하지 않는다.