예제: 간단한 CI
push 및 pull request에서 테스트를 실행하는 기본 CI 워크플로우입니다.
워크플로우
typescript
import { getAction, Job, Workflow } from "../../generated/index.js";
const checkout = getAction("actions/checkout@v4");
const setupNode = getAction("actions/setup-node@v4");
// 테스트 작업 정의
const test = new Job("ubuntu-latest")
.addStep(checkout({
name: "코드 체크아웃",
}))
.addStep(setupNode({
name: "Node.js 설정",
with: {
"node-version": "20",
cache: "npm",
},
}))
.addStep({
name: "의존성 설치",
run: "npm ci",
})
.addStep({
name: "린터 실행",
run: "npm run lint",
})
.addStep({
name: "테스트 실행",
run: "npm test",
});
// 워크플로우 생성
const workflow = new Workflow({
name: "CI",
on: {
push: {
branches: ["main"],
},
pull_request: {
branches: ["main"],
},
},
}).addJob("test", test);
// YAML로 빌드
workflow.build("ci");설정
필요한 액션 추가:
bashgaji add actions/checkout@v4 gaji add actions/setup-node@v4타입 생성:
bashgaji dev워크플로우 생성: 위 코드로
workflows/ci.ts생성.빌드:
bashgaji build
