Skip to content

Commit 446db93

Browse files
committed
Complete revamp for RF-DETR+
Refactor CI/CD workflows, update issue templates, and revise repository structure.
1 parent 2cd60d1 commit 446db93

26 files changed

+855
-312
lines changed

.codecov.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# see https://docs.codecov.io/docs/codecov-yaml
2+
# Validation check:
3+
# $ curl --data-binary @.codecov.yml https://codecov.io/validate
4+
5+
# https://docs.codecov.io/docs/codecovyml-reference
6+
codecov:
7+
bot: "codecov-io"
8+
strict_yaml_branch: "yaml-config"
9+
require_ci_to_pass: yes
10+
notify:
11+
wait_for_ci: yes
12+
13+
coverage:
14+
precision: 0 # 2 = xx.xx%, 0 = xx%
15+
round: nearest # how coverage is rounded: down/up/nearest
16+
range: 40...100 # custom range of coverage colors from red -> yellow -> green
17+
status:
18+
# https://codecov.readme.io/v1.0/docs/commit-status
19+
project:
20+
default:
21+
informational: true
22+
target: 95% # specify the target coverage for each commit status
23+
threshold: 10% # allow this little decrease on project
24+
if_ci_failed: error
25+
# https://github.com/codecov/support/wiki/Patch-Status
26+
patch:
27+
default:
28+
informational: true
29+
target: 95%
30+
threshold: 10%
31+
changes: false
32+
33+
# https://docs.codecov.com/docs/github-checks#disabling-github-checks-patch-annotations
34+
github_checks:
35+
annotations: false
36+
37+
comment:
38+
layout: header, diff
39+
require_changes: false
40+
behavior: default

