Compare commits
	
		
			2 Commits
		
	
	
		
			42809e9d88
			...
			53c60c77f5
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 53c60c77f5 | |||
| 94ad715566 | 
@@ -1,7 +1,7 @@
 | 
			
		||||
import typer
 | 
			
		||||
import requests
 | 
			
		||||
from typing import Annotated
 | 
			
		||||
from rich.console import Console
 | 
			
		||||
from nixprstatus.pr import pr_merge_status
 | 
			
		||||
 | 
			
		||||
app = typer.Typer()
 | 
			
		||||
 | 
			
		||||
@@ -12,64 +12,30 @@ DEFAULT_HEADERS = {
 | 
			
		||||
BRANCHES = ["nixos-unstable-small", "nixos-unstable", "nixos-24.05"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def commit_in_branch(commit_sha: str, branch: str) -> bool:
 | 
			
		||||
    url = f"https://api.github.com/repos/NixOS/nixpkgs/compare/{branch}...{commit_sha}"
 | 
			
		||||
    commit_response = requests.get(url, headers=DEFAULT_HEADERS)
 | 
			
		||||
    commit_response.raise_for_status()
 | 
			
		||||
    status = commit_response.json().get("status")
 | 
			
		||||
 | 
			
		||||
    if status in ["identical", "behind"]:
 | 
			
		||||
        return True
 | 
			
		||||
    return False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@app.command()
 | 
			
		||||
def pr(
 | 
			
		||||
    pr: str,
 | 
			
		||||
    branch: Annotated[str | None, typer.Option(help="Check specific branch")] = None,
 | 
			
		||||
    pr: int,
 | 
			
		||||
    branches: Annotated[
 | 
			
		||||
        list[str] | None, typer.Option(help="Check specific branch")
 | 
			
		||||
    ] = None,
 | 
			
		||||
):
 | 
			
		||||
    """Get status of pull request"""
 | 
			
		||||
    url = f"https://api.github.com/repos/NixOS/nixpkgs/pulls/{pr}"
 | 
			
		||||
    typer.echo(f"branch {branch}")
 | 
			
		||||
 | 
			
		||||
    pr_response = requests.get(url, headers=DEFAULT_HEADERS)
 | 
			
		||||
    pr_response.raise_for_status()
 | 
			
		||||
 | 
			
		||||
    pr_data = pr_response.json()
 | 
			
		||||
 | 
			
		||||
    console = Console()
 | 
			
		||||
 | 
			
		||||
    merged = pr_data["merged"]
 | 
			
		||||
 | 
			
		||||
    if branch and not merged:
 | 
			
		||||
        console.print(f":x: {branch}")
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    commit_sha = pr_data.get("merge_commit_sha")
 | 
			
		||||
 | 
			
		||||
    # Check only specified branch
 | 
			
		||||
    if branch:
 | 
			
		||||
        in_branch = commit_in_branch(commit_sha, branch)
 | 
			
		||||
        if in_branch:
 | 
			
		||||
            console.print(f":white_check_mark: {branch}", highlight=False)
 | 
			
		||||
    if branches:
 | 
			
		||||
        status = pr_merge_status(pr, branches)
 | 
			
		||||
    else:
 | 
			
		||||
            console.print(f":x: {branch}", highlight=False)
 | 
			
		||||
        return
 | 
			
		||||
        status = pr_merge_status(pr)
 | 
			
		||||
    merged = ":white_check_mark: merged" if status.merged else ":x: merged"
 | 
			
		||||
    console.print(merged, highlight=False)
 | 
			
		||||
 | 
			
		||||
    if not merged:
 | 
			
		||||
        console.print(":x: master", highlight=False)
 | 
			
		||||
        for branch in BRANCHES:
 | 
			
		||||
            console.print(f":x: {branch}", highlight=False)
 | 
			
		||||
        return
 | 
			
		||||
 | 
			
		||||
    console.print(":white_check_mark: master", highlight=False)
 | 
			
		||||
 | 
			
		||||
    for b in BRANCHES:
 | 
			
		||||
        in_branch = commit_in_branch(commit_sha, b)
 | 
			
		||||
        if in_branch:
 | 
			
		||||
            console.print(f":white_check_mark: {b}", highlight=False)
 | 
			
		||||
        else:
 | 
			
		||||
            console.print(f":x: {b}", highlight=False)
 | 
			
		||||
    for branch in status.branches:
 | 
			
		||||
        output = (
 | 
			
		||||
            f":white_check_mark: {branch}"
 | 
			
		||||
            if status.branches[branch]
 | 
			
		||||
            else f":x: {branch}"
 | 
			
		||||
        )
 | 
			
		||||
        console.print(output, highlight=False)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def main():
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										45
									
								
								nixprstatus/pr.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								nixprstatus/pr.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
import requests
 | 
			
		||||
from pydantic import BaseModel
 | 
			
		||||
 | 
			
		||||
DEFAULT_HEADERS = {
 | 
			
		||||
    "Accept": "application/vnd.github.text+json",
 | 
			
		||||
}
 | 
			
		||||
DEFAULT_BRANCHES = ["master", "nixos-unstable-small", "nixos-unstable", "nixos-24.05"]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PRStatus(BaseModel):
 | 
			
		||||
    merged: bool
 | 
			
		||||
    branches: dict[str, bool]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def commit_in_branch(commit_sha: str, branch: str) -> bool:
 | 
			
		||||
    url = f"https://api.github.com/repos/NixOS/nixpkgs/compare/{branch}...{commit_sha}"
 | 
			
		||||
    commit_response = requests.get(url, headers=DEFAULT_HEADERS)
 | 
			
		||||
    commit_response.raise_for_status()
 | 
			
		||||
    status = commit_response.json().get("status")
 | 
			
		||||
 | 
			
		||||
    if status in ["identical", "behind"]:
 | 
			
		||||
        return True
 | 
			
		||||
    return False
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def pr_merge_status(pr: int, branches: list[str] = DEFAULT_BRANCHES) -> PRStatus:
 | 
			
		||||
    url = f"https://api.github.com/repos/NixOS/nixpkgs/pulls/{pr}"
 | 
			
		||||
    pr_response = requests.get(url, headers=DEFAULT_HEADERS)
 | 
			
		||||
    pr_response.raise_for_status()
 | 
			
		||||
 | 
			
		||||
    pr_data = pr_response.json()
 | 
			
		||||
 | 
			
		||||
    merged = pr_data["merged"]
 | 
			
		||||
    if merged is False:
 | 
			
		||||
        return PRStatus(merged=False, branches={branch: False for branch in branches})
 | 
			
		||||
 | 
			
		||||
    commit_sha = pr_data.get("merge_commit_sha")
 | 
			
		||||
 | 
			
		||||
    results = {}
 | 
			
		||||
 | 
			
		||||
    for branch in branches:
 | 
			
		||||
        in_branch = commit_in_branch(commit_sha, branch)
 | 
			
		||||
        results[branch] = in_branch
 | 
			
		||||
 | 
			
		||||
    return PRStatus(merged=True, branches=results)
 | 
			
		||||
							
								
								
									
										137
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										137
									
								
								poetry.lock
									
									
									
										generated
									
									
									
								
							@@ -1,5 +1,16 @@
 | 
			
		||||
# This file is automatically @generated by Poetry 1.8.3 and should not be changed by hand.
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "annotated-types"
 | 
			
		||||
version = "0.7.0"
 | 
			
		||||
description = "Reusable constraint types to use with typing.Annotated"
 | 
			
		||||
optional = false
 | 
			
		||||
python-versions = ">=3.8"
 | 
			
		||||
files = [
 | 
			
		||||
    {file = "annotated_types-0.7.0-py3-none-any.whl", hash = "sha256:1f02e8b43a8fbbc3f3e0d4f0f4bfc8131bcb4eebe8849b8e5c773f3a1c582a53"},
 | 
			
		||||
    {file = "annotated_types-0.7.0.tar.gz", hash = "sha256:aff07c09a53a08bc8cfccb9c85b05f1aa9a2a6f23728d790723543408344ce89"},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "asttokens"
 | 
			
		||||
version = "2.4.1"
 | 
			
		||||
@@ -364,6 +375,130 @@ files = [
 | 
			
		||||
[package.extras]
 | 
			
		||||
tests = ["pytest"]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pydantic"
 | 
			
		||||
version = "2.9.2"
 | 
			
		||||
description = "Data validation using Python type hints"
 | 
			
		||||
optional = false
 | 
			
		||||
python-versions = ">=3.8"
 | 
			
		||||
files = [
 | 
			
		||||
    {file = "pydantic-2.9.2-py3-none-any.whl", hash = "sha256:f048cec7b26778210e28a0459867920654d48e5e62db0958433636cde4254f12"},
 | 
			
		||||
    {file = "pydantic-2.9.2.tar.gz", hash = "sha256:d155cef71265d1e9807ed1c32b4c8deec042a44a50a4188b25ac67ecd81a9c0f"},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[package.dependencies]
 | 
			
		||||
annotated-types = ">=0.6.0"
 | 
			
		||||
pydantic-core = "2.23.4"
 | 
			
		||||
typing-extensions = [
 | 
			
		||||
    {version = ">=4.12.2", markers = "python_version >= \"3.13\""},
 | 
			
		||||
    {version = ">=4.6.1", markers = "python_version < \"3.13\""},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[package.extras]
 | 
			
		||||
email = ["email-validator (>=2.0.0)"]
 | 
			
		||||
timezone = ["tzdata"]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pydantic-core"
 | 
			
		||||
version = "2.23.4"
 | 
			
		||||
description = "Core functionality for Pydantic validation and serialization"
 | 
			
		||||
optional = false
 | 
			
		||||
python-versions = ">=3.8"
 | 
			
		||||
files = [
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-macosx_10_12_x86_64.whl", hash = "sha256:b10bd51f823d891193d4717448fab065733958bdb6a6b351967bd349d48d5c9b"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:4fc714bdbfb534f94034efaa6eadd74e5b93c8fa6315565a222f7b6f42ca1166"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:63e46b3169866bd62849936de036f901a9356e36376079b05efa83caeaa02ceb"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ed1a53de42fbe34853ba90513cea21673481cd81ed1be739f7f2efb931b24916"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:cfdd16ab5e59fc31b5e906d1a3f666571abc367598e3e02c83403acabc092e07"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:255a8ef062cbf6674450e668482456abac99a5583bbafb73f9ad469540a3a232"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4a7cd62e831afe623fbb7aabbb4fe583212115b3ef38a9f6b71869ba644624a2"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f09e2ff1f17c2b51f2bc76d1cc33da96298f0a036a137f5440ab3ec5360b624f"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:e38e63e6f3d1cec5a27e0afe90a085af8b6806ee208b33030e65b6516353f1a3"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:0dbd8dbed2085ed23b5c04afa29d8fd2771674223135dc9bc937f3c09284d071"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-none-win32.whl", hash = "sha256:6531b7ca5f951d663c339002e91aaebda765ec7d61b7d1e3991051906ddde119"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp310-none-win_amd64.whl", hash = "sha256:7c9129eb40958b3d4500fa2467e6a83356b3b61bfff1b414c7361d9220f9ae8f"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-macosx_10_12_x86_64.whl", hash = "sha256:77733e3892bb0a7fa797826361ce8a9184d25c8dffaec60b7ffe928153680ba8"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:1b84d168f6c48fabd1f2027a3d1bdfe62f92cade1fb273a5d68e621da0e44e6d"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:df49e7a0861a8c36d089c1ed57d308623d60416dab2647a4a17fe050ba85de0e"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:ff02b6d461a6de369f07ec15e465a88895f3223eb75073ffea56b84d9331f607"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:996a38a83508c54c78a5f41456b0103c30508fed9abcad0a59b876d7398f25fd"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:d97683ddee4723ae8c95d1eddac7c192e8c552da0c73a925a89fa8649bf13eea"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:216f9b2d7713eb98cb83c80b9c794de1f6b7e3145eef40400c62e86cee5f4e1e"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6f783e0ec4803c787bcea93e13e9932edab72068f68ecffdf86a99fd5918878b"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:d0776dea117cf5272382634bd2a5c1b6eb16767c223c6a5317cd3e2a757c61a0"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:d5f7a395a8cf1621939692dba2a6b6a830efa6b3cee787d82c7de1ad2930de64"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-none-win32.whl", hash = "sha256:74b9127ffea03643e998e0c5ad9bd3811d3dac8c676e47db17b0ee7c3c3bf35f"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp311-none-win_amd64.whl", hash = "sha256:98d134c954828488b153d88ba1f34e14259284f256180ce659e8d83e9c05eaa3"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-macosx_10_12_x86_64.whl", hash = "sha256:f3e0da4ebaef65158d4dfd7d3678aad692f7666877df0002b8a522cdf088f231"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f69a8e0b033b747bb3e36a44e7732f0c99f7edd5cea723d45bc0d6e95377ffee"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:723314c1d51722ab28bfcd5240d858512ffd3116449c557a1336cbe3919beb87"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:bb2802e667b7051a1bebbfe93684841cc9351004e2badbd6411bf357ab8d5ac8"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d18ca8148bebe1b0a382a27a8ee60350091a6ddaf475fa05ef50dc35b5df6327"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:33e3d65a85a2a4a0dc3b092b938a4062b1a05f3a9abde65ea93b233bca0e03f2"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:128585782e5bfa515c590ccee4b727fb76925dd04a98864182b22e89a4e6ed36"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:68665f4c17edcceecc112dfed5dbe6f92261fb9d6054b47d01bf6371a6196126"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:20152074317d9bed6b7a95ade3b7d6054845d70584216160860425f4fbd5ee9e"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:9261d3ce84fa1d38ed649c3638feefeae23d32ba9182963e465d58d62203bd24"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-none-win32.whl", hash = "sha256:4ba762ed58e8d68657fc1281e9bb72e1c3e79cc5d464be146e260c541ec12d84"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp312-none-win_amd64.whl", hash = "sha256:97df63000f4fea395b2824da80e169731088656d1818a11b95f3b173747b6cd9"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:7530e201d10d7d14abce4fb54cfe5b94a0aefc87da539d0346a484ead376c3cc"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:df933278128ea1cd77772673c73954e53a1c95a4fdf41eef97c2b779271bd0bd"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:0cb3da3fd1b6a5d0279a01877713dbda118a2a4fc6f0d821a57da2e464793f05"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:42c6dcb030aefb668a2b7009c85b27f90e51e6a3b4d5c9bc4c57631292015b0d"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:696dd8d674d6ce621ab9d45b205df149399e4bb9aa34102c970b721554828510"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2971bb5ffe72cc0f555c13e19b23c85b654dd2a8f7ab493c262071377bfce9f6"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8394d940e5d400d04cad4f75c0598665cbb81aecefaca82ca85bd28264af7f9b"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0dff76e0602ca7d4cdaacc1ac4c005e0ce0dcfe095d5b5259163a80d3a10d327"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_aarch64.whl", hash = "sha256:7d32706badfe136888bdea71c0def994644e09fff0bfe47441deaed8e96fdbc6"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-cp313-musllinux_1_1_x86_64.whl", hash = "sha256:ed541d70698978a20eb63d8c5d72f2cc6d7079d9d90f6b50bad07826f1320f5f"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-none-win32.whl", hash = "sha256:3d5639516376dce1940ea36edf408c554475369f5da2abd45d44621cb616f769"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp313-none-win_amd64.whl", hash = "sha256:5a1504ad17ba4210df3a045132a7baeeba5a200e930f57512ee02909fc5c4cb5"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-macosx_10_12_x86_64.whl", hash = "sha256:d4488a93b071c04dc20f5cecc3631fc78b9789dd72483ba15d423b5b3689b555"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:81965a16b675b35e1d09dd14df53f190f9129c0202356ed44ab2728b1c905658"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:4ffa2ebd4c8530079140dd2d7f794a9d9a73cbb8e9d59ffe24c63436efa8f271"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:61817945f2fe7d166e75fbfb28004034b48e44878177fc54d81688e7b85a3665"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:29d2c342c4bc01b88402d60189f3df065fb0dda3654744d5a165a5288a657368"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:5e11661ce0fd30a6790e8bcdf263b9ec5988e95e63cf901972107efc49218b13"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9d18368b137c6295db49ce7218b1a9ba15c5bc254c96d7c9f9e924a9bc7825ad"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ec4e55f79b1c4ffb2eecd8a0cfba9955a2588497d96851f4c8f99aa4a1d39b12"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:374a5e5049eda9e0a44c696c7ade3ff355f06b1fe0bb945ea3cac2bc336478a2"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:5c364564d17da23db1106787675fc7af45f2f7b58b4173bfdd105564e132e6fb"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-none-win32.whl", hash = "sha256:d7a80d21d613eec45e3d41eb22f8f94ddc758a6c4720842dc74c0581f54993d6"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp38-none-win_amd64.whl", hash = "sha256:5f5ff8d839f4566a474a969508fe1c5e59c31c80d9e140566f9a37bba7b8d556"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-macosx_10_12_x86_64.whl", hash = "sha256:a4fa4fc04dff799089689f4fd502ce7d59de529fc2f40a2c8836886c03e0175a"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:0a7df63886be5e270da67e0966cf4afbae86069501d35c8c1b3b6c168f42cb36"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dcedcd19a557e182628afa1d553c3895a9f825b936415d0dbd3cd0bbcfd29b4b"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:5f54b118ce5de9ac21c363d9b3caa6c800341e8c47a508787e5868c6b79c9323"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86d2f57d3e1379a9525c5ab067b27dbb8a0642fb5d454e17a9ac434f9ce523e3"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:de6d1d1b9e5101508cb37ab0d972357cac5235f5c6533d1071964c47139257df"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1278e0d324f6908e872730c9102b0112477a7f7cf88b308e4fc36ce1bdb6d58c"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9a6b5099eeec78827553827f4c6b8615978bb4b6a88e5d9b93eddf8bb6790f55"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:e55541f756f9b3ee346b840103f32779c695a19826a4c442b7954550a0972040"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:a5c7ba8ffb6d6f8f2ab08743be203654bb1aaa8c9dcb09f82ddd34eadb695605"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-none-win32.whl", hash = "sha256:37b0fe330e4a58d3c58b24d91d1eb102aeec675a3db4c292ec3928ecd892a9a6"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-cp39-none-win_amd64.whl", hash = "sha256:1498bec4c05c9c787bde9125cfdcc63a41004ff167f495063191b863399b1a29"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_10_12_x86_64.whl", hash = "sha256:f455ee30a9d61d3e1a15abd5068827773d6e4dc513e795f380cdd59932c782d5"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:1e90d2e3bd2c3863d48525d297cd143fe541be8bbf6f579504b9712cb6b643ec"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2e203fdf807ac7e12ab59ca2bfcabb38c7cf0b33c41efeb00f8e5da1d86af480"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e08277a400de01bc72436a0ccd02bdf596631411f592ad985dcee21445bd0068"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f220b0eea5965dec25480b6333c788fb72ce5f9129e8759ef876a1d805d00801"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:d06b0c8da4f16d1d1e352134427cb194a0a6e19ad5db9161bf32b2113409e728"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:ba1a0996f6c2773bd83e63f18914c1de3c9dd26d55f4ac302a7efe93fb8e7433"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:9a5bce9d23aac8f0cf0836ecfc033896aa8443b501c58d0602dbfd5bd5b37753"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_10_12_x86_64.whl", hash = "sha256:78ddaaa81421a29574a682b3179d4cf9e6d405a09b99d93ddcf7e5239c742e21"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:883a91b5dd7d26492ff2f04f40fbb652de40fcc0afe07e8129e8ae779c2110eb"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:88ad334a15b32a791ea935af224b9de1bf99bcd62fabf745d5f3442199d86d59"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:233710f069d251feb12a56da21e14cca67994eab08362207785cf8c598e74577"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:19442362866a753485ba5e4be408964644dd6a09123d9416c54cd49171f50744"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:624e278a7d29b6445e4e813af92af37820fafb6dcc55c012c834f9e26f9aaaef"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:f5ef8f42bec47f21d07668a043f077d507e5bf4e668d5c6dfe6aaba89de1a5b8"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:aea443fffa9fbe3af1a9ba721a87f926fe548d32cab71d188a6ede77d0ff244e"},
 | 
			
		||||
    {file = "pydantic_core-2.23.4.tar.gz", hash = "sha256:2584f7cf844ac4d970fba483a717dbe10c1c1c96a969bf65d61ffe94df1b2863"},
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[package.dependencies]
 | 
			
		||||
typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pygments"
 | 
			
		||||
version = "2.18.0"
 | 
			
		||||
@@ -532,4 +667,4 @@ files = [
 | 
			
		||||
[metadata]
 | 
			
		||||
lock-version = "2.0"
 | 
			
		||||
python-versions = "^3.12"
 | 
			
		||||
content-hash = "63b5e4c863dada0a142924b2c90aa34d71bab6ff8a418e19130a4a9d26db5e6d"
 | 
			
		||||
content-hash = "fe84b0646831111f9ab9ccb6d779eb5e06fac3b7581cf480741bb3c319bd9470"
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ readme = "README.md"
 | 
			
		||||
python = "^3.12"
 | 
			
		||||
requests = "^2.32.3"
 | 
			
		||||
typer = "^0.12.5"
 | 
			
		||||
pydantic = "^2.9.2"
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[tool.poetry.scripts]
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										180
									
								
								tests/fixtures/compare_master_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										180
									
								
								tests/fixtures/compare_master_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,180 @@
 | 
			
		||||
{
 | 
			
		||||
  "url": "https://api.github.com/repos/NixOS/nixpkgs/compare/master...2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
  "html_url": "https://github.com/NixOS/nixpkgs/compare/master...2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
  "permalink_url": "https://github.com/NixOS/nixpkgs/compare/NixOS:64046f0...NixOS:2c5fac3",
 | 
			
		||||
  "diff_url": "https://github.com/NixOS/nixpkgs/compare/master...2c5fac3edf2d00d948253e392ec1604b29b38f14.diff",
 | 
			
		||||
  "patch_url": "https://github.com/NixOS/nixpkgs/compare/master...2c5fac3edf2d00d948253e392ec1604b29b38f14.patch",
 | 
			
		||||
  "base_commit": {
 | 
			
		||||
    "sha": "64046f018f169b026bb4a4b206e5b0dfe18b0401",
 | 
			
		||||
    "node_id": "C_kwDOAEVQ_NoAKDY0MDQ2ZjAxOGYxNjliMDI2YmI0YTRiMjA2ZTViMGRmZTE4YjA0MDE",
 | 
			
		||||
    "commit": {
 | 
			
		||||
      "author": {
 | 
			
		||||
        "name": "lassulus",
 | 
			
		||||
        "email": "github@lassul.us",
 | 
			
		||||
        "date": "2024-10-05T22:34:39Z"
 | 
			
		||||
      },
 | 
			
		||||
      "committer": {
 | 
			
		||||
        "name": "GitHub",
 | 
			
		||||
        "email": "noreply@github.com",
 | 
			
		||||
        "date": "2024-10-05T22:34:39Z"
 | 
			
		||||
      },
 | 
			
		||||
      "message": "writers: add writeNim and writeNimBin (#338857)",
 | 
			
		||||
      "tree": {
 | 
			
		||||
        "sha": "4ee4a6bc6b2ac2f6775d73483bb1a2fb5247b9e5",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/git/trees/4ee4a6bc6b2ac2f6775d73483bb1a2fb5247b9e5"
 | 
			
		||||
      },
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/git/commits/64046f018f169b026bb4a4b206e5b0dfe18b0401",
 | 
			
		||||
      "comment_count": 0,
 | 
			
		||||
      "verification": {
 | 
			
		||||
        "verified": true,
 | 
			
		||||
        "reason": "valid",
 | 
			
		||||
        "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJnAb7/CRC1aQ7uu5UhlAAAcAMQAFu2ArPp+KOxfx9lcIGDUAbq\nV2ILtISGUy3PoA/1thdBfdItToKxk8hB3Hxgu6OTn8a3IG3IAKMYmFv5VyNt5sWg\n+6EhuhCwmKUHhJflNOk1Hv49QIcAJ7nnu94RohXvToZetNrwDT3rcyIzG9uOVM5k\n5Q50/WaJ5O6GSWYGRJYLVG6Ko2Vdm79zD+EHGgmd28DQw8l4gV+EHdTQx+pOnrZt\nEPCKNxyi0ijdiN/x4xMQGyCrjZAyEklXcI4DUcVdn06IUGLhCfrOb4XG6QeIW0q6\nlkw36zDdM133f0JidAuE78ARZqGg7jN5YWSt+ec8hGactdE+0xjA66oHEx3sK5PZ\n8qd6FF4UkOk5tbEOdoap9kVBVRMQrf0DRMWD8+TBnDotPyBwjxRUA2mqT8FatXUs\nPuhUqZJyh2kMHHUOTn4ZuOFziX4nTv/f08H8BCt6wCLqvMO3FpQMDxb0u0LlO5kE\nwanK2z7yzdo0BOn620LZ3MjPnM4xv0zHI0WjLBs/vKxmxLojmt3aJtDfXMjM/mBm\nMVj39tYer+wa94UDKsSWf1/1fvmBVrXRCEurUAhAstapYaTYYdyVQs1OaQLMtYaD\n1k45+7m4xIrWQ/jgoBmHTqth6XXM8QAY0iHy15KPNGxbR6iFgbny7+qZP4o2AmFX\n1qBIKa2D2vKroxc1/c6H\n=Nzlo\n-----END PGP SIGNATURE-----\n",
 | 
			
		||||
        "payload": "tree 4ee4a6bc6b2ac2f6775d73483bb1a2fb5247b9e5\nparent 5f821de20c900edf3e4067246f70add908a9dc97\nparent ca23669cf857ea1914bbdd411f87ee88999d4479\nauthor lassulus <github@lassul.us> 1728167679 +0100\ncommitter GitHub <noreply@github.com> 1728167679 +0100\n\nwriters: add writeNim and writeNimBin (#338857)\n\n"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/64046f018f169b026bb4a4b206e5b0dfe18b0401",
 | 
			
		||||
    "html_url": "https://github.com/NixOS/nixpkgs/commit/64046f018f169b026bb4a4b206e5b0dfe18b0401",
 | 
			
		||||
    "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/commits/64046f018f169b026bb4a4b206e5b0dfe18b0401/comments",
 | 
			
		||||
    "author": {
 | 
			
		||||
      "login": "Lassulus",
 | 
			
		||||
      "id": 621759,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjYyMTc1OQ==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/621759?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/Lassulus",
 | 
			
		||||
      "html_url": "https://github.com/Lassulus",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/Lassulus/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/Lassulus/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/Lassulus/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/Lassulus/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/Lassulus/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/Lassulus/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/Lassulus/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/Lassulus/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/Lassulus/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "committer": {
 | 
			
		||||
      "login": "web-flow",
 | 
			
		||||
      "id": 19864447,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjE5ODY0NDQ3",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/web-flow",
 | 
			
		||||
      "html_url": "https://github.com/web-flow",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/web-flow/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/web-flow/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/web-flow/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/web-flow/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/web-flow/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/web-flow/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "parents": [
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "5f821de20c900edf3e4067246f70add908a9dc97",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/5f821de20c900edf3e4067246f70add908a9dc97",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/5f821de20c900edf3e4067246f70add908a9dc97"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "ca23669cf857ea1914bbdd411f87ee88999d4479",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/ca23669cf857ea1914bbdd411f87ee88999d4479",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/ca23669cf857ea1914bbdd411f87ee88999d4479"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "merge_base_commit": {
 | 
			
		||||
    "sha": "2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "node_id": "C_kwDOAEVQ_NoAKDJjNWZhYzNlZGYyZDAwZDk0ODI1M2UzOTJlYzE2MDRiMjliMzhmMTQ",
 | 
			
		||||
    "commit": {
 | 
			
		||||
      "author": {
 | 
			
		||||
        "name": "Thomas Gerbet",
 | 
			
		||||
        "email": "thomas@gerbet.me",
 | 
			
		||||
        "date": "2024-09-30T18:58:09Z"
 | 
			
		||||
      },
 | 
			
		||||
      "committer": {
 | 
			
		||||
        "name": "Bjørn Forsman",
 | 
			
		||||
        "email": "bjorn.forsman@gmail.com",
 | 
			
		||||
        "date": "2024-10-01T06:56:48Z"
 | 
			
		||||
      },
 | 
			
		||||
      "message": "wireshark: 4.2.6 -> 4.2.7\n\nFixes CVE-2024-8250.\nhttps://www.wireshark.org/security/wnpa-sec-2024-11.html\n\nChanges:\nhttps://www.wireshark.org/docs/relnotes/wireshark-4.2.7.html",
 | 
			
		||||
      "tree": {
 | 
			
		||||
        "sha": "35384ecd1601439a960f3ef76a1974bb7784523f",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/git/trees/35384ecd1601439a960f3ef76a1974bb7784523f"
 | 
			
		||||
      },
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/git/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
      "comment_count": 0,
 | 
			
		||||
      "verification": {
 | 
			
		||||
        "verified": false,
 | 
			
		||||
        "reason": "unsigned",
 | 
			
		||||
        "signature": null,
 | 
			
		||||
        "payload": null
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "html_url": "https://github.com/NixOS/nixpkgs/commit/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14/comments",
 | 
			
		||||
    "author": {
 | 
			
		||||
      "login": "LeSuisse",
 | 
			
		||||
      "id": 737767,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjczNzc2Nw==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/737767?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/LeSuisse",
 | 
			
		||||
      "html_url": "https://github.com/LeSuisse",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/LeSuisse/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/LeSuisse/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/LeSuisse/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/LeSuisse/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/LeSuisse/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/LeSuisse/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/LeSuisse/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/LeSuisse/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/LeSuisse/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "committer": {
 | 
			
		||||
      "login": "bjornfor",
 | 
			
		||||
      "id": 133602,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjEzMzYwMg==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/133602?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/bjornfor",
 | 
			
		||||
      "html_url": "https://github.com/bjornfor",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/bjornfor/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/bjornfor/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/bjornfor/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/bjornfor/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/bjornfor/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/bjornfor/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/bjornfor/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/bjornfor/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/bjornfor/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "parents": [
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "92bdb0b4e0f698cdde010c2254cdb2afee6e07c3",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/92bdb0b4e0f698cdde010c2254cdb2afee6e07c3",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/92bdb0b4e0f698cdde010c2254cdb2afee6e07c3"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "status": "behind",
 | 
			
		||||
  "ahead_by": 0,
 | 
			
		||||
  "behind_by": 1773,
 | 
			
		||||
  "total_commits": 0,
 | 
			
		||||
  "commits": [
 | 
			
		||||
 | 
			
		||||
  ],
 | 
			
		||||
  "files": [
 | 
			
		||||
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24306
									
								
								tests/fixtures/compare_nixos-24.05_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										24306
									
								
								tests/fixtures/compare_nixos-24.05_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										180
									
								
								tests/fixtures/compare_nixos-unstable_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										180
									
								
								tests/fixtures/compare_nixos-unstable_2c5fac3edf2d00d948253e392ec1604b29b38f14.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,180 @@
 | 
			
		||||
{
 | 
			
		||||
  "url": "https://api.github.com/repos/NixOS/nixpkgs/compare/nixos-unstable...2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
  "html_url": "https://github.com/NixOS/nixpkgs/compare/nixos-unstable...2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
  "permalink_url": "https://github.com/NixOS/nixpkgs/compare/NixOS:bc947f5...NixOS:2c5fac3",
 | 
			
		||||
  "diff_url": "https://github.com/NixOS/nixpkgs/compare/nixos-unstable...2c5fac3edf2d00d948253e392ec1604b29b38f14.diff",
 | 
			
		||||
  "patch_url": "https://github.com/NixOS/nixpkgs/compare/nixos-unstable...2c5fac3edf2d00d948253e392ec1604b29b38f14.patch",
 | 
			
		||||
  "base_commit": {
 | 
			
		||||
    "sha": "bc947f541ae55e999ffdb4013441347d83b00feb",
 | 
			
		||||
    "node_id": "C_kwDOAEVQ_NoAKGJjOTQ3ZjU0MWFlNTVlOTk5ZmZkYjQwMTM0NDEzNDdkODNiMDBmZWI",
 | 
			
		||||
    "commit": {
 | 
			
		||||
      "author": {
 | 
			
		||||
        "name": "Masum Reza",
 | 
			
		||||
        "email": "50095635+JohnRTitor@users.noreply.github.com",
 | 
			
		||||
        "date": "2024-10-04T05:06:13Z"
 | 
			
		||||
      },
 | 
			
		||||
      "committer": {
 | 
			
		||||
        "name": "GitHub",
 | 
			
		||||
        "email": "noreply@github.com",
 | 
			
		||||
        "date": "2024-10-04T05:06:13Z"
 | 
			
		||||
      },
 | 
			
		||||
      "message": "alpaca: 2.0.3 -> 2.0.5 (#345070)",
 | 
			
		||||
      "tree": {
 | 
			
		||||
        "sha": "3e7376cebbaf8793c39bb68447950f1045fd4ea5",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/git/trees/3e7376cebbaf8793c39bb68447950f1045fd4ea5"
 | 
			
		||||
      },
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/git/commits/bc947f541ae55e999ffdb4013441347d83b00feb",
 | 
			
		||||
      "comment_count": 0,
 | 
			
		||||
      "verification": {
 | 
			
		||||
        "verified": true,
 | 
			
		||||
        "reason": "valid",
 | 
			
		||||
        "signature": "-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJm/3fFCRC1aQ7uu5UhlAAA2JMQAIz5pfsohrsrdPgPxlZVDuaQ\nVPLlM82MOpkq958U90OnXyC4ZlIX2+YwvCUkuRjYjMv9VlHMHU6olHy/jvt5VF/g\nckoaAMztOsPqgyKUXiMew83j8L8EBqVQQZ3W2Br9EnzG2RNEDUQdP5c6Fwc4tccl\nmb3PPb15Nm0lFnitwUO78KxILhrekjdxxrKC/wUihaL/gH4CzdkReVZJ6FPbq9l6\n/HTTDW+amrpOr2XLQ2dC5Cy/nvZS+MPjduNSPsf5a5/ElKmNltbPFChTY0pnv/dq\nrH1zDsohfbtk5WgcmLhiIOpvO86yLfa82sPUJA65GuAW7gYGbMsN6Sh3CnfY7sxb\n7x5r7/sSodxG4t2lML571JfX2aFCeNKgeYomViRu1ZGyHg3LJAN8jKi1JIyVCpH1\nkiTOmQQWzPJRC2COvMGSdXVc7h4CuInev7MmDDiubJDkFYyT8DBzpqVxUTmni13p\ndwr6QAWZZpjnxZxVFnYLlTSifLUIazEJTqaNWnCCc99hyWAo+f5njUlT+9fPLoKE\nHAgMmC55sOzOXnLLgPIoZe2g3wtHNELY3Y6wq7hfS2K9GCxJnJ3mttiUypnyHEuR\n/dVGOlES5p7xWUZ+zEYOp+cLnMWudB5X5cf/ojooLQJc8CL8gIfOD7KOrKewf2Yi\nUUUYH6/erCgoQE2klAaS\n=Hu+V\n-----END PGP SIGNATURE-----\n",
 | 
			
		||||
        "payload": "tree 3e7376cebbaf8793c39bb68447950f1045fd4ea5\nparent 674acd883193175de91d37a6b3ea8c814d12c8bb\nparent e229318f7d34f4988a815e6d10b8fb0f7e0e2974\nauthor Masum Reza <50095635+JohnRTitor@users.noreply.github.com> 1728018373 +0530\ncommitter GitHub <noreply@github.com> 1728018373 +0530\n\nalpaca: 2.0.3 -> 2.0.5 (#345070)\n\n"
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/bc947f541ae55e999ffdb4013441347d83b00feb",
 | 
			
		||||
    "html_url": "https://github.com/NixOS/nixpkgs/commit/bc947f541ae55e999ffdb4013441347d83b00feb",
 | 
			
		||||
    "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/commits/bc947f541ae55e999ffdb4013441347d83b00feb/comments",
 | 
			
		||||
    "author": {
 | 
			
		||||
      "login": "JohnRTitor",
 | 
			
		||||
      "id": 50095635,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjUwMDk1NjM1",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/50095635?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/JohnRTitor",
 | 
			
		||||
      "html_url": "https://github.com/JohnRTitor",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/JohnRTitor/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/JohnRTitor/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/JohnRTitor/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/JohnRTitor/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/JohnRTitor/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/JohnRTitor/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/JohnRTitor/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/JohnRTitor/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/JohnRTitor/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "committer": {
 | 
			
		||||
      "login": "web-flow",
 | 
			
		||||
      "id": 19864447,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjE5ODY0NDQ3",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/19864447?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/web-flow",
 | 
			
		||||
      "html_url": "https://github.com/web-flow",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/web-flow/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/web-flow/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/web-flow/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/web-flow/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/web-flow/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/web-flow/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/web-flow/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/web-flow/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/web-flow/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "parents": [
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "674acd883193175de91d37a6b3ea8c814d12c8bb",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/674acd883193175de91d37a6b3ea8c814d12c8bb",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/674acd883193175de91d37a6b3ea8c814d12c8bb"
 | 
			
		||||
      },
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "e229318f7d34f4988a815e6d10b8fb0f7e0e2974",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/e229318f7d34f4988a815e6d10b8fb0f7e0e2974",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/e229318f7d34f4988a815e6d10b8fb0f7e0e2974"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "merge_base_commit": {
 | 
			
		||||
    "sha": "2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "node_id": "C_kwDOAEVQ_NoAKDJjNWZhYzNlZGYyZDAwZDk0ODI1M2UzOTJlYzE2MDRiMjliMzhmMTQ",
 | 
			
		||||
    "commit": {
 | 
			
		||||
      "author": {
 | 
			
		||||
        "name": "Thomas Gerbet",
 | 
			
		||||
        "email": "thomas@gerbet.me",
 | 
			
		||||
        "date": "2024-09-30T18:58:09Z"
 | 
			
		||||
      },
 | 
			
		||||
      "committer": {
 | 
			
		||||
        "name": "Bjørn Forsman",
 | 
			
		||||
        "email": "bjorn.forsman@gmail.com",
 | 
			
		||||
        "date": "2024-10-01T06:56:48Z"
 | 
			
		||||
      },
 | 
			
		||||
      "message": "wireshark: 4.2.6 -> 4.2.7\n\nFixes CVE-2024-8250.\nhttps://www.wireshark.org/security/wnpa-sec-2024-11.html\n\nChanges:\nhttps://www.wireshark.org/docs/relnotes/wireshark-4.2.7.html",
 | 
			
		||||
      "tree": {
 | 
			
		||||
        "sha": "35384ecd1601439a960f3ef76a1974bb7784523f",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/git/trees/35384ecd1601439a960f3ef76a1974bb7784523f"
 | 
			
		||||
      },
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/git/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
      "comment_count": 0,
 | 
			
		||||
      "verification": {
 | 
			
		||||
        "verified": false,
 | 
			
		||||
        "reason": "unsigned",
 | 
			
		||||
        "signature": null,
 | 
			
		||||
        "payload": null
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
    "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "html_url": "https://github.com/NixOS/nixpkgs/commit/2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
    "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/commits/2c5fac3edf2d00d948253e392ec1604b29b38f14/comments",
 | 
			
		||||
    "author": {
 | 
			
		||||
      "login": "LeSuisse",
 | 
			
		||||
      "id": 737767,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjczNzc2Nw==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/737767?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/LeSuisse",
 | 
			
		||||
      "html_url": "https://github.com/LeSuisse",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/LeSuisse/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/LeSuisse/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/LeSuisse/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/LeSuisse/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/LeSuisse/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/LeSuisse/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/LeSuisse/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/LeSuisse/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/LeSuisse/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "committer": {
 | 
			
		||||
      "login": "bjornfor",
 | 
			
		||||
      "id": 133602,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjEzMzYwMg==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/133602?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/bjornfor",
 | 
			
		||||
      "html_url": "https://github.com/bjornfor",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/bjornfor/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/bjornfor/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/bjornfor/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/bjornfor/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/bjornfor/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/bjornfor/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/bjornfor/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/bjornfor/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/bjornfor/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "parents": [
 | 
			
		||||
      {
 | 
			
		||||
        "sha": "92bdb0b4e0f698cdde010c2254cdb2afee6e07c3",
 | 
			
		||||
        "url": "https://api.github.com/repos/NixOS/nixpkgs/commits/92bdb0b4e0f698cdde010c2254cdb2afee6e07c3",
 | 
			
		||||
        "html_url": "https://github.com/NixOS/nixpkgs/commit/92bdb0b4e0f698cdde010c2254cdb2afee6e07c3"
 | 
			
		||||
      }
 | 
			
		||||
    ]
 | 
			
		||||
  },
 | 
			
		||||
  "status": "behind",
 | 
			
		||||
  "ahead_by": 0,
 | 
			
		||||
  "behind_by": 918,
 | 
			
		||||
  "total_commits": 0,
 | 
			
		||||
  "commits": [
 | 
			
		||||
 | 
			
		||||
  ],
 | 
			
		||||
  "files": [
 | 
			
		||||
 | 
			
		||||
  ]
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										443
									
								
								tests/fixtures/pulls_345583.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										443
									
								
								tests/fixtures/pulls_345583.json
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,443 @@
 | 
			
		||||
{
 | 
			
		||||
  "url": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583",
 | 
			
		||||
  "id": 2099869862,
 | 
			
		||||
  "node_id": "PR_kwDOAEVQ_M59KXim",
 | 
			
		||||
  "html_url": "https://github.com/NixOS/nixpkgs/pull/345583",
 | 
			
		||||
  "diff_url": "https://github.com/NixOS/nixpkgs/pull/345583.diff",
 | 
			
		||||
  "patch_url": "https://github.com/NixOS/nixpkgs/pull/345583.patch",
 | 
			
		||||
  "issue_url": "https://api.github.com/repos/NixOS/nixpkgs/issues/345583",
 | 
			
		||||
  "number": 345583,
 | 
			
		||||
  "state": "closed",
 | 
			
		||||
  "locked": false,
 | 
			
		||||
  "title": "wireshark: 4.2.6 -> 4.2.7",
 | 
			
		||||
  "user": {
 | 
			
		||||
    "login": "LeSuisse",
 | 
			
		||||
    "id": 737767,
 | 
			
		||||
    "node_id": "MDQ6VXNlcjczNzc2Nw==",
 | 
			
		||||
    "avatar_url": "https://avatars.githubusercontent.com/u/737767?v=4",
 | 
			
		||||
    "gravatar_id": "",
 | 
			
		||||
    "url": "https://api.github.com/users/LeSuisse",
 | 
			
		||||
    "html_url": "https://github.com/LeSuisse",
 | 
			
		||||
    "followers_url": "https://api.github.com/users/LeSuisse/followers",
 | 
			
		||||
    "following_url": "https://api.github.com/users/LeSuisse/following{/other_user}",
 | 
			
		||||
    "gists_url": "https://api.github.com/users/LeSuisse/gists{/gist_id}",
 | 
			
		||||
    "starred_url": "https://api.github.com/users/LeSuisse/starred{/owner}{/repo}",
 | 
			
		||||
    "subscriptions_url": "https://api.github.com/users/LeSuisse/subscriptions",
 | 
			
		||||
    "organizations_url": "https://api.github.com/users/LeSuisse/orgs",
 | 
			
		||||
    "repos_url": "https://api.github.com/users/LeSuisse/repos",
 | 
			
		||||
    "events_url": "https://api.github.com/users/LeSuisse/events{/privacy}",
 | 
			
		||||
    "received_events_url": "https://api.github.com/users/LeSuisse/received_events",
 | 
			
		||||
    "type": "User",
 | 
			
		||||
    "site_admin": false
 | 
			
		||||
  },
 | 
			
		||||
  "body": "## Description of changes\r\n\r\nFixes CVE-2024-8250.\r\nhttps://www.wireshark.org/security/wnpa-sec-2024-11.html\r\n\r\nChanges:\r\nhttps://www.wireshark.org/docs/relnotes/wireshark-4.2.7.html\r\n<!--\r\nFor package updates please link to a changelog or describe changes, this helps your fellow maintainers discover breaking updates.\r\nFor new packages please briefly describe the package or provide a link to its homepage.\r\n-->\r\n\r\n## Things done\r\n\r\n<!-- Please check what applies. Note that these are not hard requirements but merely serve as information for reviewers. -->\r\n\r\n- Built on platform(s)\r\n  - [x] x86_64-linux\r\n  - [ ] aarch64-linux\r\n  - [ ] x86_64-darwin\r\n  - [ ] aarch64-darwin\r\n- For non-Linux: Is sandboxing enabled in `nix.conf`? (See [Nix manual](https://nixos.org/manual/nix/stable/command-ref/conf-file.html))\r\n  - [ ] `sandbox = relaxed`\r\n  - [ ] `sandbox = true`\r\n- [ ] Tested, as applicable:\r\n  - [NixOS test(s)](https://nixos.org/manual/nixos/unstable/index.html#sec-nixos-tests) (look inside [nixos/tests](https://github.com/NixOS/nixpkgs/blob/master/nixos/tests))\r\n  - and/or [package tests](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#package-tests)\r\n  - or, for functions and \"core\" functionality, tests in [lib/tests](https://github.com/NixOS/nixpkgs/blob/master/lib/tests) or [pkgs/test](https://github.com/NixOS/nixpkgs/blob/master/pkgs/test)\r\n  - made sure NixOS tests are [linked](https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#linking-nixos-module-tests-to-a-package) to the relevant packages\r\n- [x] Tested compilation of all packages that depend on this change using `nix-shell -p nixpkgs-review --run \"nixpkgs-review rev HEAD\"`. Note: all changes have to be committed, also see [nixpkgs-review usage](https://github.com/Mic92/nixpkgs-review#usage)\r\n- [x] Tested basic functionality of all binary files (usually in `./result/bin/`)\r\n- [24.11 Release Notes](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2411.section.md) (or backporting [23.11](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2311.section.md) and [24.05](https://github.com/NixOS/nixpkgs/blob/master/nixos/doc/manual/release-notes/rl-2405.section.md) Release notes)\r\n  - [ ] (Package updates) Added a release notes entry if the change is major or breaking\r\n  - [ ] (Module updates) Added a release notes entry if the change is significant\r\n  - [ ] (Module addition) Added a release notes entry if adding a new NixOS module\r\n- [x] Fits [CONTRIBUTING.md](https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md).\r\n\r\n<!--\r\nTo help with the large amounts of pull requests, we would appreciate your\r\nreviews of other pull requests, especially simple package updates. Just leave a\r\ncomment describing what you have tested in the relevant package/service.\r\nReviewing helps to reduce the average time-to-merge for everyone.\r\nThanks a lot if you do!\r\n\r\nList of open PRs: https://github.com/NixOS/nixpkgs/pulls\r\nReviewing guidelines: https://github.com/NixOS/nixpkgs/blob/master/pkgs/README.md#reviewing-contributions\r\n-->\r\n\r\nResult of `nixpkgs-review` run on x86_64-linux [1](https://github.com/Mic92/nixpkgs-review)\r\n<details>\r\n  <summary>4 packages marked as broken and skipped:</summary>\r\n  <ul>\r\n    <li>python311Packages.dissect-cobaltstrike</li>\r\n    <li>python311Packages.dissect-cobaltstrike.dist</li>\r\n    <li>python312Packages.dissect-cobaltstrike</li>\r\n    <li>python312Packages.dissect-cobaltstrike.dist</li>\r\n  </ul>\r\n</details>\r\n<details>\r\n  <summary>24 packages built:</summary>\r\n  <ul>\r\n    <li>compactor</li>\r\n    <li>credslayer</li>\r\n    <li>credslayer.dist</li>\r\n    <li>dbmonster</li>\r\n    <li>haka</li>\r\n    <li>hfinger</li>\r\n    <li>hfinger.dist</li>\r\n    <li>ostinato</li>\r\n    <li>python311Packages.manuf</li>\r\n    <li>python311Packages.manuf.dist</li>\r\n    <li>python311Packages.pyshark</li>\r\n    <li>python311Packages.pyshark.dist</li>\r\n    <li>python312Packages.manuf</li>\r\n    <li>python312Packages.manuf.dist</li>\r\n    <li>python312Packages.pyshark</li>\r\n    <li>python312Packages.pyshark.dist</li>\r\n    <li>qtwirediff</li>\r\n    <li>termshark</li>\r\n    <li>tshark</li>\r\n    <li>tshark.dev</li>\r\n    <li>wifite2</li>\r\n    <li>wifite2.dist</li>\r\n    <li>wireshark</li>\r\n    <li>wireshark.dev</li>\r\n  </ul>\r\n</details>\r\n\r\n---\r\n\r\nAdd a :+1: [reaction] to [pull requests you find important].\r\n\r\n[reaction]: https://github.blog/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/\r\n[pull requests you find important]: https://github.com/NixOS/nixpkgs/pulls?q=is%3Aopen+sort%3Areactions-%2B1-desc\r\n",
 | 
			
		||||
  "created_at": "2024-09-30T19:26:00Z",
 | 
			
		||||
  "updated_at": "2024-10-01T08:26:57Z",
 | 
			
		||||
  "closed_at": "2024-10-01T06:56:48Z",
 | 
			
		||||
  "merged_at": "2024-10-01T06:56:48Z",
 | 
			
		||||
  "merge_commit_sha": "2c5fac3edf2d00d948253e392ec1604b29b38f14",
 | 
			
		||||
  "assignee": null,
 | 
			
		||||
  "assignees": [
 | 
			
		||||
 | 
			
		||||
  ],
 | 
			
		||||
  "requested_reviewers": [
 | 
			
		||||
    {
 | 
			
		||||
      "login": "fpletz",
 | 
			
		||||
      "id": 114159,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjExNDE1OQ==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/114159?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/fpletz",
 | 
			
		||||
      "html_url": "https://github.com/fpletz",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/fpletz/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/fpletz/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/fpletz/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/fpletz/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/fpletz/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/fpletz/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/fpletz/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/fpletz/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/fpletz/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "requested_teams": [
 | 
			
		||||
 | 
			
		||||
  ],
 | 
			
		||||
  "labels": [
 | 
			
		||||
    {
 | 
			
		||||
      "id": 126506420,
 | 
			
		||||
      "node_id": "MDU6TGFiZWwxMjY1MDY0MjA=",
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/labels/1.severity:%20security",
 | 
			
		||||
      "name": "1.severity: security",
 | 
			
		||||
      "color": "e11d21",
 | 
			
		||||
      "default": false,
 | 
			
		||||
      "description": null
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "id": 731734101,
 | 
			
		||||
      "node_id": "MDU6TGFiZWw3MzE3MzQxMDE=",
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-linux:%2011-100",
 | 
			
		||||
      "name": "10.rebuild-linux: 11-100",
 | 
			
		||||
      "color": "fbca04",
 | 
			
		||||
      "default": false,
 | 
			
		||||
      "description": null
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "id": 731735423,
 | 
			
		||||
      "node_id": "MDU6TGFiZWw3MzE3MzU0MjM=",
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/labels/10.rebuild-darwin:%2011-100",
 | 
			
		||||
      "name": "10.rebuild-darwin: 11-100",
 | 
			
		||||
      "color": "fbca04",
 | 
			
		||||
      "default": false,
 | 
			
		||||
      "description": null
 | 
			
		||||
    },
 | 
			
		||||
    {
 | 
			
		||||
      "id": 6984924132,
 | 
			
		||||
      "node_id": "LA_kwDOAEVQ_M8AAAABoFV75A",
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs/labels/backport%20release-24.05",
 | 
			
		||||
      "name": "backport release-24.05",
 | 
			
		||||
      "color": "0fafaa",
 | 
			
		||||
      "default": false,
 | 
			
		||||
      "description": "Backport PR automatically"
 | 
			
		||||
    }
 | 
			
		||||
  ],
 | 
			
		||||
  "milestone": null,
 | 
			
		||||
  "draft": false,
 | 
			
		||||
  "commits_url": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583/commits",
 | 
			
		||||
  "review_comments_url": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583/comments",
 | 
			
		||||
  "review_comment_url": "https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}",
 | 
			
		||||
  "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/issues/345583/comments",
 | 
			
		||||
  "statuses_url": "https://api.github.com/repos/NixOS/nixpkgs/statuses/64a0ed1ab2dbbf66d7674d5d5787537341d961b0",
 | 
			
		||||
  "head": {
 | 
			
		||||
    "label": "LeSuisse:wireshark-4.2.7",
 | 
			
		||||
    "ref": "wireshark-4.2.7",
 | 
			
		||||
    "sha": "64a0ed1ab2dbbf66d7674d5d5787537341d961b0",
 | 
			
		||||
    "user": {
 | 
			
		||||
      "login": "LeSuisse",
 | 
			
		||||
      "id": 737767,
 | 
			
		||||
      "node_id": "MDQ6VXNlcjczNzc2Nw==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/737767?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/LeSuisse",
 | 
			
		||||
      "html_url": "https://github.com/LeSuisse",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/LeSuisse/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/LeSuisse/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/LeSuisse/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/LeSuisse/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/LeSuisse/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/LeSuisse/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/LeSuisse/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/LeSuisse/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/LeSuisse/received_events",
 | 
			
		||||
      "type": "User",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "repo": {
 | 
			
		||||
      "id": 330208195,
 | 
			
		||||
      "node_id": "MDEwOlJlcG9zaXRvcnkzMzAyMDgxOTU=",
 | 
			
		||||
      "name": "nixpkgs",
 | 
			
		||||
      "full_name": "LeSuisse/nixpkgs",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "owner": {
 | 
			
		||||
        "login": "LeSuisse",
 | 
			
		||||
        "id": 737767,
 | 
			
		||||
        "node_id": "MDQ6VXNlcjczNzc2Nw==",
 | 
			
		||||
        "avatar_url": "https://avatars.githubusercontent.com/u/737767?v=4",
 | 
			
		||||
        "gravatar_id": "",
 | 
			
		||||
        "url": "https://api.github.com/users/LeSuisse",
 | 
			
		||||
        "html_url": "https://github.com/LeSuisse",
 | 
			
		||||
        "followers_url": "https://api.github.com/users/LeSuisse/followers",
 | 
			
		||||
        "following_url": "https://api.github.com/users/LeSuisse/following{/other_user}",
 | 
			
		||||
        "gists_url": "https://api.github.com/users/LeSuisse/gists{/gist_id}",
 | 
			
		||||
        "starred_url": "https://api.github.com/users/LeSuisse/starred{/owner}{/repo}",
 | 
			
		||||
        "subscriptions_url": "https://api.github.com/users/LeSuisse/subscriptions",
 | 
			
		||||
        "organizations_url": "https://api.github.com/users/LeSuisse/orgs",
 | 
			
		||||
        "repos_url": "https://api.github.com/users/LeSuisse/repos",
 | 
			
		||||
        "events_url": "https://api.github.com/users/LeSuisse/events{/privacy}",
 | 
			
		||||
        "received_events_url": "https://api.github.com/users/LeSuisse/received_events",
 | 
			
		||||
        "type": "User",
 | 
			
		||||
        "site_admin": false
 | 
			
		||||
      },
 | 
			
		||||
      "html_url": "https://github.com/LeSuisse/nixpkgs",
 | 
			
		||||
      "description": "Nix Packages collection",
 | 
			
		||||
      "fork": true,
 | 
			
		||||
      "url": "https://api.github.com/repos/LeSuisse/nixpkgs",
 | 
			
		||||
      "forks_url": "https://api.github.com/repos/LeSuisse/nixpkgs/forks",
 | 
			
		||||
      "keys_url": "https://api.github.com/repos/LeSuisse/nixpkgs/keys{/key_id}",
 | 
			
		||||
      "collaborators_url": "https://api.github.com/repos/LeSuisse/nixpkgs/collaborators{/collaborator}",
 | 
			
		||||
      "teams_url": "https://api.github.com/repos/LeSuisse/nixpkgs/teams",
 | 
			
		||||
      "hooks_url": "https://api.github.com/repos/LeSuisse/nixpkgs/hooks",
 | 
			
		||||
      "issue_events_url": "https://api.github.com/repos/LeSuisse/nixpkgs/issues/events{/number}",
 | 
			
		||||
      "events_url": "https://api.github.com/repos/LeSuisse/nixpkgs/events",
 | 
			
		||||
      "assignees_url": "https://api.github.com/repos/LeSuisse/nixpkgs/assignees{/user}",
 | 
			
		||||
      "branches_url": "https://api.github.com/repos/LeSuisse/nixpkgs/branches{/branch}",
 | 
			
		||||
      "tags_url": "https://api.github.com/repos/LeSuisse/nixpkgs/tags",
 | 
			
		||||
      "blobs_url": "https://api.github.com/repos/LeSuisse/nixpkgs/git/blobs{/sha}",
 | 
			
		||||
      "git_tags_url": "https://api.github.com/repos/LeSuisse/nixpkgs/git/tags{/sha}",
 | 
			
		||||
      "git_refs_url": "https://api.github.com/repos/LeSuisse/nixpkgs/git/refs{/sha}",
 | 
			
		||||
      "trees_url": "https://api.github.com/repos/LeSuisse/nixpkgs/git/trees{/sha}",
 | 
			
		||||
      "statuses_url": "https://api.github.com/repos/LeSuisse/nixpkgs/statuses/{sha}",
 | 
			
		||||
      "languages_url": "https://api.github.com/repos/LeSuisse/nixpkgs/languages",
 | 
			
		||||
      "stargazers_url": "https://api.github.com/repos/LeSuisse/nixpkgs/stargazers",
 | 
			
		||||
      "contributors_url": "https://api.github.com/repos/LeSuisse/nixpkgs/contributors",
 | 
			
		||||
      "subscribers_url": "https://api.github.com/repos/LeSuisse/nixpkgs/subscribers",
 | 
			
		||||
      "subscription_url": "https://api.github.com/repos/LeSuisse/nixpkgs/subscription",
 | 
			
		||||
      "commits_url": "https://api.github.com/repos/LeSuisse/nixpkgs/commits{/sha}",
 | 
			
		||||
      "git_commits_url": "https://api.github.com/repos/LeSuisse/nixpkgs/git/commits{/sha}",
 | 
			
		||||
      "comments_url": "https://api.github.com/repos/LeSuisse/nixpkgs/comments{/number}",
 | 
			
		||||
      "issue_comment_url": "https://api.github.com/repos/LeSuisse/nixpkgs/issues/comments{/number}",
 | 
			
		||||
      "contents_url": "https://api.github.com/repos/LeSuisse/nixpkgs/contents/{+path}",
 | 
			
		||||
      "compare_url": "https://api.github.com/repos/LeSuisse/nixpkgs/compare/{base}...{head}",
 | 
			
		||||
      "merges_url": "https://api.github.com/repos/LeSuisse/nixpkgs/merges",
 | 
			
		||||
      "archive_url": "https://api.github.com/repos/LeSuisse/nixpkgs/{archive_format}{/ref}",
 | 
			
		||||
      "downloads_url": "https://api.github.com/repos/LeSuisse/nixpkgs/downloads",
 | 
			
		||||
      "issues_url": "https://api.github.com/repos/LeSuisse/nixpkgs/issues{/number}",
 | 
			
		||||
      "pulls_url": "https://api.github.com/repos/LeSuisse/nixpkgs/pulls{/number}",
 | 
			
		||||
      "milestones_url": "https://api.github.com/repos/LeSuisse/nixpkgs/milestones{/number}",
 | 
			
		||||
      "notifications_url": "https://api.github.com/repos/LeSuisse/nixpkgs/notifications{?since,all,participating}",
 | 
			
		||||
      "labels_url": "https://api.github.com/repos/LeSuisse/nixpkgs/labels{/name}",
 | 
			
		||||
      "releases_url": "https://api.github.com/repos/LeSuisse/nixpkgs/releases{/id}",
 | 
			
		||||
      "deployments_url": "https://api.github.com/repos/LeSuisse/nixpkgs/deployments",
 | 
			
		||||
      "created_at": "2021-01-16T16:40:54Z",
 | 
			
		||||
      "updated_at": "2024-05-30T20:02:25Z",
 | 
			
		||||
      "pushed_at": "2024-10-03T13:24:28Z",
 | 
			
		||||
      "git_url": "git://github.com/LeSuisse/nixpkgs.git",
 | 
			
		||||
      "ssh_url": "git@github.com:LeSuisse/nixpkgs.git",
 | 
			
		||||
      "clone_url": "https://github.com/LeSuisse/nixpkgs.git",
 | 
			
		||||
      "svn_url": "https://github.com/LeSuisse/nixpkgs",
 | 
			
		||||
      "homepage": "",
 | 
			
		||||
      "size": 4437697,
 | 
			
		||||
      "stargazers_count": 1,
 | 
			
		||||
      "watchers_count": 1,
 | 
			
		||||
      "language": "Nix",
 | 
			
		||||
      "has_issues": false,
 | 
			
		||||
      "has_projects": true,
 | 
			
		||||
      "has_downloads": true,
 | 
			
		||||
      "has_wiki": false,
 | 
			
		||||
      "has_pages": false,
 | 
			
		||||
      "has_discussions": false,
 | 
			
		||||
      "forks_count": 0,
 | 
			
		||||
      "mirror_url": null,
 | 
			
		||||
      "archived": false,
 | 
			
		||||
      "disabled": false,
 | 
			
		||||
      "open_issues_count": 0,
 | 
			
		||||
      "license": {
 | 
			
		||||
        "key": "mit",
 | 
			
		||||
        "name": "MIT License",
 | 
			
		||||
        "spdx_id": "MIT",
 | 
			
		||||
        "url": "https://api.github.com/licenses/mit",
 | 
			
		||||
        "node_id": "MDc6TGljZW5zZTEz"
 | 
			
		||||
      },
 | 
			
		||||
      "allow_forking": true,
 | 
			
		||||
      "is_template": false,
 | 
			
		||||
      "web_commit_signoff_required": false,
 | 
			
		||||
      "topics": [
 | 
			
		||||
 | 
			
		||||
      ],
 | 
			
		||||
      "visibility": "public",
 | 
			
		||||
      "forks": 0,
 | 
			
		||||
      "open_issues": 0,
 | 
			
		||||
      "watchers": 1,
 | 
			
		||||
      "default_branch": "master"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "base": {
 | 
			
		||||
    "label": "NixOS:master",
 | 
			
		||||
    "ref": "master",
 | 
			
		||||
    "sha": "c1e68f011844844605548984e3c8cd1a9379d78f",
 | 
			
		||||
    "user": {
 | 
			
		||||
      "login": "NixOS",
 | 
			
		||||
      "id": 487568,
 | 
			
		||||
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjQ4NzU2OA==",
 | 
			
		||||
      "avatar_url": "https://avatars.githubusercontent.com/u/487568?v=4",
 | 
			
		||||
      "gravatar_id": "",
 | 
			
		||||
      "url": "https://api.github.com/users/NixOS",
 | 
			
		||||
      "html_url": "https://github.com/NixOS",
 | 
			
		||||
      "followers_url": "https://api.github.com/users/NixOS/followers",
 | 
			
		||||
      "following_url": "https://api.github.com/users/NixOS/following{/other_user}",
 | 
			
		||||
      "gists_url": "https://api.github.com/users/NixOS/gists{/gist_id}",
 | 
			
		||||
      "starred_url": "https://api.github.com/users/NixOS/starred{/owner}{/repo}",
 | 
			
		||||
      "subscriptions_url": "https://api.github.com/users/NixOS/subscriptions",
 | 
			
		||||
      "organizations_url": "https://api.github.com/users/NixOS/orgs",
 | 
			
		||||
      "repos_url": "https://api.github.com/users/NixOS/repos",
 | 
			
		||||
      "events_url": "https://api.github.com/users/NixOS/events{/privacy}",
 | 
			
		||||
      "received_events_url": "https://api.github.com/users/NixOS/received_events",
 | 
			
		||||
      "type": "Organization",
 | 
			
		||||
      "site_admin": false
 | 
			
		||||
    },
 | 
			
		||||
    "repo": {
 | 
			
		||||
      "id": 4542716,
 | 
			
		||||
      "node_id": "MDEwOlJlcG9zaXRvcnk0NTQyNzE2",
 | 
			
		||||
      "name": "nixpkgs",
 | 
			
		||||
      "full_name": "NixOS/nixpkgs",
 | 
			
		||||
      "private": false,
 | 
			
		||||
      "owner": {
 | 
			
		||||
        "login": "NixOS",
 | 
			
		||||
        "id": 487568,
 | 
			
		||||
        "node_id": "MDEyOk9yZ2FuaXphdGlvbjQ4NzU2OA==",
 | 
			
		||||
        "avatar_url": "https://avatars.githubusercontent.com/u/487568?v=4",
 | 
			
		||||
        "gravatar_id": "",
 | 
			
		||||
        "url": "https://api.github.com/users/NixOS",
 | 
			
		||||
        "html_url": "https://github.com/NixOS",
 | 
			
		||||
        "followers_url": "https://api.github.com/users/NixOS/followers",
 | 
			
		||||
        "following_url": "https://api.github.com/users/NixOS/following{/other_user}",
 | 
			
		||||
        "gists_url": "https://api.github.com/users/NixOS/gists{/gist_id}",
 | 
			
		||||
        "starred_url": "https://api.github.com/users/NixOS/starred{/owner}{/repo}",
 | 
			
		||||
        "subscriptions_url": "https://api.github.com/users/NixOS/subscriptions",
 | 
			
		||||
        "organizations_url": "https://api.github.com/users/NixOS/orgs",
 | 
			
		||||
        "repos_url": "https://api.github.com/users/NixOS/repos",
 | 
			
		||||
        "events_url": "https://api.github.com/users/NixOS/events{/privacy}",
 | 
			
		||||
        "received_events_url": "https://api.github.com/users/NixOS/received_events",
 | 
			
		||||
        "type": "Organization",
 | 
			
		||||
        "site_admin": false
 | 
			
		||||
      },
 | 
			
		||||
      "html_url": "https://github.com/NixOS/nixpkgs",
 | 
			
		||||
      "description": "Nix Packages collection & NixOS",
 | 
			
		||||
      "fork": false,
 | 
			
		||||
      "url": "https://api.github.com/repos/NixOS/nixpkgs",
 | 
			
		||||
      "forks_url": "https://api.github.com/repos/NixOS/nixpkgs/forks",
 | 
			
		||||
      "keys_url": "https://api.github.com/repos/NixOS/nixpkgs/keys{/key_id}",
 | 
			
		||||
      "collaborators_url": "https://api.github.com/repos/NixOS/nixpkgs/collaborators{/collaborator}",
 | 
			
		||||
      "teams_url": "https://api.github.com/repos/NixOS/nixpkgs/teams",
 | 
			
		||||
      "hooks_url": "https://api.github.com/repos/NixOS/nixpkgs/hooks",
 | 
			
		||||
      "issue_events_url": "https://api.github.com/repos/NixOS/nixpkgs/issues/events{/number}",
 | 
			
		||||
      "events_url": "https://api.github.com/repos/NixOS/nixpkgs/events",
 | 
			
		||||
      "assignees_url": "https://api.github.com/repos/NixOS/nixpkgs/assignees{/user}",
 | 
			
		||||
      "branches_url": "https://api.github.com/repos/NixOS/nixpkgs/branches{/branch}",
 | 
			
		||||
      "tags_url": "https://api.github.com/repos/NixOS/nixpkgs/tags",
 | 
			
		||||
      "blobs_url": "https://api.github.com/repos/NixOS/nixpkgs/git/blobs{/sha}",
 | 
			
		||||
      "git_tags_url": "https://api.github.com/repos/NixOS/nixpkgs/git/tags{/sha}",
 | 
			
		||||
      "git_refs_url": "https://api.github.com/repos/NixOS/nixpkgs/git/refs{/sha}",
 | 
			
		||||
      "trees_url": "https://api.github.com/repos/NixOS/nixpkgs/git/trees{/sha}",
 | 
			
		||||
      "statuses_url": "https://api.github.com/repos/NixOS/nixpkgs/statuses/{sha}",
 | 
			
		||||
      "languages_url": "https://api.github.com/repos/NixOS/nixpkgs/languages",
 | 
			
		||||
      "stargazers_url": "https://api.github.com/repos/NixOS/nixpkgs/stargazers",
 | 
			
		||||
      "contributors_url": "https://api.github.com/repos/NixOS/nixpkgs/contributors",
 | 
			
		||||
      "subscribers_url": "https://api.github.com/repos/NixOS/nixpkgs/subscribers",
 | 
			
		||||
      "subscription_url": "https://api.github.com/repos/NixOS/nixpkgs/subscription",
 | 
			
		||||
      "commits_url": "https://api.github.com/repos/NixOS/nixpkgs/commits{/sha}",
 | 
			
		||||
      "git_commits_url": "https://api.github.com/repos/NixOS/nixpkgs/git/commits{/sha}",
 | 
			
		||||
      "comments_url": "https://api.github.com/repos/NixOS/nixpkgs/comments{/number}",
 | 
			
		||||
      "issue_comment_url": "https://api.github.com/repos/NixOS/nixpkgs/issues/comments{/number}",
 | 
			
		||||
      "contents_url": "https://api.github.com/repos/NixOS/nixpkgs/contents/{+path}",
 | 
			
		||||
      "compare_url": "https://api.github.com/repos/NixOS/nixpkgs/compare/{base}...{head}",
 | 
			
		||||
      "merges_url": "https://api.github.com/repos/NixOS/nixpkgs/merges",
 | 
			
		||||
      "archive_url": "https://api.github.com/repos/NixOS/nixpkgs/{archive_format}{/ref}",
 | 
			
		||||
      "downloads_url": "https://api.github.com/repos/NixOS/nixpkgs/downloads",
 | 
			
		||||
      "issues_url": "https://api.github.com/repos/NixOS/nixpkgs/issues{/number}",
 | 
			
		||||
      "pulls_url": "https://api.github.com/repos/NixOS/nixpkgs/pulls{/number}",
 | 
			
		||||
      "milestones_url": "https://api.github.com/repos/NixOS/nixpkgs/milestones{/number}",
 | 
			
		||||
      "notifications_url": "https://api.github.com/repos/NixOS/nixpkgs/notifications{?since,all,participating}",
 | 
			
		||||
      "labels_url": "https://api.github.com/repos/NixOS/nixpkgs/labels{/name}",
 | 
			
		||||
      "releases_url": "https://api.github.com/repos/NixOS/nixpkgs/releases{/id}",
 | 
			
		||||
      "deployments_url": "https://api.github.com/repos/NixOS/nixpkgs/deployments",
 | 
			
		||||
      "created_at": "2012-06-04T02:49:46Z",
 | 
			
		||||
      "updated_at": "2024-10-05T22:47:49Z",
 | 
			
		||||
      "pushed_at": "2024-10-05T22:34:39Z",
 | 
			
		||||
      "git_url": "git://github.com/NixOS/nixpkgs.git",
 | 
			
		||||
      "ssh_url": "git@github.com:NixOS/nixpkgs.git",
 | 
			
		||||
      "clone_url": "https://github.com/NixOS/nixpkgs.git",
 | 
			
		||||
      "svn_url": "https://github.com/NixOS/nixpkgs",
 | 
			
		||||
      "homepage": "",
 | 
			
		||||
      "size": 4520403,
 | 
			
		||||
      "stargazers_count": 17638,
 | 
			
		||||
      "watchers_count": 17638,
 | 
			
		||||
      "language": "Nix",
 | 
			
		||||
      "has_issues": true,
 | 
			
		||||
      "has_projects": true,
 | 
			
		||||
      "has_downloads": true,
 | 
			
		||||
      "has_wiki": false,
 | 
			
		||||
      "has_pages": false,
 | 
			
		||||
      "has_discussions": false,
 | 
			
		||||
      "forks_count": 13796,
 | 
			
		||||
      "mirror_url": null,
 | 
			
		||||
      "archived": false,
 | 
			
		||||
      "disabled": false,
 | 
			
		||||
      "open_issues_count": 15342,
 | 
			
		||||
      "license": {
 | 
			
		||||
        "key": "mit",
 | 
			
		||||
        "name": "MIT License",
 | 
			
		||||
        "spdx_id": "MIT",
 | 
			
		||||
        "url": "https://api.github.com/licenses/mit",
 | 
			
		||||
        "node_id": "MDc6TGljZW5zZTEz"
 | 
			
		||||
      },
 | 
			
		||||
      "allow_forking": true,
 | 
			
		||||
      "is_template": false,
 | 
			
		||||
      "web_commit_signoff_required": false,
 | 
			
		||||
      "topics": [
 | 
			
		||||
        "hacktoberfest",
 | 
			
		||||
        "linux",
 | 
			
		||||
        "nix",
 | 
			
		||||
        "nixos",
 | 
			
		||||
        "nixpkgs"
 | 
			
		||||
      ],
 | 
			
		||||
      "visibility": "public",
 | 
			
		||||
      "forks": 13796,
 | 
			
		||||
      "open_issues": 15342,
 | 
			
		||||
      "watchers": 17638,
 | 
			
		||||
      "default_branch": "master"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "_links": {
 | 
			
		||||
    "self": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583"
 | 
			
		||||
    },
 | 
			
		||||
    "html": {
 | 
			
		||||
      "href": "https://github.com/NixOS/nixpkgs/pull/345583"
 | 
			
		||||
    },
 | 
			
		||||
    "issue": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/issues/345583"
 | 
			
		||||
    },
 | 
			
		||||
    "comments": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/issues/345583/comments"
 | 
			
		||||
    },
 | 
			
		||||
    "review_comments": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583/comments"
 | 
			
		||||
    },
 | 
			
		||||
    "review_comment": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/pulls/comments{/number}"
 | 
			
		||||
    },
 | 
			
		||||
    "commits": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/pulls/345583/commits"
 | 
			
		||||
    },
 | 
			
		||||
    "statuses": {
 | 
			
		||||
      "href": "https://api.github.com/repos/NixOS/nixpkgs/statuses/64a0ed1ab2dbbf66d7674d5d5787537341d961b0"
 | 
			
		||||
    }
 | 
			
		||||
  },
 | 
			
		||||
  "author_association": "CONTRIBUTOR",
 | 
			
		||||
  "auto_merge": null,
 | 
			
		||||
  "active_lock_reason": null,
 | 
			
		||||
  "merged": true,
 | 
			
		||||
  "mergeable": null,
 | 
			
		||||
  "rebaseable": null,
 | 
			
		||||
  "mergeable_state": "unknown",
 | 
			
		||||
  "merged_by": {
 | 
			
		||||
    "login": "bjornfor",
 | 
			
		||||
    "id": 133602,
 | 
			
		||||
    "node_id": "MDQ6VXNlcjEzMzYwMg==",
 | 
			
		||||
    "avatar_url": "https://avatars.githubusercontent.com/u/133602?v=4",
 | 
			
		||||
    "gravatar_id": "",
 | 
			
		||||
    "url": "https://api.github.com/users/bjornfor",
 | 
			
		||||
    "html_url": "https://github.com/bjornfor",
 | 
			
		||||
    "followers_url": "https://api.github.com/users/bjornfor/followers",
 | 
			
		||||
    "following_url": "https://api.github.com/users/bjornfor/following{/other_user}",
 | 
			
		||||
    "gists_url": "https://api.github.com/users/bjornfor/gists{/gist_id}",
 | 
			
		||||
    "starred_url": "https://api.github.com/users/bjornfor/starred{/owner}{/repo}",
 | 
			
		||||
    "subscriptions_url": "https://api.github.com/users/bjornfor/subscriptions",
 | 
			
		||||
    "organizations_url": "https://api.github.com/users/bjornfor/orgs",
 | 
			
		||||
    "repos_url": "https://api.github.com/users/bjornfor/repos",
 | 
			
		||||
    "events_url": "https://api.github.com/users/bjornfor/events{/privacy}",
 | 
			
		||||
    "received_events_url": "https://api.github.com/users/bjornfor/received_events",
 | 
			
		||||
    "type": "User",
 | 
			
		||||
    "site_admin": false
 | 
			
		||||
  },
 | 
			
		||||
  "comments": 2,
 | 
			
		||||
  "review_comments": 0,
 | 
			
		||||
  "maintainer_can_modify": false,
 | 
			
		||||
  "commits": 1,
 | 
			
		||||
  "additions": 2,
 | 
			
		||||
  "deletions": 2,
 | 
			
		||||
  "changed_files": 1
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										55
									
								
								tests/test_pr.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								tests/test_pr.py
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,55 @@
 | 
			
		||||
import unittest
 | 
			
		||||
import unittest.mock
 | 
			
		||||
import requests
 | 
			
		||||
import json
 | 
			
		||||
 | 
			
		||||
from nixprstatus.pr import commit_in_branch, pr_merge_status
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
def mocked_requests_get(*args, **kwargs):
 | 
			
		||||
    class MockedResponse:
 | 
			
		||||
        def __init__(self, json_data, status_code):
 | 
			
		||||
            self.json_data = json_data
 | 
			
		||||
            self.status_code = status_code
 | 
			
		||||
 | 
			
		||||
        def json(self):
 | 
			
		||||
            return json.loads(self.json_data)
 | 
			
		||||
 | 
			
		||||
        def raise_for_status(self):
 | 
			
		||||
            if self.status_code not in [200, 201]:
 | 
			
		||||
                raise requests.exceptions.HTTPError()
 | 
			
		||||
 | 
			
		||||
    if "pulls" in args[0]:
 | 
			
		||||
        pr = args[0].split("/")[-1]
 | 
			
		||||
        with open(f"tests/fixtures/pulls_{pr}.json") as f:
 | 
			
		||||
            data = f.read()
 | 
			
		||||
        return MockedResponse(data, 200)
 | 
			
		||||
    elif "compare" in args[0]:
 | 
			
		||||
        branch, commit_sha = args[0].split("/")[-1].split("...")
 | 
			
		||||
        with open(f"tests/fixtures/compare_{branch}_{commit_sha}.json") as f:
 | 
			
		||||
            data = f.read()
 | 
			
		||||
        return MockedResponse(data, 200)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestPRMergeStatus(unittest.TestCase):
 | 
			
		||||
    @unittest.mock.patch("requests.get", side_effect=mocked_requests_get)
 | 
			
		||||
    def test_pr_merge_status_345583(self, mock_get):
 | 
			
		||||
        pr = 345583
 | 
			
		||||
        branches = ["master", "nixos-unstable", "nixos-24.05"]
 | 
			
		||||
 | 
			
		||||
        res = pr_merge_status(pr, branches)
 | 
			
		||||
        self.assertTrue(res.merged)
 | 
			
		||||
        self.assertTrue(res.branches["master"])
 | 
			
		||||
        self.assertTrue(res.branches["nixos-unstable"])
 | 
			
		||||
        self.assertFalse(res.branches["nixos-24.05"])
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class TestCommitInBranch(unittest.TestCase):
 | 
			
		||||
    @unittest.mock.patch("requests.get", side_effect=mocked_requests_get)
 | 
			
		||||
    def test_commit_in_branch_2c5fac3e(self, mock_get):
 | 
			
		||||
        commit_sha = "2c5fac3edf2d00d948253e392ec1604b29b38f14"
 | 
			
		||||
 | 
			
		||||
        res = commit_in_branch(commit_sha, "master")
 | 
			
		||||
        self.assertTrue(res)
 | 
			
		||||
        res = commit_in_branch(commit_sha, "nixos-24.05")
 | 
			
		||||
        self.assertFalse(res)
 | 
			
		||||
		Reference in New Issue
	
	Block a user