From 8858d4fda1af61933cfe4b19a659685c801d2909 Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Wed, 11 Sep 2024 18:49:03 +0200 Subject: [PATCH 1/7] upgrade packages and remove AUTHOR_EMAIL and AUTHOR_NAME because it breaks signed commit --- README.md | 4 ---- gitlab2sentry/resources.py | 12 ------------ gitlab2sentry/utils/gitlab_provider.py | 4 ---- helm/values-production.yaml | 4 ---- requirements.txt | 20 +++++++++++++++----- tests/resources.py | 4 +--- 6 files changed, 16 insertions(+), 32 deletions(-) diff --git a/README.md b/README.md index 57380c6..e8f5d19 100644 --- a/README.md +++ b/README.md @@ -96,10 +96,6 @@ make upgrade - name: GITLAB_SENTRYCLIRC_MR_TITLE value: "your sentryclirc mr title" # Gitlab configuration values - - name: GITLAB_AUTHOR_NAME - value: author-name - - name: GITLAB_AUTHOR_EMAIL - value: your-author-email - name: GITLAB_GRAPHQL_SUFFIX value: api/graphql # - name: GITLAB_MENTIONS diff --git a/gitlab2sentry/resources.py b/gitlab2sentry/resources.py index b6d5f87..8ea7ec3 100644 --- a/gitlab2sentry/resources.py +++ b/gitlab2sentry/resources.py @@ -8,8 +8,6 @@ TEST_DSN_MR_CONTENT, TEST_DSN_MR_DESCRIPTION, TEST_DSN_MR_TITLE, - TEST_GITLAB_AUTHOR_EMAIL, - TEST_GITLAB_AUTHOR_NAME, TEST_GITLAB_GRAPHQL_PAGE_LENGTH, TEST_GITLAB_GRAPHQL_SUFFIX, TEST_GITLAB_GRAPHQL_TIMEOUT, @@ -138,16 +136,6 @@ def is_test_env(env: str) -> bool: else int(os.environ["GITLAB_GRAPHQL_PAGE_LENGTH"]) ) GITLAB_GROUP_IDENTIFIER = os.getenv("GITLAB_GROUP_IDENTIFIER", "") - GITLAB_AUTHOR_EMAIL = ( - TEST_GITLAB_AUTHOR_EMAIL - if is_test_env(ENV) - else os.environ["GITLAB_AUTHOR_EMAIL"] - ) - GITLAB_AUTHOR_NAME = ( - TEST_GITLAB_AUTHOR_NAME - if is_test_env(ENV) - else os.environ["GITLAB_AUTHOR_NAME"] - ) GITLAB_PROJECT_CREATION_LIMIT = int(os.getenv("GITLAB_CREATION_DAYS_LIMIT", 30)) GITLAB_RMV_SRC_BRANCH = ( TEST_GITLAB_RMV_SRC_BRANCH diff --git a/gitlab2sentry/utils/gitlab_provider.py b/gitlab2sentry/utils/gitlab_provider.py index 541c903..9d42233 100644 --- a/gitlab2sentry/utils/gitlab_provider.py +++ b/gitlab2sentry/utils/gitlab_provider.py @@ -16,8 +16,6 @@ DSN_MR_CONTENT, DSN_MR_TITLE, ENV, - GITLAB_AUTHOR_EMAIL, - GITLAB_AUTHOR_NAME, GITLAB_GRAPHQL_PAGE_LENGTH, GITLAB_GRAPHQL_SUFFIX, GITLAB_GRAPHQL_TIMEOUT, @@ -207,8 +205,6 @@ def _get_or_create_sentryclirc( ) f = project.files.create( { - "author_email": GITLAB_AUTHOR_EMAIL, - "author_name": GITLAB_AUTHOR_NAME, "branch": branch_name, "commit_message": SENTRYCLIRC_COM_MSG, "content": content, diff --git a/helm/values-production.yaml b/helm/values-production.yaml index be8449e..1e8f519 100644 --- a/helm/values-production.yaml +++ b/helm/values-production.yaml @@ -79,10 +79,6 @@ cronjob: - name: GITLAB_SENTRYCLIRC_MR_TITLE value: "[gitlab2sentry] Merge me to add sentry to {project_name} or close me" # Gitlab configuration values - - name: GITLAB_AUTHOR_NAME - value: gitlab2sentry - - name: GITLAB_AUTHOR_EMAIL - value: your-author-email - name: GITLAB_GRAPHQL_SUFFIX value: api/graphql # - name: GITLAB_MENTIONS diff --git a/requirements.txt b/requirements.txt index e11283a..cc53053 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,15 +1,25 @@ -aiohttp==3.8.1 +aiohttp==3.9.0b0 +aiosignal==1.3.1 +attrs==24.2.0 awesome-slugify==1.6.5 certifi==2020.6.20 chardet==3.0.4 +charset-normalizer==3.3.2 +Cython==0.29.37 +frozenlist==1.4.1 gql==3.2.0 +graphql-core==3.2.4 idna==2.10 -python-gitlab==2.5.0 +multidict==6.1.0 +python-gitlab==4.10.0 pytz==2022.1 -pyyaml==6.0.0 +PyYAML==6.0 regex==2020.10.28 -requests==2.24.0 -requests-toolbelt==0.9.1 +requests==2.32.3 +requests-toolbelt==1.0.0 sentry-sdk==0.19.5 +setuptools==74.1.2 Unidecode==0.4.21 urllib3==1.25.11 +wheel==0.44.0 +yarl==1.11.1 diff --git a/tests/resources.py b/tests/resources.py index 192810c..45aae7e 100644 --- a/tests/resources.py +++ b/tests/resources.py @@ -48,7 +48,5 @@ TEST_GITLAB_GRAPHQL_SUFFIX = "test-content" TEST_GITLAB_GRAPHQL_TIMEOUT = 10 TEST_GITLAB_GRAPHQL_PAGE_LENGTH = 0 -TEST_GITLAB_AUTHOR_EMAIL = "test-content" -TEST_GITLAB_AUTHOR_NAME = "test-content" TEST_GITLAB_RMV_SRC_BRANCH = True -TEST_GITLAB_MR_KEYWORD = "sentry" \ No newline at end of file +TEST_GITLAB_MR_KEYWORD = "sentry" From 244cce994db6cfe46f8577aa22e18e17d1c89ba6 Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Wed, 11 Sep 2024 18:49:50 +0200 Subject: [PATCH 2/7] use python3.11 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7239d99..b0764ee 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.9-slim +FROM python:3.11-slim WORKDIR /usr/src/app From 2a410c8f377bd807d489c92857b0a0dcb06e21d6 Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Thu, 12 Sep 2024 12:04:21 +0200 Subject: [PATCH 3/7] use python3.12, fix requirements and gitlab deprecation for member list --- Dockerfile | 3 ++- gitlab2sentry/utils/gitlab_provider.py | 2 +- requirements.txt | 24 +++++++++++------------- tests/test_gitlab_provider.py | 4 ++-- 4 files changed, 16 insertions(+), 17 deletions(-) diff --git a/Dockerfile b/Dockerfile index b0764ee..fa10693 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -FROM python:3.11-slim +FROM python:3.12-slim WORKDIR /usr/src/app @@ -10,6 +10,7 @@ RUN groupadd --gid 1000 appuser \ USER appuser COPY gitlab2sentry/ gitlab2sentry/ +COPY tests/ tests/ COPY run.py run.py CMD ["python3", "run.py"] diff --git a/gitlab2sentry/utils/gitlab_provider.py b/gitlab2sentry/utils/gitlab_provider.py index 9d42233..45451de 100644 --- a/gitlab2sentry/utils/gitlab_provider.py +++ b/gitlab2sentry/utils/gitlab_provider.py @@ -216,7 +216,7 @@ def _get_default_mentions(self, project: Project) -> str: return ", ".join( [ f"@{member.username}" - for member in project.members.all() + for member in project.members.list(all=True) if ( member.access_level >= GITLAB_MENTIONS_ACCESS_LEVEL and member.state != "blocked" diff --git a/requirements.txt b/requirements.txt index cc53053..331221d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,25 +1,23 @@ -aiohttp==3.9.0b0 +aiohappyeyeballs==2.4.0 +aiohttp==3.10.5 aiosignal==1.3.1 +anyio==4.4.0 attrs==24.2.0 awesome-slugify==1.6.5 -certifi==2020.6.20 -chardet==3.0.4 +backoff==2.2.1 +certifi==2024.8.30 charset-normalizer==3.3.2 -Cython==0.29.37 frozenlist==1.4.1 -gql==3.2.0 +gql==3.5.0 graphql-core==3.2.4 -idna==2.10 +idna==3.8 multidict==6.1.0 python-gitlab==4.10.0 -pytz==2022.1 -PyYAML==6.0 -regex==2020.10.28 +regex==2024.9.11 requests==2.32.3 requests-toolbelt==1.0.0 -sentry-sdk==0.19.5 -setuptools==74.1.2 +sentry-sdk==2.14.0 +sniffio==1.3.1 Unidecode==0.4.21 -urllib3==1.25.11 -wheel==0.44.0 +urllib3==2.2.2 yarl==1.11.1 diff --git a/tests/test_gitlab_provider.py b/tests/test_gitlab_provider.py index d7c1f92..acf43aa 100644 --- a/tests/test_gitlab_provider.py +++ b/tests/test_gitlab_provider.py @@ -92,7 +92,7 @@ def test_get_default_mentions(gitlab_provider_fixture, gitlab_project_fixture): ) _project_non_blocked_members = [ member - for member in gitlab_project_fixture.members.all() + for member in gitlab_project_fixture.members.list(all=True) if member.state != "blocked" ] assert len(_mentioned_members) == len(_project_non_blocked_members) @@ -168,4 +168,4 @@ def test_get_all_projects( ] ) == 1 - ) \ No newline at end of file + ) From 31febb7a6525d92a81fbe408cf51cbb659201dbc Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Thu, 12 Sep 2024 12:16:48 +0200 Subject: [PATCH 4/7] add pytz --- requirements.txt | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/requirements.txt b/requirements.txt index 331221d..a95acac 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,23 +1,7 @@ -aiohappyeyeballs==2.4.0 aiohttp==3.10.5 -aiosignal==1.3.1 -anyio==4.4.0 -attrs==24.2.0 awesome-slugify==1.6.5 -backoff==2.2.1 -certifi==2024.8.30 -charset-normalizer==3.3.2 -frozenlist==1.4.1 gql==3.5.0 -graphql-core==3.2.4 -idna==3.8 -multidict==6.1.0 python-gitlab==4.10.0 -regex==2024.9.11 +pytz==2022.1 requests==2.32.3 -requests-toolbelt==1.0.0 sentry-sdk==2.14.0 -sniffio==1.3.1 -Unidecode==0.4.21 -urllib3==2.2.2 -yarl==1.11.1 From 6c59ea21b747e0bf203413507b0ddd75142df5d8 Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Thu, 12 Sep 2024 12:31:09 +0200 Subject: [PATCH 5/7] make test in python3.12 --- .github/workflows/make-test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/make-test.yml b/.github/workflows/make-test.yml index 0c2a148..da72f53 100644 --- a/.github/workflows/make-test.yml +++ b/.github/workflows/make-test.yml @@ -12,10 +12,10 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Python 3.9 + - name: Set up Python 3.12 uses: actions/setup-python@v2 with: - python-version: "3.9" + python-version: "3.12" - name: Install dependencies run: | From ef060b86bdcd80ced615edd9d11a3bbe642aed25 Mon Sep 17 00:00:00 2001 From: Solvik Blum Date: Thu, 12 Sep 2024 14:53:35 +0200 Subject: [PATCH 6/7] fix tests --- .mypy.ini | 2 +- tests/conftest.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.mypy.ini b/.mypy.ini index 87abc27..4183914 100644 --- a/.mypy.ini +++ b/.mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.7 +python_version = 3.12 mypy_path = gitlab2sentry [mypy-pytest] diff --git a/tests/conftest.py b/tests/conftest.py index e04103a..a8591c2 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -67,7 +67,7 @@ def __init__(self): class TestGitlabMemberManager: - def all(self): + def list(self, all=True, iterator=True): return TEST_GITLAB_PROJECT_MEMBERS From 44d31042b91d952d70d81f493a824a0350d74577 Mon Sep 17 00:00:00 2001 From: Solvik Date: Thu, 12 Sep 2024 15:45:19 +0200 Subject: [PATCH 7/7] Update gitlab2sentry/utils/gitlab_provider.py Co-authored-by: Lowaiz <43639116+Lowaiz@users.noreply.github.com> --- gitlab2sentry/utils/gitlab_provider.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gitlab2sentry/utils/gitlab_provider.py b/gitlab2sentry/utils/gitlab_provider.py index 45451de..cb356d7 100644 --- a/gitlab2sentry/utils/gitlab_provider.py +++ b/gitlab2sentry/utils/gitlab_provider.py @@ -216,7 +216,7 @@ def _get_default_mentions(self, project: Project) -> str: return ", ".join( [ f"@{member.username}" - for member in project.members.list(all=True) + for member in project.members.list(all=True, iterator=True) if ( member.access_level >= GITLAB_MENTIONS_ACCESS_LEVEL and member.state != "blocked"