Skip to content
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
24 changes: 21 additions & 3 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Bug Report
description: File a bug report
labels: ["Type: Bug", "Status: Triage"]
labels: ["bug"]
body:
- type: markdown
attributes:
Expand All @@ -16,6 +16,25 @@ body:
If applicable, add screenshots to help explain the problem you are facing.
validations:
required: true
- type: dropdown
id: impact
attributes:
label: Impact
description: How severe is the business impact of this bug?
options:
- Low (minor issue or cosmetic problem)
- Medium (functionality degraded, workaround exists)
- High (major functionality broken, no workaround)
- Critical (system down, data loss, affecting deployment in production)
validations:
required: true
- type: textarea
id: impact-rationale
attributes:
label: Impact Rationale
description: >
If impact is high or critical, please provide the rationale behind your assessment, impacted
project reference and any relevant project deadline dates which will be affected by this bug.
- type: textarea
id: reproduction
attributes:
Expand Down Expand Up @@ -46,12 +65,11 @@ body:
description: >
Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
Fetch the logs using `juju debug-log --replay` and `kubectl logs ...`. Additional details available in the juju docs
at https://juju.is/docs/olm/juju-logs
at https://documentation.ubuntu.com/juju/3.6/howto/manage-logs/#manage-logs
render: shell
validations:
required: true
- type: textarea
id: additional-context
attributes:
label: Additional context

21 changes: 20 additions & 1 deletion .github/ISSUE_TEMPLATE/enhancement_proposal.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Enhancement Proposal
description: File an enhancement proposal
labels: ["Type: Enhancement", "Status: Triage"]
labels: ["enhancement"]
body:
- type: markdown
attributes:
Expand All @@ -15,3 +15,22 @@ body:
Describe the enhancement you would like to see in as much detail as needed.
validations:
required: true
- type: dropdown
id: impact
attributes:
label: Impact
description: What is the impact of this feature?
options:
- Low (The feature is nice to have)
- Medium (The feature may be helpful in the future)
- High (The feature has short-term technical value)
- Critical (The feature has big short-term business value)
validations:
required: true
- type: textarea
id: impact-rationale
attributes:
label: Impact Rationale
description: >
If impact is high or critical, please provide the rationale behind your assessment with as
much context as possible.
1 change: 1 addition & 0 deletions .trivyignore
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ CVE-2025-58183
CVE-2025-58186
CVE-2025-58187
CVE-2025-58188
CVE-2025-68121
1 change: 1 addition & 0 deletions tests/integration/conftest.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Fixtures for the github-runner-webhook-router charm."""

import os
import random
from collections import namedtuple
Expand Down
1 change: 1 addition & 0 deletions tests/integration/test_app.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Integration tests for the charmed flask application."""

import hashlib
import hmac
import itertools
Expand Down
1 change: 1 addition & 0 deletions tests/unit/test_mq.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""The unit tests for the mq module."""

import secrets
from unittest.mock import MagicMock

Expand Down
1 change: 1 addition & 0 deletions tests/unit/test_parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Unit tests for the parse module."""

from itertools import permutations

import pytest
Expand Down
1 change: 1 addition & 0 deletions tests/unit/test_router.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Unit tests for the router module."""

import itertools
from unittest.mock import MagicMock

Expand Down
1 change: 1 addition & 0 deletions tests/unit/test_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""The unit tests for the validation module."""

import secrets
from typing import Callable

Expand Down
1 change: 1 addition & 0 deletions tests/unit/test_webhook_redelivery.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Unit tests for webhook redelivery script."""

import secrets
from collections import namedtuple
from datetime import datetime, timedelta, timezone
Expand Down
1 change: 1 addition & 0 deletions webhook_redelivery.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@

Only webhooks with action type queued are redelivered (as the others are not routable).
"""

import argparse
import json
import logging
Expand Down
1 change: 1 addition & 0 deletions webhook_router/app.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Flask application which receives GitHub webhooks and logs those."""

import logging
from collections import namedtuple

Expand Down
1 change: 1 addition & 0 deletions webhook_router/mq.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Module for interacting with the message queue."""

import logging
import os

Expand Down
1 change: 1 addition & 0 deletions webhook_router/parse.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
# See LICENSE file for licensing details.

"""Module for parsing the webhook payload."""

from collections import namedtuple
from enum import Enum
from typing import Collection
Expand Down
1 change: 1 addition & 0 deletions webhook_router/router.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# Copyright 2026 Canonical Ltd.
# See LICENSE file for licensing details.
"""Module for routing webhooks to the appropriate message queue."""

import itertools
import json
import logging
Expand Down
Loading