From 3b92545528704195759c949c04548b05e0740935 Mon Sep 17 00:00:00 2001 From: Harold Wanyama Date: Mon, 30 Sep 2024 19:54:36 +0300 Subject: [PATCH 1/2] [#4433] Bug/Adding GH Org - Resolved Github Org installation event issue - Updated Go version Signed-off-by: Harold Wanyama --- .github/workflows/build-pr.yml | 2 +- .github/workflows/deploy-dev.yml | 2 +- .github/workflows/deploy-prod.yml | 2 +- cla-backend/cla/models/dynamo_models.py | 19 +++++++++++++++++-- .../cla/tests/unit/test_gh_org_models.py | 2 +- 5 files changed, 21 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 386e4633a..d868c7f0b 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -27,7 +27,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.20.1' + go-version: '1.23.1' - name: Go Version run: go version - name: Setup Node diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index 852f7ad82..f4f759706 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -26,7 +26,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.20.1' + go-version: '1.23.1' - name: Go Version run: go version - name: Setup Node diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index c8cd1a666..60bdf333e 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -28,7 +28,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.20.1' + go-version: '1.23.1' check-latest: true - name: Go Version run: go version diff --git a/cla-backend/cla/models/dynamo_models.py b/cla-backend/cla/models/dynamo_models.py index ec92d62f5..2ceaed90f 100644 --- a/cla-backend/cla/models/dynamo_models.py +++ b/cla-backend/cla/models/dynamo_models.py @@ -500,6 +500,20 @@ class Meta: organization_name_lower = UnicodeAttribute(hash_key=True) +class OrganizationNameLowerSearchIndex(GlobalSecondaryIndex): + """ + This class represents a global secondary index for querying organizations by Organization Name. + """ + + class Meta: + """Meta class for external ID github org index.""" + + index_name = "organization-name-lower-search-index" + write_capacity_units = int(cla.conf["DYNAMO_WRITE_UNITS"]) + read_capacity_units = int(cla.conf["DYNAMO_READ_UNITS"]) + projection = AllProjection() + + organization_name_lower = UnicodeAttribute(hash_key=True) class GitlabExternalGroupIDIndex(GlobalSecondaryIndex): """ @@ -3817,7 +3831,8 @@ class Meta: project_sfid = UnicodeAttribute() organization_sfid_index = GitlabOrgSFIndex() project_sfid_organization_name_index = GitlabOrgProjectSfidOrganizationNameIndex() - organization_name_lowe_index = GitlabOrganizationNameLowerIndex() + organization_name_lower_index = GitlabOrganizationNameLowerIndex() + organization_name_lower_search_index = OrganizationNameLowerSearchIndex() organization_project_id = UnicodeAttribute(null=True) organization_company_id = UnicodeAttribute(null=True) auto_enabled = BooleanAttribute(null=True) @@ -3964,7 +3979,7 @@ def get_organization_by_installation_id(self, installation_id): return None def get_organization_by_lower_name(self, organization_name): - org_generator = self.model.scan(organization_name_lower__eq=organization_name.lower()) + org_generator = self.model.organization_name_lower_search_index.query(organization_name.lower()) for org_model in org_generator: org = GitHubOrg() org.model = org_model diff --git a/cla-backend/cla/tests/unit/test_gh_org_models.py b/cla-backend/cla/tests/unit/test_gh_org_models.py index f37dfeced..0828d0d7e 100644 --- a/cla-backend/cla/tests/unit/test_gh_org_models.py +++ b/cla-backend/cla/tests/unit/test_gh_org_models.py @@ -35,6 +35,6 @@ def test_set_organization_name(gh_instance): def test_get_org_by_name_lower(gh_instance): """ Test getting GitHub org with case insensitive search """ gh_org = cla.utils.get_github_organization_instance() - gh_org.model.scan = Mock(return_value=[gh_instance.model]) + gh_org.model.organization_name_lower_search_index.query = Mock(return_value=[gh_instance.model]) found_gh_org = gh_org.get_organization_by_lower_name(gh_instance.get_organization_name()) assert found_gh_org.get_organization_name_lower() == gh_instance.get_organization_name_lower() From 693c7eed8623f9aecb5af70dd403183c6bdbbc1a Mon Sep 17 00:00:00 2001 From: Harold Wanyama Date: Mon, 30 Sep 2024 22:07:17 +0300 Subject: [PATCH 2/2] Feature/Go Version - Reverted to older versions Signed-off-by: Harold Wanyama --- .github/workflows/build-pr.yml | 2 +- .github/workflows/deploy-dev.yml | 2 +- .github/workflows/deploy-prod.yml | 2 +- .github/workflows/yarn-scan-backend-go-pr.yml | 2 +- .github/workflows/yarn-scan-backend-pr.yml | 2 +- cla-backend-go/Makefile | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index d868c7f0b..386e4633a 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -27,7 +27,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.23.1' + go-version: '1.20.1' - name: Go Version run: go version - name: Setup Node diff --git a/.github/workflows/deploy-dev.yml b/.github/workflows/deploy-dev.yml index f4f759706..852f7ad82 100644 --- a/.github/workflows/deploy-dev.yml +++ b/.github/workflows/deploy-dev.yml @@ -26,7 +26,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.23.1' + go-version: '1.20.1' - name: Go Version run: go version - name: Setup Node diff --git a/.github/workflows/deploy-prod.yml b/.github/workflows/deploy-prod.yml index 60bdf333e..c8cd1a666 100644 --- a/.github/workflows/deploy-prod.yml +++ b/.github/workflows/deploy-prod.yml @@ -28,7 +28,7 @@ jobs: - name: Setup go uses: actions/setup-go@v3 with: - go-version: '1.23.1' + go-version: '1.20.1' check-latest: true - name: Go Version run: go version diff --git a/.github/workflows/yarn-scan-backend-go-pr.yml b/.github/workflows/yarn-scan-backend-go-pr.yml index bf2df01d2..9e63d1246 100644 --- a/.github/workflows/yarn-scan-backend-go-pr.yml +++ b/.github/workflows/yarn-scan-backend-go-pr.yml @@ -8,7 +8,7 @@ on: # https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions pull_request: branches: - - main + - dev jobs: yarn-scan-backend-go-pr: diff --git a/.github/workflows/yarn-scan-backend-pr.yml b/.github/workflows/yarn-scan-backend-pr.yml index a86a6d372..4f8fa851e 100644 --- a/.github/workflows/yarn-scan-backend-pr.yml +++ b/.github/workflows/yarn-scan-backend-pr.yml @@ -8,7 +8,7 @@ on: # https://docs.github.com/en/actions/learn-github-actions/workflow-syntax-for-github-actions pull_request: branches: - - main + - dev jobs: yarn-scan-backend-pr: diff --git a/cla-backend-go/Makefile b/cla-backend-go/Makefile index 9584d3df1..6f64e78f8 100644 --- a/cla-backend-go/Makefile +++ b/cla-backend-go/Makefile @@ -69,7 +69,7 @@ setup-swagger: setup_dev: setup-dev setup-dev: - pushd /tmp && echo "==> Installing goimport..." && go install golang.org/x/tools/cmd/goimports@latest && echo "==> Installation coverage tools..." && go install golang.org/x/tools/cmd/cover@latest && popd + pushd /tmp && echo "==> Installing goimport..." && go install golang.org/x/tools/cmd/goimports@v0.24.0 && echo "==> Installation coverage tools..." && go install golang.org/x/tools/cmd/cover@latest && popd @echo "==> Installing linter..." @# Latest releases: https://github.com/golangci/golangci-lint/releases