-
Notifications
You must be signed in to change notification settings - Fork 55
124 lines (100 loc) · 5.44 KB
/
pull.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# SPDX-FileCopyrightText: Copyright (c) 2023-present NVIDIA CORPORATION & AFFILIATES.
# All rights reserved.
# SPDX-License-Identifier: BSD-3-Clause
# A workflow to send CI-related helpful information to PRs
name: pull
on:
pull_request:
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id}}
cancel-in-progress: true
run-name: CI status hello ${{ github.event.pull_request.number }} - ${{ github.event.pull_request.head.sha }}
jobs:
status_hello:
name: send CI hello status
runs-on: ubuntu-latest
permissions:
statuses: write
steps:
- name: Set CI hello status
run: |
curl \
-X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
https://api.github.com/repos/${{ github.repository }}/statuses/${{ github.event.pull_request.head.sha }} \
-d "{\"state\":\"success\",\"target_url\":\"https://github.com/NVIDIA/Fuser/wiki/Bot-Commands\",\"description\":\"Authorized users: comment !build or !test to trigger CI pipelines. See wiki.\",\"context\":\"CI notes\"}"
pr-agent-tools:
name: PR Agent tools
runs-on: ubuntu-latest
permissions:
pull-requests: write
issues: write
packages: read
container:
image: ghcr.io/nvidia/fuser:ci-llm-workflow
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
env:
GITHUB__USER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
CONFIG__PUBLISH_OUTPUT: false
CONFIG__PUBLISH_COMBINED_OUTPUT: true
OPENAI__KEY: ${{ secrets.LLM_OPENAI__KEY }}
OPENAI__API_BASE: ${{ secrets.LLM_OPENAI__API_BASE }}
CONFIG__MODEL: ${{ secrets.LLM_CONFIG__MODEL }}
CONFIG__CUSTOM_MODEL_MAX_TOKENS: 131072
CONFIG__MAX_MODEL_TOKENS: 65536
CONFIG__PUBLISH_OUTPUT_PROGRESS: false
PR_REVIEWER__REQUIRE_SCORE_REVIEW: false
PR_REVIEWER__REQUIRE_TESTS_REVIEW: true
PR_REVIEWER__REQUIRE_CAN_BE_SPLIT_REVIEW: false
PR_REVIEWER__REQUIRE_SECURITY_REVIEW: false
PR_REVIEWER__REQUIRE_ESTIMATE_EFFORT_TO_REVIEW: false
PR_REVIEWER__REQUIRE_TICKET_ANALYSIS_REVIEW: false
PR_REVIEWER__ENABLE_REVIEW_LABELS_EFFORT: false
PR_REVIEWER__ENABLE_REVIEW_LABELS_SECURITY: false
PR_REVIEWER__PERSISTENT_COMMENT: true
PR_REVIEWER__FINAL_UPDATE_MESSAGE: false
PR_REVIEWER__EXTRA_INSTRUCTIONS: |
To review a pull request (PR) for the Nvfuser project effectively, follow this structured approach:
Overall Principles Check:
Ensure the PR provides actual data and focuses on significant performance aspects.
Verify that a clear performance goal is set and that feedback was sought early.
Preliminary Evaluation:
Scope and Context: Confirm the PR clearly states its purpose and the significance of the problem it addresses.
SOL Analysis: Check if the PR uses a roofline model or existing implementations (e.g., CUTLASS) as a target for expected performance.
Current Status and Data: Ensure the PR includes current performance metrics and reasons for any gaps.
Approach Assessment:
Technical Details: Review the technical aspects of the approach and expected performance gains.
Limitations and Comparisons: Evaluate if multiple approaches were considered and if trade-offs are discussed.
Results Analysis:
Correctness and Tests: Confirm all tests pass and new tests were added if necessary.
Performance Data: Check for thorough performance evaluation and clear data presentation.
Gap Analysis: Assess the explanation of performance gaps and their importance.
Regressions: Evaluate the impact of any regressions and whether benefits outweigh drawbacks, supported by quantitative data.
Conclusion and Documentation:
Summarize the PR's effectiveness and potential next steps.
Ensure all guidelines are met and documentation is comprehensive.
Insight from Failed Approaches:
Consider insights from discarded methods, even if they weren't the final solution.
PR_DESCRIPTION__ADD_ORIGINAL_USER_DESCRIPTION: false
PR_DESCRIPTION__GENERATE_AI_TITLE: true
PR_DESCRIPTION__USE_BULLET_POINTS: true
PR_DESCRIPTION__EXTRA_INSTRUCTIONS: ""
PR_DESCRIPTION__ENABLE_PR_TYPE: false
PR_DESCRIPTION__FINAL_UPDATE_MESSAGE: true
PR_DESCRIPTION__ENABLE_HELP_TEXT: false
PR_DESCRIPTION__ENABLE_HELP_COMMENT: false
PR_DESCRIPTION__PUBLISH_DESCRIPTION_AS_COMMENT: true
PR_DESCRIPTION__PUBLISH_DESCRIPTION_AS_COMMENT_Persistent: true
PR_DESCRIPTION__ENABLE_SEMANTIC_FILES_TYPES: true
PR_DESCRIPTION__COLLAPSIBLE_FILE_LIST: 'adaptive'
PR_DESCRIPTION__COLLAPSIBLE_FILE_LIST_THRESHOLD: 8
PR_DESCRIPTION__INLINE_FILE_SUMMARY: false
PR_DESCRIPTION__USE_DESCRIPTION_MARKERS: false
PR_DESCRIPTION__INCLUDE_GENERATED_BY_HEADER: true
PR_DESCRIPTION__ENABLE_LARGE_PR_HANDLING: true
steps:
- name: PR Agent combined action
run: python /app/pr_agent/cli.py --pr_url ${{ github.event.pull_request.html_url }} combined