프로젝트 소개

GitHub Actions Pins는 GitHub Actions의 핀 고정 메타데이터를 추적하여 워크플로가 이동 가능한 태그가 아닌 불변의 리비전을 핀으로 고정할 수 있도록 하는 유지 관리 저장소입니다. README에서는 이 저장소를 애플리케이션이 아닌 추적 리스트로 설명하며, 실제 결과물은 다른 프로젝트에서 사용할 수 있는 기계 판독 가능 파일입니다. 신뢰할 수 있는 단일 소스(source of truth)는 actions.csv라는 파일입니다. 각 행은 action과 ref_override라는 두 개의 열을 가집니다. ref_override 열은 오버라이드가 필요 없을 때 비워두어, 리스트의 가독성을 유지하면서도 특정 항목에 대해 특정 참조를 강제할 수 있도록 합니다. 리스트의 변경 사항은 이슈 기반 프로세스를 통해 흐릅니다. gh pin이라는 명령어를 통해 pins 라벨이 붙은 "Add actions to pin list"라는 제목의 이슈를 열 수 있습니다. 해당 라벨을 적용하는 것이 요청을 승인하는 방법입니다. 이후 이슈 워크플로가 이슈에 제출된 owner/action@ref 항목을 검증하고, 성공하면 actions.csv와 pins.json을 모두 업데이트하는 자동 병합 풀 리퀘스트를 생성합니다. 풀 리퀘스트가 자동 병합으로 설정되어 있어, 승인된 추가 사항은 수동 병합 없이 반영됩니다. 항목 해석에는 몇 가지 규칙이 적용됩니다. Action 하위 경로는 핀 키의 일부로 유지되므로, Action의 하위 디렉토리를 가리키는 워크플로 단계는 별도의 키로 처리됩니다. 하지만 메타데이터는 하위 경로가 아닌 루트 owner/repo를 기준으로 확인됩니다. 이미 전체 커밋 SHA를 참조하는 항목은 구조적으로 불변이므로 핀 리스트에 추가할 필요가 없습니다. 생성된 pins.json은 https://unfun.co/pins.json에 게시 및 배포되어, 소비자가 현재 핀 데이터를 가져올 수 있는 안정적인 URL을 제공합니다. 이 프로젝트는 Daniel Morris가 제작했으며 MIT License 하에 제공됩니다. README에는 2026년 저작권 고지가 포함되어 있으며 저장소의 LICENSE.md 파일로 연결되는 링크가 있습니다.