[Sync] Merge mainstream TileLang TVM-FFI features into TileScale #24
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Performance Benchmark Bot | |
| on: | |
| issue_comment: | |
| types: | |
| - created | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: "${{ github.workflow }}-${{ github.ref }}" | |
| cancel-in-progress: true # always cancel in-progress | |
| jobs: | |
| perfbench: | |
| name: Benchmark between PR and main | |
| if: | | |
| github.repository_owner == 'tile-ai' && | |
| github.event.issue.pull_request && | |
| (contains(github.event.comment.body, '/performance-report') || contains(github.event.comment.body, '/perf')) | |
| runs-on: [self-hosted, nvidia] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: refs/pull/${{ github.event.issue.number }}/merge | |
| fetch-depth: 0 | |
| submodules: recursive | |
| - name: Setup Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.9" | |
| - name: Install merged version | |
| run: | | |
| python -m venv tll | |
| source tll/bin/activate | |
| pip install -r requirements-test.txt | |
| pip install . | |
| - name: Install original version | |
| run: | | |
| echo "Check files to be deleted!" | |
| git clean -dxf -e tll/ | |
| echo "Delete files completed!" | |
| git checkout main | |
| python -m venv tl | |
| source tl/bin/activate | |
| pip install -r requirements-test.txt | |
| pip install . | |
| - name: Run performance test | |
| id: perfbench | |
| run: | | |
| source tl/bin/activate | |
| python maint/scripts/ci_performance.py | |
| - name: Post test results as PR comment | |
| uses: actions/github-script@v8 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| github.rest.issues.createComment({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| issue_number: context.issue.number, | |
| body: '📊 **Performance Test Results** (triggered by @' + context.payload.comment.user.login + '):\n\n' + | |
| 'Run listed here: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}\n\n' + | |
| "${{ steps.perfbench.outputs.stdout }}" | |
| }) |