GitHub의 Action에서 모든 C 프로젝트를 컴파일하려고 합니다.
이것은 내가 실행 중인 명령입니다.
\! find . -name Makefile -type f -execdir make re \; 2>&1 | grep -qF 'Error 1'
grep
make
실패 시 표시되는 "Error 1"이 발견되면 1을 종료합니다 . 로컬에서는 잘 작동합니다. 로컬 변경으로 인해 결과가 왜곡되지 않았는지 확인하기 위해 새 분기도 가져왔습니다. 하지만 아무것도 아니야...
내 파이프라인(Github의 원본 로그)에 나타나는 내용은 다음과 같습니다.
2023-02-21T13:45:13.6257013Z ##[group]Run \! find . -name Makefile -type f -execdir make re \; 2>&1 | grep -qF 'Error 1'
2023-02-21T13:45:13.6257510Z [36;1m\! find . -name Makefile -type f -execdir make re \; 2>&1 | grep -qF 'Error 1'[0m
2023-02-21T13:45:13.6313689Z shell: /usr/bin/bash -e {0}
2023-02-21T13:45:13.6313965Z ##[endgroup]
2023-02-21T13:45:13.6506466Z ##[error]Process completed with exit code 1.
또한 스크립트를 build.sh
파일에 넣으려고 시도했지만 grep: conflicting matchers specified
경고는 표시되고 오류는 발생하지 않습니다( make
강제 오류도 발생함).
내가 수행한 테스트:
- 원본 스크립트(작업 링크|워크플로 링크) => 이유 없이 종료 1
- 파일의 스크립트(작업 링크|스크립트 링크) => 이유 없이 종료 0 + grep 경고
- 파일의 스크립트(강제 오류)(액션 링크|스크립트 링크) => 이유 없이 종료 0 + grep 경고
직접 하위 디렉터리에 있는 모든 Makefile을 컴파일하는 내가 사용하고 있는 명령에 대한 더 나은 대안이 있다면 그것도 좋을 것입니다! :)