Skip to content

Commit e8d6d66

Browse files
jarmak-nvjrhemstadmiscco
authored
Initial GH Infra Setup (#23)
* Initial GH Infra Setup * Apply excellent suggestions from code review Co-authored-by: Jake Hemstad <jhemstad@nvidia.com> Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com> * More excellent suggestions! Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com> Co-authored-by: Jake Hemstad <jhemstad@nvidia.com> * Address reviews for CITATION, LICENSE, print_env * Added team members, restricted to external filers * add COLLABORATOR to excluded triage * Add triage label and comment, tidy internal logic --------- Co-authored-by: Jake Hemstad <jhemstad@nvidia.com> Co-authored-by: Michael Schellenberger Costa <miscco@nvidia.com>
1 parent 7b03706 commit e8d6d66

File tree

10 files changed

+886
-0
lines changed

10 files changed

+886
-0
lines changed
Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
name: Bug Report
2+
description: Create a report to help us improve
3+
title: '[BUG]: '
4+
labels: ['Bug']
5+
body:
6+
- type: checkboxes
7+
id: check-duplicates
8+
attributes:
9+
label: Is this a duplicate?
10+
description: Check for duplicate issues.
11+
options:
12+
- label: I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this bug and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
13+
required: true
14+
15+
- type: dropdown
16+
id: bug-type
17+
attributes:
18+
label: Type of Bug
19+
description: What kind of bug are you running into?
20+
multiple: false
21+
options:
22+
- Silent Failure
23+
- Runtime Error
24+
- Compile-time Error
25+
- Performance
26+
- Something else
27+
validations:
28+
required: true
29+
30+
- type: dropdown
31+
id: component
32+
attributes:
33+
label: Component
34+
description: Which CCCL component does this apply to?
35+
multiple: false
36+
options:
37+
- Thrust
38+
- CUB
39+
- libcu++
40+
- Not sure
41+
validations:
42+
required: true
43+
44+
- type: textarea
45+
id: description
46+
attributes:
47+
label: Describe the bug
48+
description: A clear and concise description of what problem you are running into.
49+
placeholder: "Attempting to use structured bindings with `cuda::std::tuple` fails to compile."
50+
validations:
51+
required: true
52+
53+
- type: textarea
54+
id: reproduction
55+
attributes:
56+
label: How to Reproduce
57+
description: Steps used to reproduce the bug.
58+
placeholder: |
59+
0. See godbolt link below for exact reproducer
60+
1. Construct a `cuda::std::tuple`
61+
2. Use structured bindings to destructure the elements of the tuple.
62+
3. Compilation fails with the error message:
63+
```
64+
<source>(5): error: cannot bind to non-public member "cuda::std::__4::tuple<_Tp...>::__base_ [with _Tp=<int, int>]"
65+
auto [a,b] = t;
66+
validations:
67+
required: true
68+
69+
- type: textarea
70+
id: expected-behavior
71+
attributes:
72+
label: Expected behavior
73+
description: A clear and concise description of what you expected to happen.
74+
placeholder: "Using structured bindings with `cuda::std::tuple` should successfully compile and destructure the elements of the tuple."
75+
validations:
76+
required: true
77+
78+
- type: input
79+
id: reproduction-link
80+
attributes:
81+
label: Reproduction link
82+
description: If applicable, please provide a Compiler Explorer (godbolt) link to help explain your problem.
83+
placeholder: https://godbolt.org/z/dT5nMcf7W
84+
validations:
85+
required: false
86+
87+
- type: markdown
88+
attributes:
89+
value: '# System information'
90+
91+
- type: input
92+
id: operating-system
93+
attributes:
94+
label: Operating System
95+
description:
96+
If applicable, the OS version where this bug occurs.
97+
placeholder: Ubuntu Linux 20.04
98+
validations:
99+
required: false
100+
101+
- type: textarea
102+
id: nvidia-smi-output
103+
attributes:
104+
label: nvidia-smi output
105+
description: If applicable, the output from running the `nvidia-smi` command.
106+
placeholder: |
107+
+-----------------------------------------------------------------------------+
108+
| NVIDIA-SMI 495.29.05 Driver Version: 495.29.05 CUDA Version: 11.5 |
109+
|-------------------------------+----------------------+----------------------+
110+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
111+
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
112+
| | | MIG M. |
113+
|===============================+======================+======================|
114+
| 0 NVIDIA GeForce ... Off | 00000000:41:00.0 On | N/A |
115+
| 0% 25C P8 8W / 320W | 491MiB / 10015MiB | 0% Default |
116+
| | | N/A |
117+
+-------------------------------+----------------------+----------------------+
118+
validations:
119+
required: false
120+
121+
- type: textarea
122+
id: nvcc-version
123+
attributes:
124+
label: NVCC version
125+
description: If applicable, the version of nvcc you're using.
126+
placeholder: |
127+
nvcc --version
128+
nvcc: NVIDIA (R) Cuda compiler driver
129+
Copyright (c) 2005-2021 NVIDIA Corporation
130+
Built on Thu_Nov_18_09:45:30_PST_2021
131+
Cuda compilation tools, release 11.5, V11.5.119
132+
Build cuda_11.5.r11.5/compiler.30672275_0
133+
validations:
134+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
blank_issues_enabled: true
2+
contact_links:
3+
- name: Question
4+
url: https://github.com/NVIDIA/cccl/discussions
5+
about: Check out our Discussions page to ask and answer questions.
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Documentation Request
2+
description: Suggest an idea to improve CCCL
3+
title: '[DOC]: '
4+
labels: ['Doc']
5+
6+
body:
7+
- type: checkboxes
8+
id: check-duplicates
9+
attributes:
10+
label: Is this a duplicate?
11+
description: Check for duplicate issues.
12+
options:
13+
- label: I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this bug and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
14+
required: true
15+
16+
- type: dropdown
17+
id: new_or_correction
18+
attributes:
19+
label: Is this for new documentation, or an update to existing docs?
20+
options:
21+
- New
22+
- Update
23+
validations:
24+
required: true
25+
26+
- type: textarea
27+
id: problem
28+
attributes:
29+
label: Describe the incorrect/future/missing documentation
30+
placeholder: "Example: A code snippet mentions function foo(args) but I cannot find any documentation on it."
31+
validations:
32+
required: true
33+
34+
- type: textarea
35+
id: search_locs
36+
attributes:
37+
label: If this is a correction, please provide a link to the incorrect documentation. If this is a new documentation request, please link to where you have looked.
38+
placeholder: |
39+
https://docs.nvidia.com/cuda/thrust/
40+
https://docs.nvidia.com/cuda/cub/
41+
https://docs.nvidia.com/cuda/cuda-c-std/index.html
42+
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Feature Request
2+
description: Suggest an idea to improve CCCL
3+
title: '[FEA]: '
4+
labels: ['Feature']
5+
body:
6+
- type: checkboxes
7+
id: check-duplicates
8+
attributes:
9+
label: Is this a duplicate?
10+
description: Check for duplicate issues.
11+
options:
12+
- label: I confirmed there appear to be no [duplicate issues](https://github.com/NVIDIA/cccl/issues) for this request and that I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)
13+
14+
- type: dropdown
15+
id: component
16+
attributes:
17+
label: Component
18+
description: Which CCCL component does this apply to?
19+
multiple: false
20+
options:
21+
- Thrust
22+
- CUB
23+
- libcu++
24+
- Not sure
25+
validations:
26+
required: true
27+
28+
- type: textarea
29+
id: description
30+
attributes:
31+
label: Is your feature request related to a problem? Please describe.
32+
description: A clear and concise description of what the problem is, e.g., "I would like to be able to..."
33+
placeholder: I would like to be able to use the equivalent of `std::variant` in both host and device code.
34+
validations:
35+
required: true
36+
37+
- type: textarea
38+
id: proposed-solution
39+
attributes:
40+
label: Describe the solution you'd like
41+
description: A clear and concise description of what you want to happen.
42+
placeholder: |
43+
Provide the header `<cuda/std/variant>` that implements a heterogeneous `cuda::std::variant` type.
44+
validations:
45+
required: true
46+
47+
- type: textarea
48+
id: alternatives
49+
attributes:
50+
label: Describe alternatives you've considered
51+
description:
52+
If applicable, please add a clear and concise description of any alternative solutions or features you've
53+
considered.
54+
placeholder: The alternatives to a `variant` are unappealing. They usually involve using a raw `union` which is not type safe and has none of the convenient machinery like `std::visit`.
55+
validations:
56+
required: false
57+
58+
- type: textarea
59+
id: additional-context
60+
attributes:
61+
label: Additional context
62+
description: Add any other context about the request here.
63+
placeholder: This would be a helpful vocabulary type that could replace a lot of custom and error prone code.
64+
validations:
65+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
## Description
2+
<!-- Provide a standalone description of changes in this PR. -->
3+
<!-- Reference any issues closed by this PR with "closes #1234". -->
4+
<!-- Note: The pull request title will be included in the CHANGELOG. -->
5+
6+
## Checklist
7+
<!-- TODO: - [ ] I am familiar with the [Contributing Guidelines](). -->
8+
- [ ] New or existing tests cover these changes.
9+
- [ ] The documentation is up to date with these changes.
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
name: Assign Issues for Triage
2+
3+
on:
4+
issues:
5+
types:
6+
- opened
7+
8+
env:
9+
GH_TOKEN: ${{ github.token }}
10+
11+
jobs:
12+
assign_issues:
13+
runs-on: ubuntu-latest
14+
if: ${{ ! contains(fromJSON('["OWNER", "MEMBER", "CONTRIBUTOR", "COLLABORATOR"]'), github.event.issue.author_association)}}
15+
steps:
16+
- name: Calculate assignee
17+
id: calculate_assignee
18+
run: |
19+
USERS=("allisonvacanti" "senior-zero" "jrhemstad" "elstehle" "wmaxey" "miscco" "griwes")
20+
WEEK=$(date +%U)
21+
INDEX=$(( WEEK % 7 ))
22+
echo "ASSIGNEE=${USERS[$INDEX]}" >> $GITHUB_ENV
23+
24+
- name: Get User ID
25+
run: |
26+
gh api graphql -f query='
27+
query{ user(login: "${{ env.ASSIGNEE }}")
28+
{ id } }' > user_info.json
29+
30+
echo 'ASSIGNEE_ID='$(jq '.data.user.id' user_info.json) >> $GITHUB_ENV
31+
32+
- name: Assign issue
33+
run: |
34+
gh api graphql -f query='
35+
mutation {
36+
addAssigneesToAssignable(input:
37+
{assignableId: "${{ github.event.issue.node_id }}",
38+
assigneeIds: [ ${{ env.ASSIGNEE_ID }} ]
39+
})
40+
{ clientMutationId }
41+
}'
42+
43+
- name: add-triage-label
44+
run: |
45+
issue_url=${{ github.event.issue.html_url }}
46+
gh issue edit ${issue_url} --add-label "Needs Triage"
47+
48+
- name: add-comment-to-issue
49+
run: |
50+
issue_url=${{ github.event.issue.html_url }}
51+
author=${{ github.event.issue.user.login }}
52+
gh issue comment ${issue_url} --body "Hi @${author}!
53+
54+
Thanks for submitting this issue - the CCCL team has been notified and we'll get back to you as soon as we can!
55+
In the mean time, feel free to add any relevant information to this issue."

CITATION.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# Citation Guide
2+
3+
## To Cite CCCL
4+
If you use CCCL in a publication, please use citations in the following format (BibTeX entry for LaTeX):
5+
```tex
6+
@Manual{,
7+
title = {CCCL: CUDA C++ Core Libraries},
8+
author = {CCCL Development Team},
9+
year = {2023},
10+
url = {https://github.com/NVIDIA/cccl},
11+
}
12+
```

0 commit comments

Comments
 (0)