본 글에서는 Github actions를 통해 repository에 push 와 pull_request가 발생할 때마다 코드의 formatting을 체크하는 black을 실행시켜 주기적으로 검사하는 작업을 위한 yaml 파일을 설명
name: black formatter # github action 이름
on:
push: # 모든 branch에 commit이 push 될때 아래 workflow(jobs) 실행
branches:
- '*'
pull_request:# 모든 branch에 pull_request 요청이 왔을 때 workflow(jobs) 실행
branches:
- '*'
jobs:
Black_code_formatter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: psf/black@stable
with:
options: "-l 79 --diff --check"
src: "./"
1) name
- name: black formatter
2) on push
- name: black formatter
- on:
push: # commit을 push 했을 때**
3) branches
name: black formatter # github action 이름
on:
push:
branches:
- '*'
on:
push:
branches:
- 'develop'
4) on pull_request branches
name: black formatter # github action 이름
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
각 event (ex) pull_request) 마다 types(ex) opened review_requested, closed) 이 있음
아래와 같이 types를 지정해줄 수 있음 (pull_request는 지정해주지 않아도 default type이 opened)
on:
pull_request:
types: [opened, reopned]
5) jobs & each job name
기본형태
jobs:
<job_id_1>: # job1의 이름 (github UI에 표시됨)
<job_id_2>: # job2의 이름
name: black formatter # github action 이름
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
jobs:
Black_code_formatter:
6) runs-on
name: black formatter # github action 이름
on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
jobs:
Black_code_formatter:
runs-on: ubuntu-latest
7) steps
steps
라고 하는 연속된 task들로 구성됨steps:
run: echo 'Hello'
name: black formatter
on:
push: #
branches:
- '*'
pull_request:
branches:
- '*'
jobs:
Black_code_formatter:
runs-on: ubuntu-latest
**steps**:
- uses: actions/checkout@v3
- uses: psf/black@stable
with:
options: "-l 79 --diff --check"
src: "./"
8) uses
name: black formatter
on:
push: #
branches:
- '*'
pull_request:
branches:
- '*'
jobs:
Black_code_formatter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: psf/black@stable
with:
options: "-l 79 --diff --check"
src: "./"
public action을 사용하는 예
9) with
name: black formatter
on:
push: #
branches:
- '*'
pull_request:
branches:
- '*'
jobs:
Black_code_formatter:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: psf/black@stable
with:
options: "-l 79 --diff --check"
src: "./"
options
키워드와 src
키워드를 이용해 argument를 넘겨줄 수 있음 (링크)options
src