.github/CODEOWNERS

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,6 @@
1-
# CODEOWNERS
2-
#
3-
# This file specifies which people or teams own code in this repository.
4-
# Directives are specified using one of the following forms:
5-
#
6-
# * @org/team-name # entire repo
7-
# /path/to/file @user-name # specific file
8-
# /docs/** @team-name # all files in docs folder
9-
# *.js @js-owner # all JS files
10-
#
11-
# See https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners
12-
#
13-
# Order is important; the last matching pattern takes precedence.
1+
# These owners will be the default owners for everything in the repo.
2+
# They will be requested for review when someone opens a pull request.
3+
* @SkalskiP @Borda @probicheaux @isaacrob
4+
5+
# supervise the core modules
6+
/rfdetr_plus @probicheaux @isaacrob @Matvezy
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
name: Bug Report
2+
description: "Problems with RF-DETR+"
3+
labels: [bug]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for submitting an RF-DETR+ Bug Report!
9+
10+
- type: checkboxes
11+
attributes:
12+
label: Search before asking
13+
description: >
14+
Please search the RF-DETR+ [issues](https://github.com/roboflow/rf-detr-plus/issues) to see if a similar bug report already exists.
15+
options:
16+
- label: >
17+
I have searched the RF-DETR+ issues and found no similar bug report.
18+
required: true
19+
20+
- type: textarea
21+
attributes:
22+
label: Bug
23+
description: >
24+
Please provide as much information as possible. Include full console output and error messages (including any traceback). Use Markdown to format text, code, and logs. Screenshots can help clarify visual issues.
25+
placeholder: |
26+
Include logs, tracebacks, screenshots, or any other relevant info to help us quickly diagnose and solve your problem.
27+
validations:
28+
required: true
29+
30+
- type: textarea
31+
attributes:
32+
label: Environment
33+
description: |
34+
Please provide details about your setup:
35+
- RF-DETR+ version
36+
- OS (e.g. Ubuntu 20.04, Windows 10)
37+
- Python version
38+
- PyTorch version
39+
- CUDA/cuDNN version
40+
- GPU/CPU hardware
41+
placeholder: |
42+
Example:
43+
- RF-DETR+: 0.1.0
44+
- OS: Ubuntu 20.04
45+
- Python: 3.10.0
46+
- PyTorch: 2.0.0
47+
- GPU: NVIDIA RTX 4080
48+
validations:
49+
required: true
50+
51+
- type: textarea
52+
attributes:
53+
label: Minimal Reproducible Example
54+
description: >
55+
Provide code or steps that are as minimal and self-contained as possible to reproduce the issue.
56+
placeholder: |
57+
```
58+
# Example code to reproduce your issue
59+
```
60+
validations:
61+
required: true
62+
63+
- type: textarea
64+
attributes:
65+
label: Additional
66+
description: |
67+
Anything else you would like to share? (Optional)
68+
69+
- type: checkboxes
70+
attributes:
71+
label: Are you willing to submit a PR?
72+
description: >
73+
(Optional) We encourage you to submit a Pull Request to help improve RF-DETR+.
74+
options:
75+
- label: Yes, I'd like to help by submitting a PR!

.github/ISSUE_TEMPLATE/bug_report.yml

Lines changed: 0 additions & 28 deletions
This file was deleted.
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Feature Request
2+
description: Suggest an idea for RF-DETR+
3+
labels: [enhancement]
4+
body:
5+
- type: markdown
6+
attributes:
7+
value: |
8+
Thank you for submitting an RF-DETR+ Feature Request!
9+
10+
- type: checkboxes
11+
attributes:
12+
label: Search before asking
13+
description: >
14+
Please search the [issues](https://github.com/roboflow/rf-detr-plus/issues) to see if a similar feature request already exists.
15+
options:
16+
- label: >
17+
I have searched the RF-DETR+ [issues](https://github.com/roboflow/rf-detr-plus/issues) and found no similar feature requests.
18+
required: true
19+
20+
- type: textarea
21+
attributes:
22+
label: Description
23+
description: A short description of your feature.
24+
placeholder: |
25+
What new feature would you like to see in RF-DETR+?
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
attributes:
31+
label: Use case
32+
description: |
33+
Describe the use case of your feature request. It will help us understand and prioritize the feature request.
34+
placeholder: |
35+
How would this feature be used, and who would use it?
36+
37+
- type: textarea
38+
attributes:
39+
label: Additional
40+
description: Anything else you would like to share?
41+
42+
- type: checkboxes
43+
attributes:
44+
label: Are you willing to submit a PR?
45+
description: >
46+
(Optional) We encourage you to submit a Pull Request to help improve RF-DETR+.
47+
options:
48+
- label: Yes I'd like to help by submitting a PR!

.github/ISSUE_TEMPLATE/feature_request.yml

Lines changed: 0 additions & 20 deletions
This file was deleted.
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Build Package
2+
3+
permissions:
4+
contents: read
5+
6+
on:
7+
workflow_call:
8+
inputs:
9+
python-version:
10+
required: false
11+
type: string
12+
default: "3.10"
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout the repository
19+
uses: actions/checkout@v6
20+
21+
- name: Install uv and set Python version ${{ inputs.python-version }}
22+
uses: astral-sh/setup-uv@v7
23+
with:
24+
python-version: ${{ inputs.python-version }}
25+
activate-environment: true
26+
27+
- name: Build source and wheel distributions
28+
run: |
29+
uv pip install -r pyproject.toml --group build
30+
uv build
31+
uv run twine check --strict dist/*
32+
33+
- name: Upload distribution artifacts
34+
uses: actions/upload-artifact@v4
35+
with:
36+
name: dist
37+
path: dist/
38+
39+
- name: Minimize uv cache
40+
run: uv cache prune --ci
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Check License Headers
2+
3+
on:
4+
push:
5+
branches: [main, develop]
6+
pull_request:
7+
branches: [main, develop]
8+
9+
permissions:
10+
contents: read
11+
12+
concurrency:
13+
group: license-check-${{ github.ref }}
14+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
15+
16+
jobs:
17+
check-headers:
18+
name: Validate License Headers
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout the repository
22+
uses: actions/checkout@v4
23+
24+
- name: Check license headers
25+
run: |
26+
FAILED_FILES=()
27+
28+
# PML-1.0 header pattern for RF-DETR+
29+
PML_LINE1="# RF-DETR+"
30+
PML_LINE2="# Copyright (c) 2026 Roboflow, Inc. All Rights Reserved."
31+
32+
while IFS= read -r -d '' file; do
33+
# Read first 15 lines of the file
34+
HEADER=$(head -n 15 "$file")
35+
36+
# Check for RF-DETR+ PML header
37+
if echo "$HEADER" | grep -q "$PML_LINE1" && \
38+
echo "$HEADER" | grep -q "$PML_LINE2"; then
39+
continue
40+
fi
41+
42+
# File doesn't have a valid header
43+
FAILED_FILES+=("$file")
44+
done < <(find . -name "*.py" -type f ! -path "./.venv/*" ! -path "./venv/*" ! -path "./.git/*" -print0)
45+
46+
if [ ${#FAILED_FILES[@]} -gt 0 ]; then
47+
echo "The following files are missing valid license headers:"
48+
echo ""
49+
for file in "${FAILED_FILES[@]}"; do
50+
echo " - $file"
51+
done
52+
echo ""
53+
echo "Each Python file must start with the following header:"
54+
echo ""
55+
echo " # ------------------------------------------------------------------------"
56+
echo " # RF-DETR+"
57+
echo " # Copyright (c) 2026 Roboflow, Inc. All Rights Reserved."
58+
echo " # Licensed under the Platform Model License 1.0 [see LICENSE for details]"
59+
echo " # ------------------------------------------------------------------------"
60+
exit 1
61+
fi
62+
63+
echo "All Python files have valid license headers."

0 commit comments

Comments
 (0)