OLIVE Action
Version updated for https://github.com/kakao/olive-action to version v1.
- This action is used across all versions by ? repositories.
Action Type
This is a Composite action.
Go to the GitHub Marketplace to find the latest changes.
What’s Changed
๐ OLIVE Action v1 - ์ฒซ ๋ฒ์งธ ๋ฆด๋ฆฌ์ฆ
๐ ๋ฆด๋ฆฌ์ฆ ๊ฐ์
OLIVE Action์ ์ฒซ ๋ฒ์งธ ๊ณต์ ๋ฆด๋ฆฌ์ฆ์ ๋๋ค. ์ด Action์ GitHub Actions์์ OLIVE CLI๋ฅผ ์ฌ์ฉํ์ฌ ์คํ์์ค ๋ผ์ด์ ์ค ์๋ฌด์ฌํญ ์ค์๋ฅผ ์๋ํํ๋ ๋๊ตฌ์ ๋๋ค.
โจ ์ฃผ์ ๊ธฐ๋ฅ
๐ ์๋ ์์กด์ฑ ๋ถ์
- Pull Request ์์ฑ ์ ์์ค์ฝ๋ ์์กด์ฑ์ ์๋์ผ๋ก ๋ถ์
- ๋ค์ํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด ์ง์ (Python, Node.js, Java, Rust, Ruby, Dart, Flutter ๋ฑ)
- ORT (OSS Review Toolkit) ๊ธฐ๋ฐ์ ์ ํํ ์์กด์ฑ ์ถ์ถ
๐ฌ PR ์ฝ๋ฉํธ ์๋ ์์ฑ
- ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ Pull Request์ ์๋์ผ๋ก ์ฝ๋ฉํธ ์์ฑ
- ๋ผ์ด์ ์ค ์ ๋ณด, ๋งคํ๋ ์ปดํฌ๋ํธ, ๋งคํ๋์ง ์์ ์์กด์ฑ ๋ชฉ๋ก ์ ๊ณต
- ์คํจ ์์๋ ์ ์ ํ ์๋ฌ ๋ฉ์์ง ์๋ ์์ฑ
๐ OLIVE Platform ์ฐ๋
- ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ OLIVE Platform์ผ๋ก ์๋ ์ ์ก
- ์คํ์์ค ๋ผ์ด์ ์ค ๋ฐ ์ทจ์ฝ์ ๊ด๋ฆฌ ์ง์
- ํ๋ก์ ํธ๋ณ ๋ผ์ด์ ์ค ์๋ฌด์ฌํญ ์ถ์
๐ฆ ๋ถ์ ๊ฒฐ๊ณผ ์ ์ฅ
- GitHub Artifacts๋ฅผ ํตํ ์์ธ ๋ถ์ ๊ฒฐ๊ณผ ์ ์ฅ
dependency.csv,dependency.json,mapping.csv,mapping.json,unmapping.csvํ์ผ ์ ๊ณต- ์ค์ ํ์ผ (
local-config.yaml) ๋ณด๊ด
๐ ๏ธ ๊ธฐ์ ์ ํน์ง
์ปจํ ์ด๋ ๊ธฐ๋ฐ ์คํ
- Docker ์ปจํ ์ด๋ ํ๊ฒฝ์์ ๊ฒฉ๋ฆฌ๋ ์คํ
- ๋ค์ํ ๊ฐ๋ฐ ๋๊ตฌ๊ฐ ์ฌ์ ์ค์น๋ ํตํฉ ํ๊ฒฝ
- ์์ ์ ์ด๊ณ ์ฌํ ๊ฐ๋ฅํ ์คํ ํ๊ฒฝ
๋ค์ค ์ธ์ด ์ง์
- Python: 3.11.10, pip, pipenv, poetry, conan
- Node.js: 20.14.0, npm, yarn, pnpm, bower
- Java: Gradle 8.13, OpenJDK 11
- Rust: 1.72.0
- Ruby: 3.3.5, bundler, cocoapods
- Dart/Flutter: 2.18.4/3.24.4
- PHP: 8.3, composer
- Android: Android SDK, command-line tools
๋ชจ๋ํ๋ ๊ตฌ์กฐ
- 6๋จ๊ณ ์คํ ํ๋ก์ธ์ค๋ก ๋ช ํํ ์ํฌํ๋ก์ฐ
- ๊ฐ ๊ธฐ๋ฅ๋ณ ๋ถ๋ฆฌ๋ ์คํฌ๋ฆฝํธ๋ก ์ ์ง๋ณด์์ฑ ํฅ์
- ์ฌ์ฉ์ ์ ์ ์ค์ ํ์ผ ์ง์
๐ ์ฌ์ฉ๋ฒ
๊ธฐ๋ณธ ์ฌ์ฉ๋ฒ
name: OLIVE Action
on:
pull_request:
types: [opened, synchronize, reopened]
branches: [main, develop]
permissions:
contents: read
issues: write
pull-requests: write
jobs:
olive-scan:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Run OLIVE Action
uses: kakao/olive-action@v1
with:
olive-token: ${{ secrets.OLIVE_TOKEN }}
github-token: ${{ secrets.GITHUB_TOKEN }}
๊ณ ๊ธ ์ค์
- name: Run OLIVE Action with custom settings
uses: kakao/olive-action@v1
with:
olive-project-name: "my-custom-project"
olive-token: ${{ secrets.OLIVE_TOKEN }}
github-token: ${{ secrets.GITHUB_TOKEN }}
source-path: "./src"
user-config-path: "./user-config.yml"
artifact-retention-days: "7"
comment-on-pr: "true"
analyze-only: "false"
debug: "false"
๐ง ์ ๋ ฅ ํ๋ผ๋ฏธํฐ
| ํ๋ผ๋ฏธํฐ | ์ค๋ช | ํ์ | ๊ธฐ๋ณธ๊ฐ |
|---|---|---|---|
olive-token | OLIVE Platform API ํ ํฐ | โ | - |
github-token | PR ์ฝ๋ฉํธ ์์ฑ์ฉ GitHub ํ ํฐ | โ | - |
olive-project-name | OLIVE Platform ํ๋ก์ ํธ ์ด๋ฆ | โ | ์ ์ฅ์ ์ด๋ฆ |
source-path | ๋ถ์ํ ์์ค์ฝ๋ ๊ฒฝ๋ก | โ | ./ |
user-config-path | ์ฌ์ฉ์ ์ ์ config ํ์ผ ๊ฒฝ๋ก | โ | "" |
artifact-retention-days | ์ํฐํฉํธ ๋ณด๊ด ๊ธฐ๊ฐ (์ผ) | โ | 30 |
comment-on-pr | PR์ ์ฝ๋ฉํธ ์์ฑ ์ฌ๋ถ | โ | true |
analyze-only | ๋ถ์๋ง ์ํํ๊ณ Platform ์ฐ๋ ์๋ต | โ | false |
debug | ๋๋ฒ๊ทธ ๋ชจ๋ ํ์ฑํ | โ | false |
๐ ์ถ๋ ฅ ๊ฒฐ๊ณผ
GitHub Artifacts
dependency.csv,dependency.json: ์์กด์ฑ ๋ถ์ ๊ฒฐ๊ณผmapping.csv,mapping.json: ์ปดํฌ๋ํธ ๋งคํ ๊ฒฐ๊ณผunmapping.csv: ๋งคํ๋์ง ์์ ์์กด์ฑ ๋ชฉ๋กlocal-config.yaml: OLIVE CLI ์ค์ ํ์ผ
PR ์ฝ๋ฉํธ
- OLIVE CLI ๋ฒ์ ๋ฐ ํ๋ก์ ํธ ์ ๋ณด
- ๋ผ์ด์ ์ค ๋ถ์ ๊ฒฐ๊ณผ ์์ฝ
- ๋งคํ๋ ์ปดํฌ๋ํธ ๋ฐ ๋งคํ๋์ง ์์ ์์กด์ฑ ๋ชฉ๋ก
- ์ํฐํฉํธ ๋ค์ด๋ก๋ ๋งํฌ
๐จ ์ฌ์ ์ค๋น์ฌํญ
1. OLIVE Platform ํ ํฐ ๋ฐ๊ธ
- OLIVE Platform์์ API ํ ํฐ ๋ฐ๊ธ
- ํ ํฐ ๋ฐ๊ธ ๊ฐ์ด๋ ์ฐธ๊ณ
2. GitHub Secrets ์ค์
OLIVE_TOKEN: OLIVE Platform API ํ ํฐGITHUB_TOKEN: GitHub Actions ๊ธฐ๋ณธ ํ ํฐ (์๋ ์ ๊ณต)
๐ ์คํ ๋จ๊ณ
- ์์ค ์์น ๊ฒ์ฆ - ๋ถ์ํ ์์ค์ฝ๋ ๊ฒฝ๋ก ํ์ธ
- OLIVE CLI ์ด๊ธฐํ - ํ๋ก์ ํธ ์ค์ ๋ฐ ํ ํฐ ๊ฒ์ฆ
- ์์กด์ฑ ๋ถ์ - ์์ค์ฝ๋ ์์กด์ฑ ์ถ์ถ ๋ฐ ๋ถ์
- ์ปดํฌ๋ํธ ๋ถ์ - ์์กด์ฑ์ OLIVE ์ปดํฌ๋ํธ์ ๋งคํ
- ๋ผ์ด์ ์ค ๋ถ์ - ๋ผ์ด์ ์ค ์ ๋ณด ์ถ์ถ ๋ฐ ๋ถ์
- OLIVE Platform ์ฐ๋ - ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ Platform์ผ๋ก ์ ์ก
๐ก๏ธ ๋ณด์ ๋ฐ ์์ ์ฑ
- ๊ฒฉ๋ฆฌ๋ ์คํ ํ๊ฒฝ: Docker ์ปจํ ์ด๋๋ฅผ ํตํ ์์ ํ ์คํ
- ํ ํฐ ๊ฒ์ฆ: ์คํ ์ ํ์ ํ ํฐ๋ค์ ์ ํจ์ฑ ๊ฒ์ฆ
- ์๋ฌ ์ฒ๋ฆฌ: ์คํจ ์ ์๋ ์ ๋ฆฌ ๋ฐ ์๋ฌ ๋ฆฌํฌํ
- ๋ฆฌ์์ค ๊ด๋ฆฌ: ์ปจํ ์ด๋ ์๋ ์ ๋ฆฌ๋ก ๋ฉ๋ชจ๋ฆฌ ๋์ ๋ฐฉ์ง
๐ ๋ฌธ์ ๋ฐ ์ง์
- ์ฌ์ฉ ๊ฐ์ด๋: README.md
- OLIVE Platform: https://olive.kakao.com/
- OLIVE CLI: https://github.com/kakao/olive-cli
๐ ๋ผ์ด์ ์ค
์ด ํ๋ก์ ํธ๋ Apache License 2.0 ํ์ ๋ฐฐํฌ๋ฉ๋๋ค.
Copyright 2025 Kakao Corp. http://www.kakaocorp.com