Skip to content

Commit c7020a5

Browse files
committed
Merge branch 'main' of https://github.com/OWASP/Nest into light-dark-theme
* 'main' of https://github.com/OWASP/Nest: Turn server tokens off Update issue index and Nginx config Update Nginx config Make some Repository fields optional Update Repository model Set up Sentry Update CI/CD Bump openai from 1.47.0 to 1.50.2 in /backend (OWASP#18) Bump pytest-cov from 4.1.0 to 5.0.0 in /backend (OWASP#16) Bump ruff from 0.5.7 to 0.6.8 in /backend (OWASP#17) Update issue-manager config Add issue manager Update dependabot config (docker) Update dependabot config
2 parents 27a2469 + 8454ffb commit c7020a5

File tree

15 files changed

+228
-59
lines changed

15 files changed

+228
-59
lines changed

.github/dependabot.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
version: 2
22
updates:
33
- package-ecosystem: docker
4-
directory: /
4+
directory: /backend
55
schedule:
66
interval: daily
77

88
- package-ecosystem: pip
9-
directory: /
9+
directory: /backend
1010
schedule:
1111
interval: daily
1212
target-branch: main

.github/workflows/ci-cd.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@ name: CI/CD
33
on:
44
merge_group:
55
pull_request:
6+
branches:
7+
- main
68
push:
9+
branches:
10+
- main
711
workflow_dispatch:
812

13+
permissions:
14+
contents: read
15+
916
concurrency:
1017
cancel-in-progress: true
1118
group: ${{ github.repository }}-${{ github.workflow }}-${{ github.head_ref || github.ref_name }}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
name: Issue manager
2+
3+
on:
4+
issue_comment:
5+
types:
6+
- created
7+
8+
jobs:
9+
assign-issue:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: Checkout repository
14+
uses: actions/checkout@v4
15+
16+
- uses: owasp-actions/issue-manager@v0
17+
with:
18+
token: ${{ secrets.GITHUB_TOKEN }}

backend/.env/template

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ DJANGO_DB_PORT=None
1111
DJANGO_DB_USER=None
1212
DJANGO_OPEN_AI_SECRET_KEY=None
1313
DJANGO_SECRET_KEY=None
14+
DJANGO_SENTRY_DSN=None
1415
DJANGO_SLACK_APP_TOKEN=None
1516
DJANGO_SLACK_BOT_TOKEN=None
1617
DJANGO_SLACK_SIGNING_SECRET=None

backend/apps/github/admin.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ class RepositoryAdmin(admin.ModelAdmin):
6767
"organization",
6868
)
6969
ordering = ("-created_at",)
70-
search_fields = ("name",)
70+
search_fields = ("name", "node_id")
7171

7272
def custom_field_github_url(self, obj):
7373
"""Repository GitHub URL."""

backend/apps/github/management/commands/github_update_owasp_organization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def handle(self, *_args, **options):
5151
sort="created",
5252
direction="desc",
5353
)
54-
gh_repositories_count = gh_repositories.totalCount - offset
54+
gh_repositories_count = gh_repositories.totalCount
5555
for idx, gh_repository in enumerate(gh_repositories[offset:]):
5656
prefix = f"{idx + offset + 1} of {gh_repositories_count}"
5757
entity_key = gh_repository.name.lower()
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Generated by Django 5.1.1 on 2024-10-01 16:24
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
dependencies = [
8+
("github", "0010_alter_repositorycontributor_unique_together"),
9+
]
10+
11+
operations = [
12+
migrations.AlterField(
13+
model_name="repository",
14+
name="funding_yml",
15+
field=models.JSONField(blank=True, default=dict, verbose_name="FUNDING.yml data"),
16+
),
17+
migrations.AlterField(
18+
model_name="repository",
19+
name="homepage",
20+
field=models.CharField(
21+
blank=True, default="", max_length=100, verbose_name="Homepage"
22+
),
23+
),
24+
migrations.AlterField(
25+
model_name="repository",
26+
name="pages_status",
27+
field=models.CharField(
28+
blank=True, default="", max_length=20, verbose_name="Pages status"
29+
),
30+
),
31+
]
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# Generated by Django 5.1.1 on 2024-10-01 16:35
2+
3+
from django.db import migrations, models
4+
5+
6+
class Migration(migrations.Migration):
7+
dependencies = [
8+
("github", "0011_alter_repository_funding_yml_and_more"),
9+
]
10+
11+
operations = [
12+
migrations.AlterField(
13+
model_name="repository",
14+
name="description",
15+
field=models.CharField(
16+
blank=True, default="", max_length=1000, verbose_name="Description"
17+
),
18+
),
19+
migrations.AlterField(
20+
model_name="repository",
21+
name="languages",
22+
field=models.JSONField(blank=True, default=dict, verbose_name="Languages"),
23+
),
24+
migrations.AlterField(
25+
model_name="repository",
26+
name="topics",
27+
field=models.JSONField(blank=True, default=list, verbose_name="Topics"),
28+
),
29+
]

backend/apps/github/models/issue.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,10 @@ def __str__(self):
9292
def is_indexable(self):
9393
"""Issues to index."""
9494
return (
95-
self.state == self.State.OPEN and not self.is_locked and self.repository.is_indexable
95+
self.state == self.State.OPEN
96+
and not self.is_locked
97+
and not self.assignees.exists()
98+
and self.repository.is_indexable
9699
)
97100

98101
@property

backend/apps/github/models/managers/issue.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,9 @@ def get_queryset(self):
1818
.select_related(
1919
"repository",
2020
)
21+
.prefetch_related(
22+
"assignees",
23+
)
2124
.filter(
2225
repository__project__isnull=False,
2326
state="open",

0 commit comments

Comments
 (0)