Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Initial GH Infra Setup #23

Merged
merged 7 commits into from
Jun 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
134 changes: 134 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,134 @@
name: Bug Report
description: Create a report to help us improve
title: '[BUG]: '
labels: ['Bug']
body:
- type: checkboxes
id: check-duplicates
attributes:
label: Is this a duplicate?
description: Check for duplicate issues.
options:
- 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)
required: true

- type: dropdown
id: bug-type
attributes:
label: Type of Bug
description: What kind of bug are you running into?
multiple: false
options:
- Silent Failure
- Runtime Error
- Compile-time Error
- Performance
- Something else
validations:
required: true

jarmak-nv marked this conversation as resolved.
Show resolved Hide resolved
- type: dropdown
id: component
attributes:
label: Component
description: Which CCCL component does this apply to?
multiple: false
options:
- Thrust
- CUB
- libcu++
- Not sure
validations:
required: true

- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what problem you are running into.
placeholder: "Attempting to use structured bindings with `cuda::std::tuple` fails to compile."
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: How to Reproduce
description: Steps used to reproduce the bug.
placeholder: |
0. See godbolt link below for exact reproducer
1. Construct a `cuda::std::tuple`
2. Use structured bindings to destructure the elements of the tuple.
3. Compilation fails with the error message:
```
<source>(5): error: cannot bind to non-public member "cuda::std::__4::tuple<_Tp...>::__base_ [with _Tp=<int, int>]"
auto [a,b] = t;
validations:
required: true

- type: textarea
id: expected-behavior
attributes:
label: Expected behavior
description: A clear and concise description of what you expected to happen.
placeholder: "Using structured bindings with `cuda::std::tuple` should successfully compile and destructure the elements of the tuple."
validations:
required: true

- type: input
id: reproduction-link
attributes:
label: Reproduction link
description: If applicable, please provide a Compiler Explorer (godbolt) link to help explain your problem.
placeholder: https://godbolt.org/z/dT5nMcf7W
validations:
required: false

- type: markdown
attributes:
value: '# System information'

- type: input
id: operating-system
attributes:
label: Operating System
description:
If applicable, the OS version where this bug occurs.
placeholder: Ubuntu Linux 20.04
validations:
required: false

- type: textarea
id: nvidia-smi-output
attributes:
label: nvidia-smi output
description: If applicable, the output from running the `nvidia-smi` command.
placeholder: |
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 495.29.05 Driver Version: 495.29.05 CUDA Version: 11.5 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... Off | 00000000:41:00.0 On | N/A |
| 0% 25C P8 8W / 320W | 491MiB / 10015MiB | 0% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
validations:
required: false

- type: textarea
id: nvcc-version
attributes:
label: NVCC version
description: If applicable, the version of nvcc you're using.
placeholder: |
nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Thu_Nov_18_09:45:30_PST_2021
Cuda compilation tools, release 11.5, V11.5.119
Build cuda_11.5.r11.5/compiler.30672275_0
validations:
required: false
5 changes: 5 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
blank_issues_enabled: true
contact_links:
- name: Question
url: https://github.com/NVIDIA/cccl/discussions
about: Check out our Discussions page to ask and answer questions.
42 changes: 42 additions & 0 deletions .github/ISSUE_TEMPLATE/doc_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
name: Documentation Request
description: Suggest an idea to improve CCCL
title: '[DOC]: '
labels: ['Doc']

body:
- type: checkboxes
id: check-duplicates
attributes:
label: Is this a duplicate?
description: Check for duplicate issues.
options:
- 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)
required: true

- type: dropdown
id: new_or_correction
attributes:
label: Is this for new documentation, or an update to existing docs?
options:
- New
- Update
validations:
required: true

- type: textarea
id: problem
attributes:
label: Describe the incorrect/future/missing documentation
placeholder: "Example: A code snippet mentions function foo(args) but I cannot find any documentation on it."
validations:
required: true

- type: textarea
id: search_locs
attributes:
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.
placeholder: |
https://docs.nvidia.com/cuda/thrust/
https://docs.nvidia.com/cuda/cub/
https://docs.nvidia.com/cuda/cuda-c-std/index.html

65 changes: 65 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
name: Feature Request
description: Suggest an idea to improve CCCL
title: '[FEA]: '
labels: ['Feature']
body:
- type: checkboxes
id: check-duplicates
attributes:
label: Is this a duplicate?
description: Check for duplicate issues.
options:
- 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)

jarmak-nv marked this conversation as resolved.
Show resolved Hide resolved
- type: dropdown
id: component
attributes:
label: Component
description: Which CCCL component does this apply to?
multiple: false
options:
- Thrust
- CUB
- libcu++
- Not sure
validations:
required: true

- type: textarea
id: description
attributes:
label: Is your feature request related to a problem? Please describe.
description: A clear and concise description of what the problem is, e.g., "I would like to be able to..."
placeholder: I would like to be able to use the equivalent of `std::variant` in both host and device code.
validations:
required: true

- type: textarea
id: proposed-solution
attributes:
label: Describe the solution you'd like
description: A clear and concise description of what you want to happen.
placeholder: |
Provide the header `<cuda/std/variant>` that implements a heterogeneous `cuda::std::variant` type.
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Describe alternatives you've considered
description:
If applicable, please add a clear and concise description of any alternative solutions or features you've
considered.
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`.
validations:
required: false

