mirror of
https://github.com/Dasharo/dasharo-issues.git
synced 2026-06-13 10:16:25 -07:00
README.md: add bug bounty and update other sections
Signed-off-by: Maciej Pijanowski <maciej.pijanowski@3mdeb.com>
This commit is contained in:
@@ -1,28 +1,73 @@
|
||||
Dasharo Issues repository
|
||||
=======================
|
||||
# Dasharo Issues repository
|
||||
|
||||
This repository tracks issues and feature development progress for the [Dasharo
|
||||
Project](https://dasharo.com/).
|
||||
This repository tracks issues and feature development progress for the
|
||||
[Dasharo Project](https://dasharo.com/).
|
||||
|
||||
You can [file a new issue](https://github.com/Dasharo/dasharo-issues/issues/new/choose)
|
||||
or [view all issues](https://github.com/Dasharo/dasharo-issues/issues).
|
||||
|
||||
Notable issues
|
||||
--------------
|
||||
## Bug Bounty
|
||||
|
||||
* [Good first issue](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22)
|
||||
* [Help wanted](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22)
|
||||
* [Community-developed](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue+is%3Aopen+label%3Acommunity-dev)
|
||||
You can find more details on the Bug Bounty program
|
||||
[on our website](https://3mdeb.com/bug-bounty/).
|
||||
|
||||
Issues by variant
|
||||
-----------------
|
||||
Bounties are categorized per difficulty:
|
||||
- [Warmup](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3Abounty-warmup)
|
||||
- [Easy](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3Abounty-easy)
|
||||
- [Medium](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3Abounty-medium)
|
||||
- [Hard](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3Abounty-hard)
|
||||
|
||||
* [Dasharo Workstation](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22workstation%22)
|
||||
* [Dasharo Secure Firewall](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22firewall%22)
|
||||
* [Dasharo Trustworthy Server](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+label%3A%22server%22)
|
||||
You can also view all bounties
|
||||
[here](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aissue%20state%3Aopen%20label%3Abounty-warmup%20OR%20label%3Abounty-easy%20OR%20label%3Abounty-medium%20OR%20label%3Abounty-hard%20OR%20label%3Abounty).
|
||||
|
||||
GitHub help
|
||||
-----------
|
||||
<!-- BEGIN DEVICE ISSUES -->
|
||||
## Issues per device
|
||||
|
||||
Below is a list of open issues affecting specific devices:
|
||||
- [Asus KGPE-D16](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22asus_kgpe-d16%22)
|
||||
- [Dell OptiPlex 7010](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22dell_optiplex_9010%22)
|
||||
- [Dell OptiPlex 9010](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22dell_optiplex_9010%22)
|
||||
- [Hardkernel Odroid H4](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22hardkernel_odroid_h4%22)
|
||||
- [MSI Pro Z690-A](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22MSI%20PRO%20Z690-A%20boards%22)
|
||||
- [MSI Pro Z790-P](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22MSI%20PRO%20Z790-P%20boards%22)
|
||||
- [NovaCustom NS5x 11th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_ns5x/7x_tgl%22)
|
||||
- [NovaCustom NS5x 11th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_ns5x/7x_adl%22)
|
||||
- [NovaCustom NS7x 11th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_ns5x/7x_tgl%22)
|
||||
- [NovaCustom NS7x 12th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_ns5x/7x_adl%22)
|
||||
- [NovaCustom NUC BOX 14th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_nuc_box%22)
|
||||
- [NovaCustom NV4x 11th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_nv4x_tgl%22)
|
||||
- [NovaCustom NV4x 12th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_nv4x_adl%22)
|
||||
- [NovaCustom V54 14th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_v54_mtl%22)
|
||||
- [NovaCustom V56 14th Gen](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22novacustom_v56_mtl%22)
|
||||
- [PC Engines APU2](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22pcengines_apu2%22)
|
||||
- [PC Engines APU3](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22pcengines_apu2%22)
|
||||
- [PC Engines APU4](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22pcengines_apu2%22)
|
||||
- [PC Engines APU6](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22pcengines_apu2%22)
|
||||
- [Protectli FW2B](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_bsw%22)
|
||||
- [Protectli FW4B](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_bsw%22)
|
||||
- [Protectli FW4C](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_bsw%22)
|
||||
- [Protectli FW6](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_kbl%22)
|
||||
- [Protectli V1210](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_jsl%22)
|
||||
- [Protectli V1211](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_jsl%22)
|
||||
- [Protectli V1410](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_jsl%22)
|
||||
- [Protectli V1610](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_jsl%22)
|
||||
- [Protectli VP2410](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_glk%22)
|
||||
- [Protectli VP2420](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_ehl%22)
|
||||
- [Protectli VP2430](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adln%22)
|
||||
- [Protectli VP2440](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adln%22)
|
||||
- [Protectli VP3210](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adln%22)
|
||||
- [Protectli VP3230](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adln%22)
|
||||
- [Protectli VP4630](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_cml%22)
|
||||
- [Protectli VP4650](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_cml%22)
|
||||
- [Protectli VP4670](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_cml%22)
|
||||
- [Protectli VP6630](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adl%22)
|
||||
- [Protectli VP6650](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adl%22)
|
||||
- [Protectli VP6670](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22protectli_vault_adl%22)
|
||||
- [QEMU Q35 Emulator](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22qemu_q35%22)
|
||||
- [Raptor CS Talos II](https://github.com/dasharo/dasharo-issues/issues?q=is%3Aissue+state%3Aopen+label%3A%22raptor-cs_talos-2%22)
|
||||
<!-- END DEVICE ISSUES -->
|
||||
|
||||
## GitHub help
|
||||
|
||||
* [GitHub search syntax](https://help.github.com/articles/search-syntax/)
|
||||
* [GitHub search syntax related to issues](https://help.github.com/articles/searching-issues/)
|
||||
|
||||
Executable
+80
@@ -0,0 +1,80 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
update_readme_devices.py
|
||||
|
||||
This script updates the `README.md` file in the Dasharo Issues repository by generating
|
||||
a section that lists supported devices and links each one to its open issues on GitHub.
|
||||
|
||||
It should be executed each time we add a new device (or drop existing one), to make sure
|
||||
the list is up to date.
|
||||
|
||||
It:
|
||||
- Loads the `.github/advanced-issue-labeler.yml` policy file.
|
||||
- Extracts all device labels and their associated keys.
|
||||
- Generates a Markdown list of device names linking to GitHub issue searches.
|
||||
- Replaces the content between `<!-- BEGIN DEVICE ISSUES -->` and `<!-- END DEVICE ISSUES -->`
|
||||
in `README.md` with this list.
|
||||
|
||||
Usage:
|
||||
Run this script from the root of the repository:
|
||||
python3 update_readme_devices.py
|
||||
"""
|
||||
|
||||
import yaml
|
||||
import urllib.parse
|
||||
import re
|
||||
|
||||
REPO = "dasharo/dasharo-issues"
|
||||
YAML_PATH = ".github/advanced-issue-labeler.yml"
|
||||
README_PATH = "README.md"
|
||||
START_MARKER = "<!-- BEGIN DEVICE ISSUES -->"
|
||||
END_MARKER = "<!-- END DEVICE ISSUES -->"
|
||||
|
||||
def load_policy_yaml(path):
|
||||
with open(path, "r") as f:
|
||||
return yaml.safe_load(f)
|
||||
|
||||
def extract_device_entries(policy):
|
||||
entries = []
|
||||
for section in policy.get("policy", []):
|
||||
for sec in section.get("section", []):
|
||||
if sec.get("id") == ["device"] and "other" in sec.get("block-list", []):
|
||||
for item in sec.get("label", []):
|
||||
label_name = item["name"]
|
||||
for key in item.get("keys", []):
|
||||
entries.append((key, label_name))
|
||||
return entries
|
||||
|
||||
def generate_issue_search_url(repo, label_name):
|
||||
quoted = urllib.parse.quote(f'"{label_name}"')
|
||||
return f"https://github.com/{repo}/issues?q=is%3Aissue+state%3Aopen+label%3A{quoted}"
|
||||
|
||||
def generate_readme_section(entries):
|
||||
lines = ["## Issues per device", "\nBelow is a list of open issues affecting specific devices:"]
|
||||
for device_name, label_name in sorted(entries, key=lambda x: x[0].lower()):
|
||||
url = generate_issue_search_url(REPO, label_name)
|
||||
lines.append(f"- [{device_name}]({url})")
|
||||
return "\n".join(lines)
|
||||
|
||||
def update_readme(readme_path, new_section):
|
||||
with open(readme_path, "r") as f:
|
||||
content = f.read()
|
||||
|
||||
pattern = re.compile(rf"{START_MARKER}.*?{END_MARKER}", re.DOTALL)
|
||||
replacement = f"{START_MARKER}\n{new_section}\n{END_MARKER}"
|
||||
|
||||
if pattern.search(content):
|
||||
updated = pattern.sub(replacement, content)
|
||||
else:
|
||||
updated = content.strip() + "\n\n" + replacement
|
||||
|
||||
with open(readme_path, "w") as f:
|
||||
f.write(updated)
|
||||
|
||||
if __name__ == "__main__":
|
||||
policy = load_policy_yaml(YAML_PATH)
|
||||
entries = extract_device_entries(policy)
|
||||
section = generate_readme_section(entries)
|
||||
update_readme(README_PATH, section)
|
||||
print("README.md updated with flat device issue links.")
|
||||
Reference in New Issue
Block a user