정말 단순한 작업이 아닌 이상 하나의 작업은 일반적으로 여러 단계의 명령을 순차적으로 실행하는 경우가 많다. 그래서 GitHub Actions에서는 각 작업(job)이 하나 이상의 단계(step)로 모델링이 된다.
작업 단계는 단순한 커맨드(command)나 스크립트(script)가 될 수도 있고 다음 섹션에서 자세히 설명할 액션(action)이라고 하는 좀 더 복잡한 명령일 수도 있다. 커맨드나 스크립트를 실행할 때는 run
속성을 사용하며, 액션을 사용할 때는 uses
속성을 사용한다.
예를 들어 자바스크립트 프로젝트에서 테스트를 돌리려면 코드 저장소에 코드를 작업 실행 환경으로 내려 받고, 패키지를 설치한 후, 테스트 스크립트를 실행해야하는데, 이 3단계의 작업은 아래와 같이 steps
속성을 통해서 명시될 수 있다.
.github/workflows/example.yml
# ...(생략)...
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install
- run: npm test
워크플로우 파일 내에서 작업 단계를 명시해줄 때는 주의할 부분이 있는데, YAML 문법에서 시퀀스(sequence) 타입을 사용하기 때문에 각 단계 앞에 반드시 -
를 붙여줘야 한다.****