-
Notifications
You must be signed in to change notification settings - Fork 846
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release 0.76.0 #2857
Release 0.76.0 #2857
Conversation
Signed-off-by: Ulincsys <[email protected]>
Signed-off-by: Ulincsys <[email protected]>
Signed-off-by: Ulincsys <[email protected]>
Signed-off-by: Ulincsys <[email protected]>
Signed-off-by: Ulincsys <[email protected]>
… others that self resolve based on an end users version of Python3 now. Signed-off-by: sgoggins <[email protected]>
- Add ability to pass flags to `augur backend start` in compose - Add entrypoint for `AUGUR_TARGET=graphical` - Fix metadata import in compose environment - Improve Docker compatibility with startup wizard Signed-off-by: Ulincsys <[email protected]>
Improve profile page
Signed-off-by: Sean P. Goggins <[email protected]>
Signed-off-by: Isaac Milarsky <[email protected]>
Merge Main into Dev
Dev to startup-wizard
Bumps [dnspython](https://github.com/rthalley/dnspython) from 2.2.1 to 2.6.1. - [Release notes](https://github.com/rthalley/dnspython/releases) - [Changelog](https://github.com/rthalley/dnspython/blob/main/doc/whatsnew.rst) - [Commits](rthalley/dnspython@v2.2.1...v2.6.1) --- updated-dependencies: - dependency-name: dnspython dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [eventlet](https://github.com/eventlet/eventlet) from 0.33.3 to 0.35.2. - [Changelog](https://github.com/eventlet/eventlet/blob/master/NEWS) - [Commits](eventlet/eventlet@v0.33.3...v0.35.2) --- updated-dependencies: - dependency-name: eventlet dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [gunicorn](https://github.com/benoitc/gunicorn) from 20.1.0 to 22.0.0. - [Release notes](https://github.com/benoitc/gunicorn/releases) - [Commits](benoitc/gunicorn@20.1.0...22.0.0) --- updated-dependencies: - dependency-name: gunicorn dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Bumps [flask-cors](https://github.com/corydolphin/flask-cors) from 3.0.10 to 4.0.1. - [Release notes](https://github.com/corydolphin/flask-cors/releases) - [Changelog](https://github.com/corydolphin/flask-cors/blob/main/CHANGELOG.md) - [Commits](corydolphin/flask-cors@3.0.10...4.0.1) --- updated-dependencies: - dependency-name: flask-cors dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
updated-dependencies: - dependency-name: requests dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]>
Optimize issue and pr recollection
Signed-off-by: Sean Goggins <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Use key manager in github data access
…ta-access Migrate messages and events to use github data access
Add confirmation dialog for blank input in config script
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Andrew Brain <[email protected]>
Remove empty files and move redundant folders to simplify project structure
Signed-off-by: Sean P. Goggins <[email protected]>
version bump
Signed-off-by: Andrew Brain <[email protected]>
Signed-off-by: Isaac Milarsky <[email protected]>
Signed-off-by: Isaac Milarsky <[email protected]>
…add-json-parse-handle
add empty output handle
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit
pylint
augur/tasks/github/pull_requests/files_model/core.py|1| C0114: Missing module docstring (missing-module-docstring)
augur/tasks/github/pull_requests/files_model/core.py|4| W0401: Wildcard import augur.application.db.models (wildcard-import)
augur/tasks/github/pull_requests/tasks.py|69 col 1| W0511: TODO: Rename pull_request_reviewers table to pull_request_requested_reviewers (fixme)
augur/tasks/github/pull_requests/tasks.py|70 col 1| W0511: TODO: Fix column names in pull request labels table (fixme)
augur/tasks/github/pull_requests/tasks.py|1| C0114: Missing module docstring (missing-module-docstring)
augur/tasks/github/pull_requests/tasks.py|7| W0401: Wildcard import augur.application.db.data_parse (wildcard-import)
augur/tasks/github/pull_requests/tasks.py|95| R0914: Too many local variables (32/30) (too-many-locals)
augur/tasks/github/pull_requests/tasks.py|392 col 32| W1309: Using an f-string that does not have any interpolated variables (f-string-without-interpolation)
augur/tasks/github/pull_requests/tasks.py|395 col 32| W1309: Using an f-string that does not have any interpolated variables (f-string-without-interpolation)
augur/tasks/github/pull_requests/tasks.py|408 col 8| C0206: Consider iterating with .items() (consider-using-dict-items)
augur/tasks/github/pull_requests/tasks.py|408 col 31| C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
augur/tasks/github/pull_requests/tasks.py|421 col 8| C0206: Consider iterating with .items() (consider-using-dict-items)
augur/tasks/github/pull_requests/tasks.py|421 col 31| C0201: Consider iterating the dictionary directly instead of calling .keys() (consider-iterating-dictionary)
augur/tasks/github/pull_requests/tasks.py|339| R0912: Too many branches (16/12) (too-many-branches)
augur/tasks/github/pull_requests/tasks.py|339| R0915: Too many statements (54/50) (too-many-statements)
augur/tasks/github/pull_requests/tasks.py|379 col 27| W0612: Unused variable 'page' (unused-variable)
augur/tasks/github/util/github_data_access.py|96 col 5| W0511: TODO: Handle timeout exceptions better (fixme)
augur/tasks/github/util/github_data_access.py|1| C0114: Missing module docstring (missing-module-docstring)
augur/tasks/github/util/github_data_access.py|8| C0115: Missing class docstring (missing-class-docstring)
augur/tasks/github/util/github_data_access.py|16| C0115: Missing class docstring (missing-class-docstring)
augur/tasks/github/util/github_data_access.py|19| C0115: Missing class docstring (missing-class-docstring)
augur/tasks/github/util/github_data_access.py|42 col 4| R1711: Useless return at end of function or method (useless-return)
augur/tasks/github/util/github_data_access.py|88 col 12| W0707: Consider explicitly re-raising using 'except (KeyError, ValueError) as exc' and 'raise Exception(f"Unable to parse 'last' url from response: {response.links['last']}") from exc' (raise-missing-from)
augur/tasks/start_tasks.py|15| C0413: Import "from augur.tasks.github.pull_requests.files_model.tasks import process_pull_request_files" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|16| C0413: Import "from augur.tasks.github.pull_requests.commits_model.tasks import process_pull_request_commits" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|17| C0413: Import "from augur.tasks.git.dependency_tasks.tasks import process_ossf_dependency_metrics" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|18| C0413: Import "from augur.tasks.github.traffic import collect_github_repo_clones_data" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|19| C0413: Import "from augur.tasks.gitlab.merge_request_task import collect_gitlab_merge_requests, collect_merge_request_metadata, collect_merge_request_commits, collect_merge_request_files, collect_merge_request_comments" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|20| C0413: Import "from augur.tasks.gitlab.issues_task import collect_gitlab_issues, collect_gitlab_issue_comments" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|21| C0413: Import "from augur.tasks.gitlab.events_task import collect_gitlab_issue_events, collect_gitlab_merge_request_events" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|29| C0413: Import "from augur.tasks.git.util.facade_worker.facade_worker.utilitymethods import get_facade_weight_time_factor" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|30| C0413: Import "from augur.application.db.lib import execute_sql, get_session" should be placed at the top of the module (wrong-import-position)
augur/tasks/start_tasks.py|48 col 27| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|50 col 4| W0612: Unused variable 'logger' (unused-variable)
augur/tasks/start_tasks.py|54 col 37| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|55 col 4| W0612: Unused variable 'logger' (unused-variable)
augur/tasks/start_tasks.py|63 col 4| W0612: Unused variable 'logger' (unused-variable)
augur/tasks/start_tasks.py|91 col 48| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|93 col 4| W0612: Unused variable 'logger' (unused-variable)
augur/tasks/start_tasks.py|116 col 4| W0612: Unused variable 'logger' (unused-variable)
augur/tasks/start_tasks.py|145 col 30| E0601: Using variable 'machine_learning_phase' before assignment (used-before-assignment)
augur/tasks/start_tasks.py|147 col 8| C0415: Import outside toplevel (augur.tasks.data_analysis.contributor_breadth_worker.contributor_breadth_worker.contributor_breadth_model) (import-outside-toplevel)
augur/tasks/start_tasks.py|170 col 45| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|190 col 50| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|206 col 47| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|211 col 53| W0613: Unused argument 'full_collection' (unused-argument)
augur/tasks/start_tasks.py|226 col 43| W0613: Unused argument 'full_collection' (unused-argument)
scripts/install/bootstrap/Environment.py|1| C0114: Missing module docstring (missing-module-docstring)
scripts/install/bootstrap/Environment.py|34 col 22| W0622: Redefining built-in 'type' (redefined-builtin)
scripts/install/bootstrap/init.py|1| C0114: Missing module docstring (missing-module-docstring)
scripts/install/wizard.py|1| C0114: Missing module docstring (missing-module-docstring)
scripts/install/wizard.py|9| C0410: Multiple imports on one line (threading, json, subprocess, re, importlib.util, sys) (multiple-imports)
scripts/install/wizard.py|31| C0413: Import "from metadata import version" should be placed at the top of the module (wrong-import-position)
scripts/install/wizard.py|34 col 4| W0602: Using global for 'app' but no assignment is done (global-variable-not-assigned)
scripts/install/wizard.py|46 col 10| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|51 col 4| W0602: Using global for 'app' but no assignment is done (global-variable-not-assigned)
scripts/install/wizard.py|58 col 15| W0621: Redefining name 'setup_key' from outer scope (line 255) (redefined-outer-name)
scripts/install/wizard.py|58 col 26| W0621: Redefining name 'port' from outer scope (line 251) (redefined-outer-name)
scripts/install/wizard.py|62 col 4| W0601: Global variable 'app' undefined at the module level (global-variable-undefined)
scripts/install/wizard.py|142 col 12| W0702: No exception type(s) specified (bare-except)
scripts/install/wizard.py|159 col 8| R1705: Unnecessary "elif" after "return", remove the leading "el" from "elif" (no-else-return)
scripts/install/wizard.py|157 col 15| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|168 col 14| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|175 col 14| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|184 col 17| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|192 col 8| W0702: No exception type(s) specified (bare-except)
scripts/install/wizard.py|189 col 17| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|200 col 14| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|224 col 8| W0601: Global variable 'do_continue' undefined at the module level (global-variable-undefined)
scripts/install/wizard.py|58| R0915: Too many statements (83/50) (too-many-statements)
scripts/install/wizard.py|88 col 4| W0612: Unused variable 'all_in' (unused-variable)
scripts/install/wizard.py|239 col 4| W0612: Unused variable 'e' (unused-variable)
scripts/install/wizard.py|266 col 4| W0604: Using the global statement at the module level (global-at-module-level)
scripts/install/wizard.py|272 col 12| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
scripts/install/wizard.py|4| C0412: Imports from package sqlalchemy are not grouped (ungrouped-imports)
scripts/install/wizard.py|269 col 20| R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
@@ -1,3 +1,2 @@ | |||
from .Environment import Environment | |||
from .ServerThread import ServerThread | |||
from .LoginException import LoginException |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
C0114: Missing module docstring (missing-module-docstring)
@@ -166,21 +166,21 @@ def determine_worker_processes(ratio,maximum): | |||
sleep_time += 6 | |||
|
|||
#60% of estimate, Maximum value of 45 : Reduced because it can be lower | |||
core_num_processes = determine_worker_processes(.15, 10) | |||
core_num_processes = determine_worker_processes(.40, 50) | |||
logger.info(f"Starting core worker processes with concurrency={core_num_processes}") | |||
core_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={core_num_processes} -n core:{uuid.uuid4().hex}@%h" | |||
process_list.append(subprocess.Popen(core_worker.split(" "))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
logger.info(f"Starting core worker processes with concurrency={core_num_processes}") | ||
core_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={core_num_processes} -n core:{uuid.uuid4().hex}@%h" | ||
process_list.append(subprocess.Popen(core_worker.split(" "))) | ||
sleep_time += 6 | ||
|
||
#20% of estimate, Maximum value of 25 | ||
secondary_num_processes = determine_worker_processes(.70, 60) | ||
secondary_num_processes = determine_worker_processes(.39, 50) | ||
logger.info(f"Starting secondary worker processes with concurrency={secondary_num_processes}") | ||
secondary_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={secondary_num_processes} -n secondary:{uuid.uuid4().hex}@%h -Q secondary" | ||
process_list.append(subprocess.Popen(secondary_worker.split(" "))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
@@ -125,21 +125,21 @@ def determine_worker_processes(ratio,maximum): | |||
sleep_time += 6 | |||
|
|||
#60% of estimate, Maximum value of 45: Reduced because not needed | |||
core_num_processes = determine_worker_processes(.15, 10) | |||
core_num_processes = determine_worker_processes(.40, 50) | |||
logger.info(f"Starting core worker processes with concurrency={core_num_processes}") | |||
core_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={core_num_processes} -n core:{uuid.uuid4().hex}@%h" | |||
process_list.append(subprocess.Popen(core_worker.split(" "))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
logger.info(f"Starting core worker processes with concurrency={core_num_processes}") | ||
core_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={core_num_processes} -n core:{uuid.uuid4().hex}@%h" | ||
process_list.append(subprocess.Popen(core_worker.split(" "))) | ||
sleep_time += 6 | ||
|
||
#20% of estimate, Maximum value of 25 | ||
secondary_num_processes = determine_worker_processes(.70, 60) | ||
secondary_num_processes = determine_worker_processes(.39, 50) | ||
logger.info(f"Starting secondary worker processes with concurrency={secondary_num_processes}") | ||
secondary_worker = f"celery -A augur.tasks.init.celery_app.celery_app worker -l info --concurrency={secondary_num_processes} -n secondary:{uuid.uuid4().hex}@%h -Q secondary" | ||
process_list.append(subprocess.Popen(secondary_worker.split(" "))) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
R1732: Consider using 'with' for resource-allocating operations (consider-using-with)
@@ -1,87 +1,80 @@ | |||
import logging | |||
import traceback | |||
from datetime import timedelta, timezone | |||
|
|||
from sqlalchemy.exc import IntegrityError | |||
|
|||
|
|||
from augur.tasks.init.celery_app import celery_app as celery | |||
from augur.tasks.init.celery_app import AugurCoreRepoCollectionTask | |||
from augur.application.db.data_parse import * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
W0401: Wildcard import augur.application.db.data_parse (wildcard-import)
|
||
return all_data | ||
return list(issues_paginator) | ||
|
||
def process_issues(issues, task_name, repo_id, logger) -> None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
R0914: Too many local variables (32/30) (too-many-locals)
@@ -4,7 +4,7 @@ | |||
from augur.tasks.init.celery_app import celery_app as celery | |||
from augur.tasks.init.celery_app import AugurCoreRepoCollectionTask | |||
from augur.application.db.data_parse import * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
W0401: Wildcard import augur.application.db.data_parse (wildcard-import)
@@ -2,20 +2,40 @@ | |||
from augur.tasks.github.util.github_paginator import GithubPaginator | |||
from augur.application.db.models import * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
W0401: Wildcard import augur.application.db.models (wildcard-import)
@@ -2,18 +2,18 @@ | |||
from augur.tasks.github.pull_requests.commits_model.core import * |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[pylint] reported by reviewdog 🐶
W0401: Wildcard import augur.tasks.github.pull_requests.commits_model.core (wildcard-import)
Description