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
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
작업
을 생성하세요. (예: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
에 대해쓰기
로 설정하세요. 귀하의 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 하위 명령을 사용하여 풀 리퀘스트 브랜치 벤치마크를 실행하세요. 전체 개요는 thebencher run
CLI 하위 명령을 참조하세요. (예:bencher run
) -
--project
옵션을 프로젝트 슬러그로 설정하세요. 자세한 사항은 the--project
문서를 참조하세요. (예:--project save-walter-white-1234abcd
) -
--token
옵션을BENCHER_API_TOKEN
저장소 비밀로 설정하세요. 자세한 사항은 the--token
문서를 참조하세요. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
) -
GitHub Actions
github
컨텍스트를 사용하여 PR 브랜치 이름을--branch
옵션으로 설정하세요. 전체 개요는 branch selection을 참조하세요. (예:--branch '${{ github.head_ref }}'
) -
GitHub Actions
github
컨텍스트를 사용하여 PR 베이스 브랜치 시작점을--branch-start-point
옵션으로 설정하세요. 전체 개요는 branch selection을 참조하세요. (예:--branch-start-point '${{ github.base_ref }}'
) -
GitHub Actions
pull_request
이벤트를 사용하여 PR 베이스 브랜치 시작점 해시를--branch-start-point-hash
옵션으로 설정하세요. 전체 개요는 branch selection을 참조하세요. (예:--branch-start-point-hash '${{ github.event.pull_request.base.sha }}'
) -
--testbed
옵션을 테스트베드 이름으로 설정하세요. 이는runs-on
에서 선택한 기계와 일치해야 합니다. 자세한 사항은 the--tested
문서를 참조하세요. (예:--testbed ubuntu-latest
) -
원하는 벤치마크 하네스 어댑터를
--adapter
옵션으로 설정하세요. 전체 개요는 benchmark harness adapters를 참조하세요. (예:--adapter json
) -
경고가 생성된 경우 명령어를 실패하도록
--err
플래그를 설정하세요. 전체 개요는 Threshold & Alerts를 참조하세요. (예:--err
) -
Pull Request에 결과를 댓글로 게시하기 위해 GitHub Actions
GITHUB_TOKEN
환경 변수로 GitHub API 인증 토큰을--github-actions
옵션으로 설정하세요. 자세한 사항은 the--github-actions
문서를 참조하세요. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) -
벤치마크 명령어 인수를 지정하세요. 전체 개요는 benchmark command를 참조하세요. (예:
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: Run and Cache Benchmarks
) -
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: Track Benchmarks with Bencher
) - the
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 액션을 사용하여 Bencher CLI를 설치합니다.
(예:
uses: bencherdev/bencher@main
) - 포크 풀 브랜치 벤치마크를 추적하기 위해
bencher run
CLI 서브커맨드를 사용합니다. 전체 개요는 thebencher run
CLI 서브커맨드를 참조하세요. (예:bencher run
) --project
옵션을 프로젝트 슬러그로 설정합니다. 자세한 내용은 the--project
문서를 참조하세요. (예:--project save-walter-white-1234abcd
)--token
옵션을BENCHER_API_TOKEN
저장소 비밀로 설정합니다. 자세한 내용은 the--token
문서를 참조하세요. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
)- GitHub Actions
pull_request
이벤트를 사용하여 포맷된 포크 PR 번호로--branch
옵션을 설정합니다. 전체 개요는 branch 선택를 참조하세요. (예:--branch '${{ env.PR_HEAD }}'
) - GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 베이스 브랜치 시작점으로--branch-start-point
옵션을 설정합니다. 전체 개요는 branch 선택를 참조하세요. (예:--branch-start-point '${{ env.PR_BASE }}'
) - GitHub Actions
pull_request
이벤트를 사용하여 포크 PR 베이스 브랜치 시작점 해시로--branch-start-point-hash
옵션을 설정합니다. 전체 개요는 branch 선택를 참조하세요. (예:--branch-start-point-hash '${{ env.PR_BASE_SHA }}'
) --testbed
옵션을 테스트베드 이름으로 설정합니다. 이것은runs-on
에서 선택한 기계와 일치해야 합니다. 자세한 내용은 the--tested
문서를 참조하세요. (예:--testbed ubuntu-latest
)- 원하는 벤치마크 하네스 어댑터로
--adapter
옵션을 설정합니다. 전체 개요는 벤치마크 하네스 어댑터를 참조하세요. (예:--adapter json
) - 경고가 생성되면 명령이 실패하도록
--err
플래그를 설정합니다. 전체 개요는 임계값과 경고를 참조하세요. (예:--err
) - 풀 요청에 대한 댓글로 결과를 게시하기 위해 GitHub API 인증 토큰을 사용하여
--github-actions
옵션을 설정합니다. the GitHub ActionsGITHUB_TOKEN
환경 변수를 사용합니다. 자세한 내용은 the--github-actions
문서를 참조하세요. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) - 풀 요청 번호에 대한
--ci-number
옵션을 설정합니다. 자세한 내용은 the--ci-number
문서를 참조하세요. (예:--ci-number '${{ env.PR_NUMBER }}'
) - 벤치마크 결과 파일 경로에 대한
--file
옵션을 설정합니다. 전체 개요는 벤치마크 명령을 참조하세요. (예:--file "$BENCHMARK_RESULTS"
)
타겟 브랜치와 필수 리뷰어를 사용한 포크 PR 벤치마킹
포크된 풀 리퀘스트의 코드가 안전한지 보장하기 위해서, 이 GitHub 액션은 포크가 다른 저장소에서 왔는지 확인합니다. 포크가 다른 저장소에서 온 경우, 리뷰가 필요합니다.
⚠️ 포크 PR을 승인하기 전에 매우, 매우 철저히 리뷰하는 것이 매우 중요합니다! 그렇지 않으면 pwn 리퀘스트가 발생할 수 있습니다!
이런 일을 겪고 싶지 않다면, 위의 [기본 브랜치에서 포크 PR 벤치마크 및 업로드][benchmark fork pr and upload from default branch]를 참조하세요.
이 워크플로우를 설정하려면, 두 개의 [GitHub 액션 환경][github actions environments]을 생성해야 합니다.
Your Repo -> Settings -> Environments -> New environment
로 이동합니다.
internal
과 external
이라는 두 개의 새로운 환경을 생성합니다.
internal
환경은 Deployment protection rules
이 없어야 합니다.
그러나, external
환경은 벤치마크 전에 포크 PR을 리뷰할 수 있는 신뢰할 수 있는 리뷰어로 Required reviewers
을 설정해야 합니다.
전체 개요는 [이 블로그 글][iterative.ai blog]을 참조하세요.
이 설정이 작동하는 이유는 pull_request_target
이 풀 리퀘스트의 타겟 브랜치의 컨텍스트에서 실행되기 때문이며,
여기에는 BENCHER_API_TOKEN
과 GITHUB_TOKEN
같은 비밀이 사용 가능합니다.
따라서, 이 워크플로우는 타겟 브랜치에만 존재하는 경우에만 실행됩니다.
GITHUB_TOKEN
과 BENCHER_API_TOKEN
같은 어떠한 비밀도 환경 변수로 설정하지 마세요.
대신, 명시적으로 비밀을 bencher run
에 전달하세요.
-
GitHub 액션
워크플로우
파일을 생성하세요. (예:.github/workflows/pr_target_benchmarks.yml
) -
pull_request
이벤트에 대해 실행하세요:opened
- 풀 리퀘스트가 생성되었습니다.reopened
- 이전에 닫힌 풀 리퀘스트가 다시 열렸습니다.edited
- 풀 리퀘스트의 제목이나 본문이 편집되었거나, 풀 리퀘스트의 기준 브랜치가 변경되었습니다.synchronize
- 풀 리퀘스트의 헤드 브랜치가 업데이트되었습니다. 예를 들어, 기준 브랜치에서 헤드 브랜치로 업데이트되었거나, 헤드 브랜치에 새로운 커밋이 푸시되었습니다.
전체 개요는 [GitHub 액션
on
문서][github actions on] 및 [GitHub 액션pull_request
문서][github action pull_request]를 참조하세요. (예:on: pull_request: types: [opened, reopened, edited, synchronize]
) -
워크플로우가 리뷰가 필요한지 확인하는 첫 번째 GitHub 액션
job
을 생성하세요. (예:jobs: fork_pr_requires_review
) -
풀 리퀘스트가 동일한 저장소에서 온 경우에만
environment
를internal
로 설정하세요. 아닌 경우, 리뷰어의 승인이 필요로 하여 계속 진행될external
로 설정하세요. ⚠️ 이 줄을 제거하지 마세요! (예:environment: ${{ (github.event.pull_request.head.repo.full_name == github.repository && 'internal') || 'external' }}
) -
벤치마크를 실행하는 두 번째 GitHub 액션
job
을 생성하세요. (예:benchmark_fork_pr_branch
) -
benchmark_fork_pr_branch
작업이 실행되기 위해서는fork_pr_requires_review
작업이 필요합니다. ⚠️ 이 줄을 제거하지 마세요! 전체 개요는 [GitHub 액션needs
문서][github actions needs]를 참조하세요. (예:needs: fork_pr_requires_review
) -
작업이 실행될 기계의 유형을 설정하세요. 전체 개요는 [GitHub 액션
runs-on
문서][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 액션][bencher cli github action]을 사용하여 Bencher CLI를 설치하세요. (예:
uses: bencherdev/bencher@main
) -
bencher run
CLI 하위 명령어를 사용하여 포크 풀 브랜치 벤치마크를 실행하세요. 전체 개요는 [thebencher run
CLI 하위 명령어][bencher run]를 참조하세요. (예:bencher run
) -
--project
옵션을 프로젝트 슬러그로 설정하세요. 더 많은 세부 사항은 [the--project
문서][project option]를 참조하세요. (예:--project save-walter-white-1234abcd
) -
--token
옵션을BENCHER_API_TOKEN
저장소 비밀로 설정하세요. 더 많은 세부 사항은 [the--token
문서][token option]를 참조하세요. (예:--token '${{ secrets.BENCHER_API_TOKEN }}'
) -
[GitHub 액션
pull_request
이벤트][github action pull_request]를 사용하여 포맷된 포크 PR 번호를--branch
옵션으로 설정하세요. 전체 개요는 [branch selection][branch selection branch]를 참조하세요. (예:--branch '${{ github.event.number }}/merge'
) -
[GitHub 액션
github
컨텍스트][github actions context]를 사용하여 포크 PR 베이스 브랜치 시작 지점을--branch-start-point
옵션으로 설정하세요. 전체 개요는 [branch selection][branch selection start point]를 참조하세요. (예:--branch-start-point '${{ github.base_ref }}'
) -
[GitHub 액션
pull_request
이벤트][github action pull_request]를 사용하여 포크 PR 베이스 브랜치 시작 지점 해시를--branch-start-point-hash
옵션으로 설정하세요. 전체 개요는 [branch selection][branch selection start point hash]를 참조하세요. (예:--branch-start-point-hash '${{ github.event.pull_request.base.sha }}'
) -
--testbed
옵션을 테스트베드 이름으로 설정하세요. 이는runs-on
에서 선택한 기계와 일치해야 할 가능성이 높습니다. 더 많은 세부 사항은 [the--tested
문서][testbed option]를 참조하세요. (예:--testbed ubuntu-latest
) -
원하는 벤치마크 하네스 어댑터를
--adapter
옵션으로 설정하세요. 전체 개요는 [benchmark harness adapters][adapters]를 참조하세요. (예:--adapter json
) -
경고가 생성된 경우 커맨드를 실패시키는
--err
플래그를 설정하세요. 전체 개요는 [Threshold & Alerts][alerts]를 참조하세요. (예:--err
) -
[GitHub 액션
GITHUB_TOKEN
환경 변수][github token]를 사용하여 풀 리퀘스트에 결과를 코멘트로 게시하는 GitHub API 인증 토큰을--github-actions
옵션으로 설정하세요. 더 많은 세부 사항은 [the--github-actions
문서][github actions option]를 참조하세요. (예:--github-actions '${{ secrets.GITHUB_TOKEN }}'
) -
벤치마크 명령 인수를 지정하세요. 전체 개요는 [benchmark command][command argument]를 참조하세요. (예:
bencher mock
)
🐰 축하합니다! GitHub Actions에서 Bencher를 사용하는 방법을 배웠습니다! 🎉