GitHub Actions: 보다 스마트한 편집, 더 명확한 디버깅, 그리고 새로운 case 함수
Source: GitHub Actions Blog
우리는 GitHub Actions에 여러 개선 사항을 도입했습니다. 이를 통해 if: 조건문을 사용해 실행 흐름을 제어할 때, 워크플로우 로직을 더 쉽게 작성·검증·문제 해결할 수 있게 되었습니다.
- 새로운
case함수 – 보다 표현력 있는 조건 로직 제공 - 확장된 표현식 로그 – 작업이 건너뛰어진 이유 확인 가능
- VS Code, 웹 편집기 및 기타 IDE에서 향상된 워크플로우 작성 지원
action.yml파일에 대한 편집기 지원- 개선된
if:조건 처리
case 함수로 더 표현력 있는 식 작성
GitHub Actions 표현식에 이제 case 함수가 지원됩니다. 이 함수는 SQL의 case 표현식과 유사하게 실제 논리 연산을 수행할 수 있습니다. 이를 통해 if‑else, if‑else if, if‑else if‑else 및 switch‑case와 같은 다양한 논리 연산을 처리할 수 있습니다. 함수는 불리언 값을 사용하므로 현재 우회 방법의 제한을 피할 수 있습니다. 자세한 내용은 표현식 문서를 참고하세요.
작업이 건너뛰어진 이유 파악
if: 조건 때문에 작업이 건너뛰어질 경우, 이제 정확히 왜 건너뛰어졌는지 확인할 수 있습니다. 작업 로그에 원본 표현식과 실행 시점에 컨텍스트 값이 모두 채워진 확장된 버전이 함께 표시됩니다. 이러한 로그에 접근하는 방법은 작업 조건 로그 문서를 참고하세요.
편집기 전반에 걸친 워크플로우 작성 개선
GitHub Actions VS Code 확장에서 제공하던 향상된 워크플로우 작성 경험을 웹 편집기와 기타 IDE에도 도입했습니다. 주요 개선 사항은 다음과 같습니다.
- 스마트 자동완성: 표현식, 이벤트 페이로드,
needs출력,matrix값에 대한 컨텍스트 인식 완성. - 표현식 검증: 잘못된 컨텍스트 접근, 인식되지 않는 함수,
if조건 내 문자열 텍스트 등을 감지. - 호버 문서: 함수 시그니처와 컨텍스트 설명을 인라인으로 확인.
- 독립 실행형 바이너리: NeoVim, Emacs, Sublime 등 다른 편집기에서도 언어 서비스를 사용할 수 있음.
- 그 외에도 인라인 cron 일정 힌트, 스마트 구문 완성 등 다양한 개선 사항 포함.
action.yml 파일에 대한 편집기 지원
액션 작성자도 이제 워크플로우 작성자와 동일한 편집 경험을 누릴 수 있습니다. VS Code, 웹 편집기 또는 독립 실행형 바이너리를 사용하는 편집기에서 action.yml 파일을 열면 다음과 같은 기능을 제공합니다.
- 자동완성: 액션 메타데이터 필드(
name,description,inputs,outputs,runs등). - 컨텍스트 인식
runs자동완성: 액션 유형(Node.js, composite, Docker)에 따라 필터링. - 검증: 스키마 준수 여부, 필수 필드, 표현식 검증.
- 스캐폴딩 스니펫: 새로운 액션을 빠르게 부트스트랩.
개선된 if: 조건 처리
if: 조건 및 기타 워크플로우 필드에서 흔히 발생하는 실수를 잡아내는 개선 사항을 추가했습니다. 구체적으로:
${{ }}마커 밖에 텍스트가 있는if조건은 전체 표현식이 문자열이 되어 항상 참이 됩니다. 이 경우 VS Code와 웹 편집기에서 편집기 검증이 이를 감지하고 워크플로우 실행 시 주석을 표시합니다.- 잘못된
format문자열도 편집기 검증으로 감지됩니다. - 끝에 있는 개행 문자는 자동으로 제거됩니다.
실제 적용 예시
- 항상 참인 문자열 때문에 발생하던 예기치 않은 작업·단계가 감소합니다.
- 형식이 잘못된 조건에 대해 더 빠르게 피드백을 받을 수 있습니다.
작성부터 디버깅까지, 워크플로우 경험이 한층 매끄러워졌습니다.
GitHub Community에서 토론에 참여하세요.