GitHub Actions에서 Bencher 사용하기
사용 사례에 따라 다음에 대해 GitHub Actions에서 지속적인 벤치마킹을 설정할 수 있습니다:
- 기본 브랜치
- 풀 리퀘스트
- 포크로부터의 풀 리퀘스트
- ⛑️ 더 안전함: 기본 브랜치에서 포크 PR 벤치마크하고 업로드하기
- ⚠️ 더 위험함: 대상 브랜치에서 포크 PR을 벤치마크하고 필수 검토자를 요구하기
API 토큰을 생성했는지
확인하고 계속하기 전에 BENCHER_API_TOKEN
이라는 이름의 리포지토리 비밀로 설정했는지 확인하세요!
Your Repo -> Settings -> Secrets and variables -> Actions -> New repository secret
으로 이동하세요.
비밀 이름을 BENCHER_API_TOKEN
로 설정하고 비밀 값에 API 토큰을 설정하세요.
GitHub Actions에서,
워크플로우가 포크된 저장소에서 트리거될 때 시크릿은 러너에 전달되지 않습니다.
따라서 아래의 워크플로우를 추가할 때 동일한 저장소의 브랜치를 사용하여
풀 리퀘스트를 만들어야 합니다.
포크된 저장소에서 Bencher를 추가하려고 시도하면,
BENCHER_API_TOKEN
시크릿을 사용할 수 없습니다.
${{ secrets.BENCHER_API_TOKEN }}
은 빈 문자열이 됩니다.
기본 브랜치
통계적 지속적 벤치마킹의 핵심은 기본 브랜치에 대한 역사적 기준선을 가지고 있는 것입니다. 이 역사적 기준선은 풀 리퀘스트에서 성능 회귀를 탐지하는 데 사용할 수 있습니다.
- GitHub Actions
workflow
파일을 생성하세요. (예:.github/workflows/base_benchmarks.yml
) main
브랜치로의push
이벤트에 대해 실행하세요. GitHub Actionson
문서와 GitHub Actionspush
문서를 참조하여 전체 개요를 확인하세요. (예:on: push: branches: main
)- GitHub Actions
job
을 생성하세요. (예:jobs: benchmark_base_branch
) - 작업이 실행될 기기의 유형을 설정하세요.
GitHub Actions
runs-on
문서를 참조하여 전체 개요를 확인하세요. (예:runs-on: ubuntu-latest
) - 기본 브랜치 소스 코드를 체크아웃하세요.
(예:
uses: actions/checkout@v4
) - GitHub Action을 사용하여 Bencher CLI를 설치하세요.
(예:
uses: bencherdev/bencher@main
) bencher run
CLI 서브커맨드를 사용하여main
브랜치 벤치마크를 실행하세요. thebencher run
CLI 서브커맨드를 참조하여 전체 개요를 확인하세요. (예:bencher run
)--project
옵션을 프로젝트 슬러그로 설정하세요. the--project
문서를 참조하여 더 자세히 알아보세요. (예:--project save-walter-white-1234abcd
)--token
옵션을BENCHER_API_TOKEN
Repository 비밀로 설정하세요. the--token
문서를 참조하여 더 자세히 알아보세요. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
)--branch
옵션을 브랜치 이름으로 설정하세요. branch 선택을 참조하여 전체 개요를 확인하세요. (예:--branch main
)--testbed
옵션을 테스트베드 이름으로 설정하세요. 이는runs-on
에서 선택한 기기와 일치해야 할 가능성이 높습니다. the--testbed
문서를 참조하여 더 자세히 알아보세요. (예:--testbed ubuntu-latest
)--adapter
옵션을 원하는 벤치마크 하네스 어댑터로 설정하세요. 벤치마크 하네스 어댑터를 참조하여 전체 개요를 확인하세요. (예:--adapter json
)- 경고가 생성되면 명령을 실패하게 하는
--err
플래그를 설정하세요. Threshold & Alerts를 참조하여 전체 개요를 확인하세요. (예:--err
) - 벤치마크 커맨드 인자를 지정하세요.
벤치마크 커맨드를 참조하여 전체 개요를 확인하세요.
(예:
bencher mock
)
풀 리퀘스트
풀 리퀘스트에서 성능 저하를 감지하려면 PR에서 벤치마크를 실행해야 합니다.
같은 저장소 내의 브랜치에서만 PR이 있을 것으로 예상되는 경우,
같은 저장소의 pull_request
이벤트에서 실행되는 또 다른 워크플로를 생성하면 됩니다.
⚠️ 이 솔루션은 모든 PR이 같은 저장소에서 나오는 경우에만 작동합니다! 아래의 포크에서의 풀 리퀘스트를 참조하세요.
-
GitHub Actions
workflow
파일을 생성합니다. (예:.github/workflows/pr_benchmarks.yml
) -
pull_request
이벤트에서 실행합니다:opened
- 풀 리퀘스트가 생성되었습니다.reopened
- 이전에 닫혔던 풀 리퀘스트가 다시 열렸습니다.edited
- 풀 리퀘스트의 제목이나 본문이 편집되었거나, 풀 리퀘스트의 기본 브랜치가 변경되었습니다.synchronize
- 풀 리퀘스트의 헤드 브랜치가 업데이트되었습니다. 예를 들어, 기본 브랜치에서 헤드 브랜치가 업데이트되었거나 새로운 커밋이 헤드 브랜치에 푸시되었습니다.
전체 개요는 GitHub Actions
on
문서 및 GitHub Actionspull_request
문서를 참조하세요. (예:on: pull_request: types: [opened, reopened, edited, synchronize]
) -
GitHub Actions
job
을 생성합니다. (예:jobs: benchmark_pr_branch
) -
풀 리퀘스트가 같은 저장소에 있을 때만
pull_request
이벤트에서 실행합니다. ⚠️ 이 줄을 삭제하지 마십시오! 포크 PR을 처리하는 방법은 아래의 포크에서의 풀 리퀘스트를 참조하세요. (예:if: github.event_name == 'pull_request' && github.event.pull_request.head.repo.full_name == github.repository
) -
GITHUB_TOKEN
의 권한 설정을pull-requests
에 대해write
로 설정합니다. GitHub 설정에 따라 이 작업은 필요하지 않을 수 있습니다. 그러나 2023년 2월 2일 이후 생성된 모든 조직 및 개인 리포지토리에 대해서는 기본 동작입니다. 전체 개요는 GitHub 문서를 참조하세요. (예:permissions: pull-requests: write
) -
작업이 실행될 머신의 유형을 설정합니다. 전체 개요는 GitHub Actions
runs-on
문서를 참조하세요. (예:runs-on: ubuntu-latest
) -
PR 브랜치의 소스 코드를 체크아웃합니다. (예:
uses: actions/checkout@v4
) -
GitHub Action을 통해 Bencher CLI를 설치합니다. (예:
uses: bencherdev/bencher@main
) -
bencher run
CLI 서브 명령을 사용하여 풀 리퀘스트 브랜치 벤치마크를 실행합니다. 전체 개요는bencher run
CLI 서브 명령을 참조하세요. (예:bencher run
) -
프로젝트 슬러그에
--project
옵션을 설정합니다. 자세한 내용은--project
문서를 참조하세요. (예:--project save-walter-white-1234abcd
) -
레포지토리 비밀 키에
BENCHER_API_TOKEN
의--token
옵션을 설정합니다. 자세한 내용은--token
문서를 참조하세요. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
) -
GitHub Actions
github
컨텍스트를 사용하여 PR 브랜치 이름에--branch
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하세요. (예:--branch '${{ github.head_ref }}'
) -
GitHub Actions
github
컨텍스트를 사용하여 PR 기본 브랜치 시작점에--branch-start-point
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하세요. (예:--branch-start-point '${{ github.base_ref }}'
) -
GitHub Actions
pull_request
이벤트를 참조하여 PR 기본 브랜치 시작점 해시에--branch-start-point-hash
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하세요. (예:--branch-start-point-hash '${{ github.event.pull_request.base.sha }}'
) -
항상 브랜치를 시작 지점으로 재설정하기 위해
--branch-reset
플래그를 설정합니다. 이는 벤치마크 데이터 드리프트를 방지합니다. 전체 개요는 브랜치 선택를 참조하세요. (예:--branch-reset
) -
테스트베드 이름에
--testbed
옵션을 설정합니다. 이는 주로runs-on
에 선택된 머신과 일치해야 합니다. 자세한 내용은--testbed
문서를 참조하세요. (예:--testbed ubuntu-latest
) -
원하는 벤치마크 하네스 어댑터에
--adapter
옵션을 설정합니다. 전체 개요는 벤치마크 하네스 어댑터를 참조하세요. (예:--adapter json
) -
경고가 생성되면 명령이 실패하도록
--err
플래그를 설정합니다. 전체 개요는 임계값 및 경고를 참조하세요. (예:--err
) -
GitHub Actions
GITHUB_TOKEN
환경 변수를 사용하여 결과를 풀 리퀘스트 댓글로 게시하기 위해 GitHub API 인증 토큰에--github-actions
옵션을 설정합니다. 자세한 내용은--github-actions
문서를 참조하세요. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) -
벤치마크 명령 인수를 지정합니다. 전체 개요는 벤치마크 명령를 참조하세요. (예:
bencher mock
)
포크에서 온 풀 리퀘스트
공개 오픈 소스 프로젝트에서 그렇듯이, 포크에서 온 풀 리퀘스트를 받으려고 한다면, 일을 조금 다르게 처리해야 할 필요가 있습니다.
보안상의 이유로, BENCHER_API_TOKEN
및 GITHUB_TOKEN
과 같은 비밀 값들은 포크 PR에서 GitHub Actions에서 이용할 수 없습니다.
즉, 외부 기여자가 포크에서 풀 리퀘스트를 올릴 경우 이전 예제는 작동하지 않습니다.
포크 PR에 대한 두 가지 옵션이 있습니다:
- ⛑️ 안전함: 포크 PR을 벤치마크하고 기본 브랜치에서 업로드
- ⚠️ 더 위험함: 대상 브랜치의 포크 PR을 벤치마크하고 필수 리뷰어와 함께 검토
이 GitHub 보안 연구소 글과 악의적인 풀 리퀘스트의 위협을 방지하는 방법에 대한 이 블로그 포스트를 참고하여 전체 개요를 확인하십시오.
기본 브랜치에서 포크 PR 벤치마크 및 업로드
이것은 포크 풀 리퀘스트에 지속적 벤치마킹을 추가하는 안전하고 권장되는 방법입니다.
두 개의 별도 워크플로우가 필요합니다.
첫 번째 워크플로우는 pull_request
컨텍스트에서 벤치마크 결과를 실행하고 캐시합니다.
이곳에서는 BENCHER_API_TOKEN
및 GITHUB_TOKEN
과 같은 비밀 정보가 사용할 수 없습니다.
그런 다음 두 번째 워크플로우는 workflow_run
컨텍스트에서 캐시된 벤치마크 결과를 다운로드하고 Bencher에 업로드합니다.
이것은 workflow_run
이 저장소의 기본 브랜치 컨텍스트에서 실행되기 때문에 동작합니다.
여기에서는 BENCHER_API_TOKEN
과 GITHUB_TOKEN
과 같은 비밀 정보가 사용할 수 있습니다.
초기 pull_request
워크플로우에서 사용된 풀 리퀘스트 번호, 헤드 브랜치 및 기본 브랜치는 workflow_run
워크플로우로 명시적으로 전달되어야 합니다.
해당 워크플로우는 기본 브랜치에 존재할 경우에만 실행됩니다.
전체 개요는 트리거링 워크플로우의 데이터 사용을 참조하십시오.
-
첫 번째 GitHub Actions
workflow
파일을 만듭니다. (예:.github/workflows/run_fork_pr_benchmarks.yml
) -
두 번째 워크플로우에서 참조할 수 있도록 이 워크플로우에 이름을 지정합니다. (예:
name: 벤치마크 실행 및 캐시
) -
pull_request
이벤트에서 실행하도록 설정합니다:opened
- 풀 리퀘스트가 생성되었습니다.reopened
- 이전에 닫힌 풀 리퀘스트가 다시 열렸습니다.edited
- 풀 리퀘스트의 제목이나 본문이 수정되었거나 기본 브랜치가 변경되었습니다.synchronize
- 풀 리퀘스트의 헤드 브랜치가 업데이트되었습니다. 예를 들어, 헤드 브랜치가 기본 브랜치에서 업데이트되었거나 새로운 커밋이 헤드 브랜치에 푸시되었습니다.
전체 개요는 GitHub Actions
on
문서 및 GitHub Actionspull_request
문서을 참조하십시오. (예:on: pull_request: types: [opened, reopened, edited, synchronize]
) -
GitHub Actions
job
을 생성합니다. (예:jobs: benchmark_fork_pr_branch
) -
작업이 실행될 머신 유형을 설정합니다. 전체 개요는 GitHub Actions
runs-on
문서을 참조하십시오. (예:runs-on: ubuntu-latest
) -
포크 PR 브랜치 소스 코드를 체크아웃합니다. (예:
uses: actions/checkout@v4
) -
벤치마크를 실행하고 결과를 파일에 저장합니다. (예:
/bin/echo '{ ... }' > benchmark_results.json
) -
벤치마크 결과 파일을 아티팩트로 업로드합니다. (예:
uses: actions/upload-artifact@v4
) -
pull_request
이벤트 객체를 아티팩트로 업로드합니다. (예:uses: actions/upload-artifact@v4
)
- 첫 번째 GitHub Actions
workflow
파일을 만듭니다. (예:.github/workflows/track_fork_pr_benchmarks.yml
) - 이 두 번째 워크플로우에 이름을 지정합니다.
(예:
name: Bencher로 벤치마크 추적하기
) - 두 워크플로우를 의
workflow_run
이벤트로 체인합니다. (예:on: workflow_run: ...
) - GitHub Actions
job
을 생성합니다. (예:jobs: track_fork_pr_branch
) - 이전 워크플로우의 결론이 성공인 경우에만 이 작업을 실행합니다. GitHub Actions
workflow_run
이벤트을 참조하십시오. (예:if: github.event.workflow_run.conclusion == 'success'
) - 작업이 실행될 머신 유형을 설정합니다.
전체 개요는 GitHub Actions
runs-on
문서을 참조하십시오. (예:runs-on: ubuntu-latest
) - 벤치마크 결과 파일과
pull_request
이벤트 객체 파일 이름을 환경 변수로 설정합니다. (예:env: ...
) - 캐시된 벤치마크 결과와
pull_request
이벤트를 다운로드합니다. (예:uses: actions/github-script@v6
) - 캐시된 벤치마크 결과와
pull_request
이벤트를 추출합니다. (예:unzip ...
) - 필요한 데이터를
pull_request
이벤트에서 환경 변수로 내보냅니다. (예:core.exportVariable(...)
) - GitHub Action으로 Bencher CLI를 설치합니다.
(예:
uses: bencherdev/bencher@main
) - 포크 풀 브랜치 벤치마크를 추적하기 위해
bencher run
CLI 서브커맨드를 사용합니다. 전체 개요는bencher run
CLI 서브커맨드를 참조하십시오. (예:bencher run
) - Project 슬러그에 프로젝트 옵션을 설정합니다.
자세한 내용은
--project
문서를 참조하십시오. (예:--project save-walter-white-1234abcd
) --token
옵션을BENCHER_API_TOKEN
저장소 비밀로 설정합니다. 자세한 내용은--token
문서를 참조하십시오. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
)- GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 번호를 형식화한--branch
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하십시오. (예:--branch '${{ env.PR_HEAD }}'
) - GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 기본 브랜치의 시작점으로--branch-start-point
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하십시오. (예:--branch-start-point '${{ env.PR_BASE }}'
) - GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 기본 브랜치의 시작점 해시로--branch-start-point-hash
옵션을 설정합니다. 전체 개요는 브랜치 선택를 참조하십시오. (예:--branch-start-point-hash '${{ env.PR_BASE_SHA }}'
) - 브랜치를 시작점으로 항상 리셋하려면
--branch-reset
플래그를 설정합니다. 이는 벤치마크 데이터 이동을 방지합니다. 전체 개요는 브랜치 선택를 참조하십시오. (예:--branch-reset
) - 테스트베드 이름으로
--testbed
옵션을 설정합니다. 이는runs-on
에서 선택한 머신과 일치해야 합니다. 자세한 내용은--tested
문서를 참조하십시오. (예:--testbed ubuntu-latest
) - 원하는 벤치마크 하네스 어댑터로
--adapter
옵션을 설정합니다. 전체 개요는 벤치마크 하네스 어댑터를 참조하십시오. (예:--adapter json
) - 경고가 생성될 경우 명령이 실패하도록
--err
플래그를 설정합니다. 전체 개요는 임계값 및 경고를 참조하십시오. (예:--err
) - GitHub Actions
GITHUB_TOKEN
환경 변수를 사용하여 GitHub API 인증 토큰에--github-actions
옵션을 설정하여 풀 리퀘스트에 결과를 주석으로 게시합니다. 자세한 내용은--github-actions
문서를 참조하십시오. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) - 풀 리퀘스트 번호에
--ci-number
옵션을 설정합니다. 자세한 내용은--ci-number
문서를 참조하십시오. (예:--ci-number '${{ env.PR_NUMBER }}'
) - 벤치마크 결과 파일 경로에
--file
옵션을 설정합니다. 전체 개요는 벤치마크 명령를 참조하십시오. (예:--file "$BENCHMARK_RESULTS"
)
대상 브랜치에서 포크 풀 요청 벤치마킹 및 필수 검토자
포크 풀 요청의 코드가 안전한지 보장하기 위해, 이 GitHub Action은 포크가 다른 리포지토리에서 왔는지 확인합니다. 포크가 다른 리포지토리에서 왔다면, 검토가 필요합니다.
⚠️ 포크 PR을 승인하기 전에 반드시, 반드시 철저히 검토하는 것이 중요합니다! 그렇지 않으면 pwn 요청이 발생할 수 있습니다!
이러한 부담을 덜고 싶다면, 기본 브랜치에서 벤치마킹 포크 PR 및 업로드를 참조하십시오.
이 워크플로우를 설정하려면, 두 개의 GitHub Actions Environments를 생성해야 합니다.
Your Repo -> Settings -> Environments -> New environment
로 이동합니다.
internal
및 external
이라는 두 개의 새 환경을 만듭니다.
internal
환경은 배포 보호 규칙
이 없어야 합니다.
그러나, external
환경은 벤치마킹 전에 포크 PR을 검토할 신뢰할 수 있는 검토자가 필요합니다.
전체 개요는 이 블로그 게시물을 참조하십시오.
이 설정이 작동하는 이유는 pull_request_target
이 풀 요청의 대상 브랜치 컨텍스트에서 실행되기 때문입니다.
따라서 BENCHER_API_TOKEN
및 GITHUB_TOKEN
과 같은 비밀이 가능합니다.
따라서, 이 워크플로우는 대상 브랜치에 있을 때만 실행됩니다.
GITHUB_TOKEN
및 BENCHER_API_TOKEN
과 같은 비밀을 환경 변수로 설정하지 마십시오.
대신, 당신의 비밀을 명시적으로 bencher run
에 전달하십시오.
-
GitHub Actions
워크플로우
파일을 생성합니다. (예:.github/workflows/pr_target_benchmarks.yml
) -
pull_request
이벤트에서 실행합니다:opened
- 풀 요청이 생성되었습니다.reopened
- 이전에 닫힌 풀 요청이 다시 열렸습니다.edited
- 풀 요청의 제목 또는 본문이 편집되었거나 풀 요청의 기본 브랜치가 변경되었습니다.synchronize
- 풀 요청의 헤드 브랜치가 업데이트되었습니다. 예: 기본 브랜치에서 헤드 브랜치가 업데이트되었거나 새 커밋이 헤드 브랜치에 푸시되었습니다.
GitHub Actions
on
문서 및 GitHub Actionspull_request
문서에서 전체 개요를 참조하십시오. (예:on: pull_request: types: [opened, reopened, edited, synchronize]
) -
워크플로우가 검토를 필요로 하는지 확인하는 첫 번째 GitHub Actions
job
을 생성합니다. (예:jobs: fork_pr_requires_review
) -
풀 요청이 동일한 리포지토리에서 온 경우에만
environment
를internal
로 설정합니다. 그렇지 않으면, 검토자가 승인해야 하는external
환경을 설정하여 계속 작업하도록 합니다. ⚠️ 이 줄을 제거하지 마십시오! (예:environment: ${{ (github.event.pull_request.head.repo.full_name == github.repository && 'internal') || 'external' }}
) -
벤치마크를 실행하는 두 번째 GitHub Actions
job
을 생성합니다. (예:benchmark_fork_pr_branch
) -
benchmark_fork_pr_branch
작업이 실행되려면fork_pr_requires_review
작업이 필요하다는 것을 설정하십시오. ⚠️ 이 줄을 제거하지 마십시오! GitHub Actionsneeds
문서에서 전체 개요를 참조하십시오. (예:needs: fork_pr_requires_review
) -
작업이 실행될 머신 유형을 설정합니다. GitHub Actions
runs-on
문서에서 전체 개요를 참조하십시오. (예:runs-on: ubuntu-latest
) -
포크 PR 소스 코드를 체크아웃합니다.
pull_request_target
은 풀 요청의 대상 브랜치 컨텍스트에서 실행되므로, 여전히 풀 요청 브랜치를 체크아웃해야 합니다. (예:uses: actions/checkout@v4
)- 포크 PR 리포지토리를 지정합니다 (예:
repository: ${{ github.event.pull_request.head.repo.full_name }}
) - 포크 PR 해시를 지정합니다 (예:
ref: ${{ github.event.pull_request.head.sha }}
) git
자격 증명을 유지하지 않도록 합니다 (예:persist-credentials: false
)
- 포크 PR 리포지토리를 지정합니다 (예:
-
GitHub Action을 사용하여 Bencher CLI를 설치합니다. (예:
uses: bencherdev/bencher@main
) -
bencher run
CLI 서브커맨드를 사용하여 포크 풀 브랜치 벤치마크를 실행합니다.bencher run
CLI 서브커맨드에서 전체 개요를 참조하십시오. (예:bencher run
) -
--project
옵션을 프로젝트 슬러그로 설정합니다.--project
문서에서 자세한 내용을 참조하십시오. (예:--project save-walter-white-1234abcd
) -
--token
옵션을 리포지토리 비밀인BENCHER_API_TOKEN
으로 설정합니다.--token
문서에서 자세한 내용을 참조하십시오. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
) -
--branch
옵션을 GitHub Actionspull_request
이벤트를 사용하여 포맷된 포크 PR 번호로 설정합니다. 전체 개요는 브랜치 선택에서 참조하십시오. (예:--branch '${{ github.event.number }}/merge'
) -
--branch-start-point
옵션을 포크 PR 기본 브랜치 시작 지점으로 설정합니다. GitHub Actionsgithub
컨텍스트를 사용하여, 전체 개요는 브랜치 선택에서 참조하십시오. (예:--branch-start-point '${{ github.base_ref }}'
) -
GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 기본 브랜치 시작 지점 해시로--branch-start-point-hash
옵션을 설정합니다. 전체 개요는 브랜치 선택에서 참조하십시오. (예:--branch-start-point-hash '${{ github.event.pull_request.base.sha }}'
) -
--branch-reset
플래그를 설정하여 항상 브랜치를 시작 지점으로 재설정합니다. 이는 벤치마크 데이터 드리프트를 방지합니다. 전체 개요는 브랜치 선택에서 참조하십시오. (예:--branch-reset
) -
--testbed
옵션을 테스트베드 이름으로 설정합니다. 이는runs-on
에서 선택된 머신과 일치해야 합니다. 자세한 내용은--testbed
문서를 참조하십시오. (예:--testbed ubuntu-latest
) -
필요한 벤치마크 하니스 어댑터를 선택하여
--adapter
옵션을 설정합니다. 전체 개요는 벤치마크 하니스 어댑터에서 참조하십시오. (예:--adapter json
) -
경고가 생성되면 명령을 실패하게 하기 위해
--err
플래그를 설정합니다. 전체 개요는 한계 및 경고에서 참조하십시오. (예:--err
) -
GitHub API 인증 토큰을 사용하여 벤치마크 결과를 풀 요청 코멘트로 게시하기 위해
--github-actions
옵션을 설정합니다. GitHub ActionsGITHUB_TOKEN
환경 변수를 사용하십시오. 자세한 내용은--github-actions
문서를 참조하십시오. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) -
벤치마크 명령 인수를 지정합니다. 자세한 내용은 벤치마크 명령를 참조하십시오. (예:
bencher mock
)
🐰 축하합니다! GitHub Actions에서 Bencher를 사용하는 방법을 배웠습니다! 🎉