From a97b5b3b38b99ddde01b3e15a33a9b45283c799c Mon Sep 17 00:00:00 2001 From: Igor Gov Date: Mon, 4 Apr 2022 14:35:47 +0300 Subject: [PATCH 1/4] Add conditional Go lint validation to CI (#967) --- .github/workflows/static_code_analysis.yml | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/.github/workflows/static_code_analysis.yml b/.github/workflows/static_code_analysis.yml index 05e16134e..94804ea63 100644 --- a/.github/workflows/static_code_analysis.yml +++ b/.github/workflows/static_code_analysis.yml @@ -24,67 +24,117 @@ jobs: sudo apt update sudo apt install -y libpcap-dev + - name: Check Agent modified files + id: agent_modified_files + run: devops/check_modified_files.sh agent/ + - name: Go lint - agent uses: golangci/golangci-lint-action@v2 + if: steps.agent_modified_files.outputs.matched == 'true' with: version: latest working-directory: agent args: --timeout=3m + - name: Check shared modified files + id: shared_modified_files + run: devops/check_modified_files.sh shared/ + - name: Go lint - shared uses: golangci/golangci-lint-action@v2 + if: steps.shared_modified_files.outputs.matched == 'true' with: version: latest working-directory: shared args: --timeout=3m + - name: Check tap modified files + id: tap_modified_files + run: devops/check_modified_files.sh tap/ + - name: Go lint - tap uses: golangci/golangci-lint-action@v2 + if: steps.tap_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap args: --timeout=3m + - name: Check cli modified files + id: cli_modified_files + run: devops/check_modified_files.sh cli/ + - name: Go lint - CLI uses: golangci/golangci-lint-action@v2 + if: steps.cli_modified_files.outputs.matched == 'true' with: version: latest working-directory: cli args: --timeout=3m + - name: Check acceptanceTests modified files + id: acceptanceTests_modified_files + run: devops/check_modified_files.sh acceptanceTests/ + - name: Go lint - acceptanceTests uses: golangci/golangci-lint-action@v2 + if: steps.acceptanceTests_modified_files.outputs.matched == 'true' with: version: latest working-directory: acceptanceTests args: --timeout=3m + - name: Check tap/api modified files + id: tap_api_modified_files + run: devops/check_modified_files.sh tap/api/ + - name: Go lint - tap/api uses: golangci/golangci-lint-action@v2 + if: steps.tap_api_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap/api + - name: Check tap/extensions/amqp modified files + id: tap_amqp_modified_files + run: devops/check_modified_files.sh tap/extensions/amqp/ + - name: Go lint - tap/extensions/amqp uses: golangci/golangci-lint-action@v2 + if: steps.tap_amqp_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap/extensions/amqp + + - name: Check tap/extensions/http modified files + id: tap_http_modified_files + run: devops/check_modified_files.sh tap/extensions/http/ - name: Go lint - tap/extensions/http uses: golangci/golangci-lint-action@v2 + if: steps.tap_http_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap/extensions/http + - name: Check tap/extensions/kafka modified files + id: tap_kafka_modified_files + run: devops/check_modified_files.sh tap/extensions/kafka/ + - name: Go lint - tap/extensions/kafka uses: golangci/golangci-lint-action@v2 + if: steps.tap_kafka_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap/extensions/kafka + - name: Check tap/extensions/redis modified files + id: tap_redis_modified_files + run: devops/check_modified_files.sh tap/extensions/redis/ + - name: Go lint - tap/extensions/redis uses: golangci/golangci-lint-action@v2 + if: steps.tap_redis_modified_files.outputs.matched == 'true' with: version: latest working-directory: tap/extensions/redis From 7adbf7bf1b1a64340ac0105d6a190edcd99efb64 Mon Sep 17 00:00:00 2001 From: leon-up9 <97597983+leon-up9@users.noreply.github.com> Date: Mon, 4 Apr 2022 14:49:41 +0300 Subject: [PATCH 2/4] Ui/TRA-4461_service-map-&-OAS---GUI-changes (#962) * OpenAPI renamed to Service Catalog * Docs icon change Hide Navbar on serviceMap modal open * PR comments Co-authored-by: Leon <> Co-authored-by: RoyUP9 <87927115+RoyUP9@users.noreply.github.com> --- .../src/components/OasModal/OasModal.tsx | 42 ++++++------ .../src/components/UI/InformationIcon.tsx | 11 ++-- ui-common/src/components/UI/assets/info.svg | 5 -- .../UI/style/InformationIcon.module.sass | 10 ++- .../components/UI/style/StatusBar.module.sass | 6 +- .../Pages/TrafficPage/TrafficPage.tsx | 64 +++++++++---------- 6 files changed, 66 insertions(+), 72 deletions(-) delete mode 100644 ui-common/src/components/UI/assets/info.svg diff --git a/ui-common/src/components/OasModal/OasModal.tsx b/ui-common/src/components/OasModal/OasModal.tsx index 124cc88df..5c5e14496 100644 --- a/ui-common/src/components/OasModal/OasModal.tsx +++ b/ui-common/src/components/OasModal/OasModal.tsx @@ -42,10 +42,10 @@ const OasModal = ({ openModal, handleCloseModal, getOasServices, getOasByService try { const data = await getOasByService(selectedService ? selectedService : oasServices[0]); setSelectedServiceSpec(data); - } catch (e) { - toast.error("Error occurred while fetching service OAS spec"); - console.error(e); - } + } catch (e) { + toast.error("Error occurred while fetching service OAS spec"); + console.error(e); + } }; useEffect(() => { @@ -61,7 +61,7 @@ const OasModal = ({ openModal, handleCloseModal, getOasServices, getOasByService useEffect(() => { onSelectedOASService(null); - },[oasServices]) + }, [oasServices]) return (
openAPI
-
OpenAPI
+
Service Catalog
close
- - - -
+ + + +
{selectedServiceSpec && = ({link,style}) => { +export const InformationIcon: React.FC = ({ link, style }) => { return - - Info icon + + Docs } diff --git a/ui-common/src/components/UI/assets/info.svg b/ui-common/src/components/UI/assets/info.svg deleted file mode 100644 index b805f8de4..000000000 --- a/ui-common/src/components/UI/assets/info.svg +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/ui-common/src/components/UI/style/InformationIcon.module.sass b/ui-common/src/components/UI/style/InformationIcon.module.sass index 1ef24b94e..ed5739e7c 100644 --- a/ui-common/src/components/UI/style/InformationIcon.module.sass +++ b/ui-common/src/components/UI/style/InformationIcon.module.sass @@ -1,2 +1,8 @@ -.flex - display: flex \ No newline at end of file +.linkStyle + display: flex + color: #18253d + text-decoration: none + font-family: "Ubuntu", sans-serif + font-style: normal + font-weight: 600 + font-size: 14px \ No newline at end of file diff --git a/ui-common/src/components/UI/style/StatusBar.module.sass b/ui-common/src/components/UI/style/StatusBar.module.sass index 52fc71605..09ea3a93f 100644 --- a/ui-common/src/components/UI/style/StatusBar.module.sass +++ b/ui-common/src/components/UI/style/StatusBar.module.sass @@ -4,7 +4,7 @@ position: absolute transform: translate(-50%, -3px) left: 50% - z-index: 9999 + z-index: 100 min-width: 200px background: $blue-color color: rgba(255,255,255,0.75) @@ -19,7 +19,7 @@ overflow: hidden max-width: clamp(150px,50%,600px) - &.banner + &.banner top: 53px .podsCount @@ -41,7 +41,7 @@ table width: 100% margin-top: 20px - + tbody max-height: 70vh overflow-y: auto diff --git a/ui/src/components/Pages/TrafficPage/TrafficPage.tsx b/ui/src/components/Pages/TrafficPage/TrafficPage.tsx index 4089ed578..d0da56213 100644 --- a/ui/src/components/Pages/TrafficPage/TrafficPage.tsx +++ b/ui/src/components/Pages/TrafficPage/TrafficPage.tsx @@ -1,9 +1,9 @@ -import React, {useEffect, useState} from "react"; +import React, { useState } from "react"; import { Button } from "@material-ui/core"; import Api, { MizuWebsocketURL } from "../../../helpers/api"; import debounce from 'lodash/debounce'; -import {useSetRecoilState, useRecoilState} from "recoil"; -import {useCommonStyles} from "../../../helpers/commonStyle" +import { useRecoilState } from "recoil"; +import { useCommonStyles } from "../../../helpers/commonStyle" import serviceMapModalOpenAtom from "../../../recoil/serviceMapModalOpen"; import TrafficViewer from "@up9/mizu-common" import "@up9/mizu-common/dist/index.css" @@ -17,13 +17,13 @@ interface TrafficPageProps { const api = Api.getInstance(); -export const TrafficPage: React.FC = ({setAnalyzeStatus}) => { +export const TrafficPage: React.FC = ({ setAnalyzeStatus }) => { const commonClasses = useCommonStyles(); - const setServiceMapModalOpen = useSetRecoilState(serviceMapModalOpenAtom); + const [serviceMapModalOpen, setServiceMapModalOpen] = useRecoilState(serviceMapModalOpenAtom); const [openOasModal, setOpenOasModal] = useRecoilState(oasModalOpenAtom); const [openWebSocket, setOpenWebSocket] = useState(true); -const trafficViewerApi = {...api} + const trafficViewerApi = { ...api } const handleOpenOasModal = () => { setOpenWebSocket(false) @@ -36,37 +36,31 @@ const trafficViewerApi = {...api} }, 500); const actionButtons = (window["isOasEnabled"] || window["isServiceMapEnabled"]) && -
- {window["isOasEnabled"] && } - {window["isServiceMapEnabled"] && } -
- - useEffect(() => { - return () => { - //closeSocket() - } - },[]) +
+ {window["isOasEnabled"] && } + {window["isServiceMapEnabled"] && } +
return ( - <> + <> - + trafficViewerApiProp={trafficViewerApi} actionButtons={actionButtons} isShowStatusBar={!(openOasModal || serviceMapModalOpen)} isDemoBannerView={false} /> + ); }; From 66ba778384b1c548f920c0d2bbb320c0a5c0f9fb Mon Sep 17 00:00:00 2001 From: RoyUP9 <87927115+RoyUP9@users.noreply.github.com> Date: Mon, 4 Apr 2022 15:32:22 +0300 Subject: [PATCH 3/4] Fixed golint modified files (#969) --- .github/workflows/static_code_analysis.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/static_code_analysis.yml b/.github/workflows/static_code_analysis.yml index 94804ea63..a951dca6b 100644 --- a/.github/workflows/static_code_analysis.yml +++ b/.github/workflows/static_code_analysis.yml @@ -15,6 +15,9 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 + with: + fetch-depth: 2 + - uses: actions/setup-go@v2 with: go-version: '^1.17' From 2bfc523bbc74dec68ddd8c321d4155d040f7e52a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=2E=20Mert=20Y=C4=B1ld=C4=B1ran?= Date: Mon, 4 Apr 2022 06:25:18 -0700 Subject: [PATCH 4/4] Handle `reflect.TypeOf` returning `nil` case (#970) --- tap/extensions/http/helpers.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/tap/extensions/http/helpers.go b/tap/extensions/http/helpers.go index 8507af158..a8c4b78d7 100644 --- a/tap/extensions/http/helpers.go +++ b/tap/extensions/http/helpers.go @@ -53,7 +53,16 @@ func representMapSliceAsTable(mapSlice []interface{}, selectorPrefix string) (re h := item.(map[string]interface{}) key := h["name"].(string) value := h["value"] - switch reflect.TypeOf(value).Kind() { + + var reflectKind reflect.Kind + reflectType := reflect.TypeOf(value) + if reflectType == nil { + reflectKind = reflect.Interface + } else { + reflectKind = reflect.TypeOf(value).Kind() + } + + switch reflectKind { case reflect.Slice: fallthrough case reflect.Array: