TL;DR

  • Act는 GitHub Actions 워크플로를 로컬에서 실행해 변경 사항을 빠르게 테스트하고 로컬 작업 실행기로 활용하는 도구임.
  • .github/workflows/의 변경 사항을 시험할 때마다 커밋하거나 푸시할 필요 없이 로컬에서 실행 가능함.
  • 실행 환경 변수와 파일 시스템은 GitHub가 제공하는 환경에 맞게 구성됨.
  • GitHub Actions 워크플로를 Makefile 대신 사용할 수 있음.
  • Docker API를 통해 필요한 이미지를 가져오거나 빌드하고, 의존성에 따라 실행 경로를 결정한 뒤 각 작업을 컨테이너에서 실행함.

소개

  • “세계를 생각하고, 지역에서 행동하라”는 문구를 바탕으로 GitHub Actions를 로컬에서 실행하는 도구임.
  • 워크플로 파일 또는 내장 GitHub Actions를 변경할 때마다 커밋하거나 푸시하는 대신, act로 로컬에서 실행해 빠르게 피드백을 얻을 수 있음.
  • act는 GitHub가 제공하는 환경에 맞춰 환경 변수와 파일 시스템을 구성함.
  • Makefile의 반복 작업을 줄이는 방법으로 .github/workflows/에 정의된 GitHub Actions를 활용할 수 있음.
  • VS Code를 벗어나지 않고 워크플로를 로컬에서 실행하고 테스트할 수 있도록 GitHub Local Actions Visual Studio Code 확장 프로그램을 통해 act를 사용할 수 있음.

작동 방식

  • act는 .github/workflows/에서 GitHub Actions를 읽고 실행할 작업 집합을 결정함.
  • 워크플로 파일에 정의된 이미지에 따라 Docker API로 필요한 이미지를 가져오거나 빌드함.
  • 정의된 의존성을 바탕으로 실행 경로를 결정함.
  • 준비된 이미지를 사용해 각 작업의 컨테이너를 Docker API로 실행함.
  • 환경 변수와 파일 시스템은 GitHub가 제공하는 환경에 맞게 구성됨.