- type: textarea
id: additional-context
attributes:
label: Additional context
description: Add any other context about the request here.
placeholder: This would be a helpful vocabulary type that could replace a lot of custom and error prone code.
validations:
required: false
9 changes: 9 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Description
<!-- Provide a standalone description of changes in this PR. -->
<!-- Reference any issues closed by this PR with "closes #1234". -->
<!-- Note: The pull request title will be included in the CHANGELOG. -->

## Checklist
<!-- TODO: - [ ] I am familiar with the [Contributing Guidelines](). -->
- [ ] New or existing tests cover these changes.
- [ ] The documentation is up to date with these changes.
55 changes: 55 additions & 0 deletions .github/workflows/triage_rotation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
name: Assign Issues for Triage

on:
issues:
types:
- opened

env:
GH_TOKEN: ${{ github.token }}

jobs:
assign_issues:
runs-on: ubuntu-latest
if: ${{ ! contains(fromJSON('["OWNER", "MEMBER", "CONTRIBUTOR", "COLLABORATOR"]'), github.event.issue.author_association)}}
steps:
- name: Calculate assignee
id: calculate_assignee
run: |
USERS=("allisonvacanti" "senior-zero" "jrhemstad" "elstehle" "wmaxey" "miscco" "griwes")
WEEK=$(date +%U)
INDEX=$(( WEEK % 7 ))
echo "ASSIGNEE=${USERS[$INDEX]}" >> $GITHUB_ENV

- name: Get User ID
run: |
gh api graphql -f query='
query{ user(login: "${{ env.ASSIGNEE }}")
{ id } }' > user_info.json

echo 'ASSIGNEE_ID='$(jq '.data.user.id' user_info.json) >> $GITHUB_ENV

- name: Assign issue
run: |
gh api graphql -f query='
mutation {
addAssigneesToAssignable(input:
{assignableId: "${{ github.event.issue.node_id }}",
assigneeIds: [ ${{ env.ASSIGNEE_ID }} ]
})
{ clientMutationId }
}'

- name: add-triage-label
run: |
issue_url=${{ github.event.issue.html_url }}
gh issue edit ${issue_url} --add-label "Needs Triage"

- name: add-comment-to-issue
run: |
issue_url=${{ github.event.issue.html_url }}
author=${{ github.event.issue.user.login }}
gh issue comment ${issue_url} --body "Hi @${author}!

Thanks for submitting this issue - the CCCL team has been notified and we'll get back to you as soon as we can!
In the mean time, feel free to add any relevant information to this issue."
12 changes: 12 additions & 0 deletions CITATION.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# Citation Guide

## To Cite CCCL
If you use CCCL in a publication, please use citations in the following format (BibTeX entry for LaTeX):
```tex
@Manual{,
title = {CCCL: CUDA C++ Core Libraries},
author = {CCCL Development Team},
year = {2023},
url = {https://github.com/NVIDIA/cccl},
}
```
Loading