-
Notifications
You must be signed in to change notification settings - Fork 55
134 lines (109 loc) · 5.66 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
125
126
127
128
129
130
131
132
133
134
# 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: |
send_status() {
curl -L -X POST \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/${{ github.repository }}/statuses/${{ github.event.pull_request.head.sha }} \
-d "{ \
\"state\":\"pending\", \
\"target_url\":\"https://github.com/NVIDIA/Fuser/wiki/Bot-Commands\", \
\"description\":\"Use !build or !test to start CI. See wiki.\", \
\"context\":\"$1\" \
}"
}
send_status "nvfuser-ci/build_image_20"
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: 30000
CONFIG__FALLBACK_MODELS: '[]'
CONFIG__MAX_MODEL_TOKENS: 30000
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