Skip to content
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

Implement SmokeTest utilizing Quarkus REST API #22085

Conversation

ScrewTSW
Copy link
Member

@che-bot che-bot added target/branch Indicates that a PR will be merged into a branch other than master. status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. kind/task Internal things, technical debt, and to-do tasks to be performed. labels Mar 22, 2023
@dmytro-ndp
Copy link
Contributor

dmytro-ndp commented Mar 22, 2023

@ScrewTSW ScrewTSW force-pushed the 22031-rewrite-smoke-test-to-use-quarkus-rest-api branch from 9686611 to 6cadf4f Compare March 22, 2023 10:45
@nallikaea
Copy link
Contributor

Is it a good idea to name this test sample spec as SmokeTest.spec.ts not as Quarkus.spec.ts? We can create smoke test suite or smoke test script, which can contain not just one spec file in the future. For example, if we will have another editor and will add smoke for it too.

@ScrewTSW ScrewTSW changed the title Implement SmokeTest utilizing Quarkus REST API WIP: Implement SmokeTest utilizing Quarkus REST API Mar 22, 2023
@ScrewTSW ScrewTSW changed the title WIP: Implement SmokeTest utilizing Quarkus REST API Implement SmokeTest utilizing Quarkus REST API Mar 23, 2023
@ScrewTSW
Copy link
Member Author

Is it a good idea to name this test sample spec as SmokeTest.spec.ts not as Quarkus.spec.ts? We can create smoke test suite or smoke test script, which can contain not just one spec file in the future. For example, if we will have another editor and will add smoke for it too.

Editor configuration should be independent from the test cases. Previously the tests shared the name, but were split into specific folders (theia, che-code)
I don't see this as an issue personally.

The name of the spec is exactly what it does :D It's a smoke test for editor

@ScrewTSW
Copy link
Member Author

@ScrewTSW
Copy link
Member Author

Example execution against dogfooding

################## Launch Information ##################

      TS_SELENIUM_BASE_URL: https://che-dogfooding.apps.che-dev.x6e0.p1.openshiftapps.com
      TS_SELENIUM_HEADLESS: false

      TS_SELENIUM_USERNAME: REDACTED
      TS_SELENIUM_PASSWORD: REDACTED

      TS_SELENIUM_EDITOR:   che-code

      TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: petclinic-dev-environment
      TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: 1000
      TS_SELENIUM_REPORT_FOLDER: ./report
      TS_SELENIUM_EXECUTION_SCREENCAST: false
      DELETE_SCREENCAST_IF_TEST_PASS: true
      TS_SELENIUM_REMOTE_DRIVER_URL: 
      DELETE_WORKSPACE_ON_FAILED_TEST: false
      TS_SELENIUM_LOG_LEVEL: DEBUG
      TS_SELENIUM_LAUNCH_FULLSCREEN: true

      to output timeout variables, set TS_SELENIUM_PRINT_TIMEOUT_VARIABLES to true
 ######################################################## 


  The https://github.com/che-incubator/quarkus-api-example.git userstory
    Create workspace from factory:https://github.com/che-incubator/quarkus-api-example.git
          ▼ BrowserTabsUtil.navigateTo https://che-dogfooding.apps.che-dev.x6e0.p1.openshiftapps.com
          ▼ RegularUserOcpCheLoginPage.login
          ▼ OcpRedHatLoginPage.login wait for LogInWithOpenShift page and click button
          ▼ OcpLoginPage.isIdentityProviderLinkVisible
          ▼ OcpLoginPage.clickOnLoginProviderTitle
          ▼ OcpLoginPage.isAuthorizeOpenShiftIdentityProviderPageVisible
          ▼ CheLoginPage.waitFirstBrokerLoginPage
          ▼ OcpLoginPage.isLinkAccountPageVisible
          ▼ TS_SELENIUM_LAUNCH_FULLSCREEN is set to true, maximizing window.
      ✔ Login (17921ms)
          ▼ Dashboard.waitPage
          ▼ Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.
          ▼ ApiUrlResolver.obtainUserNamespace 
(node:251062) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
          ▼ ApiUrlResolver.obtainUserNamespace kubeapi success: screwtsw-che-xmlol7
          ▼ Dashboard.clickCreateWorkspaceButton
          ▼ CreateWorkspace.waitPage
          ▼ CreateWorkspace.waitTitleContains text: "Create Workspace"
          ▼ BrowserTabsUtil.getCurrentWindowHandle
          ▼ CreateWorkspace.startWorkspaceUsingFactory factoryUrl: "https://github.com/che-incubator/quarkus-api-example.git"
          ▼ BrowserTabsUtil.waitAndSwitchToAnotherWindow
          ▼ BrowserTabsUtil.getAllWindowHandles
          ▼ BrowserTabsUtil.getAllWindowHandles
          ▼ BrowserTabsUtil.switchToWindow
      ✔ Create and open new workspace from factory:https://github.com/che-incubator/quarkus-api-example.git (9849ms)
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
      • Obtained workspace name from workspace loader page: quarkus-api-example-rxri
      ✔ Obtain workspace name from workspace loader page (10247ms)
          ▼ MochaHooks.registerRunningWorkspace with workspaceName:quarkus-api-example-rxri
      ✔ Register running workspace
      ✔ Wait workspace readiness (16482ms)
          ▼ new SideBarView().getContent().getSection: get quarkus-api-example
      ✔ Check a project folder has been created (124ms)
          ▼ projectSection.findItem: find devfile.yaml
      ✔ Check the project files was imported (2222ms)
          ▼ Dashboard.openDashboard
          ▼ Dashboard.waitPage
          ▼ Dashboard.stopAndRemoveWorkspaceByUI "quarkus-api-example-rxri"
          ▼ Dashboard.stopWorkspaceByUI "quarkus-api-example-rxri"
          ▼ Dashboard.clickWorkspacesButton
          ▼ Workspaces.waitPage
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-rxri"
          ▼ Workspaces.waitWorkspaceWithRunningStatus "quarkus-api-example-rxri"
          ▼ Workspaces.stopWorkspaceByActionsButton
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-rxri"
          ▼ Workspaces.openActionsPopup for the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.clickActionsButton of the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.waitActionsPopup of the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.clickActionsStopWorkspaceButton for the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.waitWorkspaceWithStoppedStatus "quarkus-api-example-rxri"
          ▼ DriverHelper.waitVisibility - Stale element error - StaleElementReferenceError: stale element reference: element is not attached to the page document
            (Session info: chrome=111.0.5563.64)
          ▼ Workspaces.deleteWorkspaceByActionsButton
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-rxri"
          ▼ Workspaces.openActionsPopup for the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.clickActionsButton of the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.waitActionsPopup of the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.clickActionsDeleteButton for the 'quarkus-api-example-rxri' list item
          ▼ Workspaces.waitDeleteWorkspaceConfirmationWindow
          ▼ Workspaces.clickToDeleteConfirmationCheckbox
          ▼ Workspaces.waitEnabledConfirmationWindowDeleteButton
          ▼ Workspaces.waitWorkspaceListItemAbcence "quarkus-api-example-rxri"
      ✔ Stopping and deleting the workspace (15585ms)

      • Chrome driver session stopped.

  8 passing (1m)

Copy link
Contributor

@dmytro-ndp dmytro-ndp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to merge.

@ScrewTSW
Copy link
Member Author

PR updated, new test run exaple:

[tdancs@fedora e2e]$ USERSTORY=SmokeTest npm run test-all-devfiles

> @eclipse-che/che-e2e@7.62.0-SNAPSHOT test-all-devfiles
> ./configs/sh-scripts/generateIndex.sh && ./configs/sh-scripts/initDefaultValues.sh && ./configs/sh-scripts/initDevfileTests.sh

Generating index.ts file...
Initialized default values

TS_SELENIUM_VALUE_TLS_SUPPORT =       true
TS_SELENIUM_VALUE_OPENSHIFT_OAUTH =   true
TS_OCP_LOGIN_PAGE_PROVIDER_TITLE =    github-app-sre
E2E_OCP_CLUSTER_VERSION =             4.x
TS_SELENIUM_LOG_LEVEL =               DEBUG
TS_SELENIUM_USERNAME =                REDACTED
TS_SELENIUM_PASSWORD =                REDACTED
TS_SELENIUM_MULTIUSER =               true
TS_SELENIUM_W3C_CHROME_OPTION =       true
NODE_TLS_REJECT_UNAUTHORIZED =        0
TS_SELENIUM_EDITOR =                  che-code

Launching the "SmokeTest" userstory

MOCHA_DIRECTORY = devfiles

> @eclipse-che/che-e2e@7.62.0-SNAPSHOT lint
> tslint --fix -p .

no-unused-variable is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.
no-use-before-declare is deprecated. Since TypeScript 2.9. Please use the built-in compiler checks instead.

> @eclipse-che/che-e2e@7.62.0-SNAPSHOT tsc
> tsc -p .


################## Launch Information ##################

      TS_SELENIUM_BASE_URL: https://che-dogfooding.apps.che-dev.x6e0.p1.openshiftapps.com
      TS_SELENIUM_HEADLESS: false

      TS_SELENIUM_USERNAME: REDACTED
      TS_SELENIUM_PASSWORD: REDACTED

      TS_SELENIUM_EDITOR:   che-code

      TS_SELENIUM_HAPPY_PATH_WORKSPACE_NAME: petclinic-dev-environment
      TS_SELENIUM_DELAY_BETWEEN_SCREENSHOTS: 1000
      TS_SELENIUM_REPORT_FOLDER: ./report
      TS_SELENIUM_EXECUTION_SCREENCAST: false
      DELETE_SCREENCAST_IF_TEST_PASS: true
      TS_SELENIUM_REMOTE_DRIVER_URL: 
      DELETE_WORKSPACE_ON_FAILED_TEST: false
      TS_SELENIUM_LOG_LEVEL: DEBUG
      TS_SELENIUM_LAUNCH_FULLSCREEN: true

      to output timeout variables, set TS_SELENIUM_PRINT_TIMEOUT_VARIABLES to true
 ######################################################## 


  The SmokeTest userstory
    Create workspace from factory:https://github.com/che-incubator/quarkus-api-example.git
          ▼ BrowserTabsUtil.navigateTo https://che-dogfooding.apps.che-dev.x6e0.p1.openshiftapps.com
          ▼ RegularUserOcpCheLoginPage.login
          ▼ OcpRedHatLoginPage.login wait for LogInWithOpenShift page and click button
          ▼ OcpLoginPage.isIdentityProviderLinkVisible
          ▼ OcpLoginPage.clickOnLoginProviderTitle
          ▼ OcpLoginPage.isAuthorizeOpenShiftIdentityProviderPageVisible
          ▼ CheLoginPage.waitFirstBrokerLoginPage
          ▼ OcpLoginPage.isLinkAccountPageVisible
          ▼ TS_SELENIUM_LAUNCH_FULLSCREEN is set to true, maximizing window.
      ✔ Login (17967ms)
          ▼ Dashboard.waitPage
  [ERROR] DriverHelper.waitVisibility - failed with exception, out of attempts - TimeoutError: Waiting for element to be located By(xpath, //div[@id='page-sidebar']//a[contains(text(), 'Workspaces (')])
  Wait timed out after 1071ms
          ▼ Dashboard.waitPage
          ▼ Fetching user kubernetes namespace, storing auth token by getting workspaces API URL.
          ▼ ApiUrlResolver.obtainUserNamespace 
(node:29112) Warning: Setting the NODE_TLS_REJECT_UNAUTHORIZED environment variable to '0' makes TLS connections and HTTPS requests insecure by disabling certificate verification.
(Use `node --trace-warnings ...` to show where the warning was created)
          ▼ ApiUrlResolver.obtainUserNamespace kubeapi success: screwtsw-che-xmlol7
          ▼ Dashboard.clickCreateWorkspaceButton
          ▼ CreateWorkspace.waitPage
          ▼ CreateWorkspace.waitTitleContains text: "Create Workspace"
          ▼ BrowserTabsUtil.getCurrentWindowHandle
          ▼ CreateWorkspace.startWorkspaceUsingFactory factoryUrl: "https://github.com/che-incubator/quarkus-api-example.git"
          ▼ BrowserTabsUtil.waitAndSwitchToAnotherWindow
          ▼ BrowserTabsUtil.getAllWindowHandles
          ▼ BrowserTabsUtil.getAllWindowHandles
          ▼ BrowserTabsUtil.switchToWindow
      ✔ Create and open new workspace from factory:https://github.com/che-incubator/quarkus-api-example.git (7726ms)
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
  [WARN] WorkspaceHandlingTests.obtainWorkspaceNameFromStartingPage Failed to obtain name from workspace start page, element not visible yet. Retrying.
      • Obtained workspace name from workspace loader page: quarkus-api-example-khcs
      ✔ Obtain workspace name from workspace loader page (7216ms)
          ▼ MochaHooks.registerRunningWorkspace with workspaceName:quarkus-api-example-khcs
      ✔ Register running workspace
      ✔ Wait workspace readiness (19770ms)
          ▼ new SideBarView().getContent().getSection: get quarkus-api-example
      ✔ Check a project folder has been created (88ms)
          ▼ projectSection.findItem: find devfile.yaml
      ✔ Check the project files was imported (3301ms)
          ▼ Dashboard.openDashboard
          ▼ Dashboard.waitPage
          ▼ Dashboard.stopAndRemoveWorkspaceByUI "quarkus-api-example-khcs"
          ▼ Dashboard.stopWorkspaceByUI "quarkus-api-example-khcs"
          ▼ Dashboard.clickWorkspacesButton
          ▼ Workspaces.waitPage
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-khcs"
          ▼ Workspaces.waitWorkspaceWithRunningStatus "quarkus-api-example-khcs"
          ▼ Workspaces.stopWorkspaceByActionsButton
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-khcs"
          ▼ Workspaces.openActionsPopup for the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.clickActionsButton of the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.waitActionsPopup of the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.clickActionsStopWorkspaceButton for the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.waitWorkspaceWithStoppedStatus "quarkus-api-example-khcs"
          ▼ Workspaces.deleteWorkspaceByActionsButton
          ▼ Workspaces.waitWorkspaceListItem "quarkus-api-example-khcs"
          ▼ Workspaces.openActionsPopup for the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.clickActionsButton of the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.waitActionsPopup of the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.clickActionsDeleteButton for the 'quarkus-api-example-khcs' list item
          ▼ Workspaces.waitDeleteWorkspaceConfirmationWindow
          ▼ Workspaces.clickToDeleteConfirmationCheckbox
          ▼ Workspaces.waitEnabledConfirmationWindowDeleteButton
          ▼ Workspaces.waitWorkspaceListItemAbcence "quarkus-api-example-khcs"
      ✔ Stopping and deleting the workspace (13832ms)

      • Chrome driver session stopped.

  8 passing (2m)

@@ -67,6 +61,12 @@ export class CreateWorkspace {
await this.driverHelper.waitAndClick(sampleLocator, timeout);
}

async startWorkspaceFromGit(factoryUrl: string, timeout: number = TimeoutConstants.TS_CLICK_DASHBOARD_ITEM_TIMEOUT): Promise<void> {
Logger.debug(`CreateWorkspace.startWorkspaceUsingFactory factoryUrl: "${factoryUrl}"`);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

startWorkspaceUsingFactory > startWorkspaceFromGit

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

startWorkspaceUsingFactory > importFromGitUsingUI

@ScrewTSW ScrewTSW force-pushed the 22031-rewrite-smoke-test-to-use-quarkus-rest-api branch from 17292d3 to ed39e88 Compare March 23, 2023 12:02
@nallikaea
Copy link
Contributor

Is it a good idea to name this test sample spec as SmokeTest.spec.ts not as Quarkus.spec.ts? We can create smoke test suite or smoke test script, which can contain not just one spec file in the future. For example, if we will have another editor and will add smoke for it too.

Editor configuration should be independent from the test cases. Previously the tests shared the name, but were split into specific folders (theia, che-code) I don't see this as an issue personally.

The name of the spec is exactly what it does :D It's a smoke test for editor

Sorry, I am still thinking that "smoke" should be suite. what do you think about it, @dmytro-ndp, @musienko-maxim ? =)

Copy link
Member

@ibuziuk ibuziuk left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@ScrewTSW ScrewTSW force-pushed the 22031-rewrite-smoke-test-to-use-quarkus-rest-api branch from ed39e88 to 686c5dc Compare March 23, 2023 13:20
@dmytro-ndp
Copy link
Contributor

dmytro-ndp commented Mar 23, 2023

@nallikaea : about:

We can create smoke test suite or smoke test script, which can contain not just one spec file in the future. For example, if we will have another editor and will add smoke for it too.

It would make sense in another situation.
But currently an idea is to have ONLY ONE smoke test for PR check.
Also, there are no requests to start testing other editors at the moment.

So, it's hardly ever we will have something else to add into the "smoke" test suite in new future.

But Smoke test is not a regular devfiles test, so it more suitable outside "devfiles" folder.

@ScrewTSW ScrewTSW changed the title Implement SmokeTest utilizing Quarkus REST API WIP: Implement SmokeTest utilizing Quarkus REST API Mar 23, 2023
@nallikaea
Copy link
Contributor

I suggest another solution:

"test-smoke": "./configs/sh-scripts/generateIndex.sh && ./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && -e USERSTOTY=$Quarkus.spec.js && mocha --config dist/configs/mocharc.js"

if we will have more then one test specification in our smoke suite we can make changes only in this script in "che", but not in all projects using this script as PR check

"test-smoke": "./configs/sh-scripts/generateIndex.sh && ./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && -e MOCHA_SUITE=$SUITE_NAME && mocha --config dist/configs/mocharc.js"

@nallikaea
Copy link
Contributor

Or if it not sample test "ImportFromGitUsingUI.spec.js"

@dmytro-ndp
Copy link
Contributor

dmytro-ndp commented Mar 23, 2023

@nallikaea : there will be ONLY ONE SmokeTest.spec.ts per repo.

Following discussion with @ScrewTSW , if we will not link smoke test with particular testing feature name, we will be able to change test scenario in future not fixing test name.

That is why, IMHO, it would better to move SmokeTest.spec.ts out of devfiles folder, and call the test using the command like following:

"smoke-test": "./configs/sh-scripts/generateIndex.sh && ./configs/sh-scripts/initDefaultValues.sh npm run lint && npm run tsc && -e MOCHA_DIRECTORY='' -e USERSTORY=SmokeTest && mocha --config dist/configs/mocharc.js"

@ScrewTSW ScrewTSW changed the title WIP: Implement SmokeTest utilizing Quarkus REST API Implement SmokeTest utilizing Quarkus REST API Mar 29, 2023
@ScrewTSW ScrewTSW force-pushed the 22031-rewrite-smoke-test-to-use-quarkus-rest-api branch from 686c5dc to eab3edc Compare March 29, 2023 14:09
@ScrewTSW
Copy link
Member Author

Currently unable to verify the change against dogfooding
Screenshot_20230329_155058

Signed-off-by: Tibor Dancs <tdancs@redhat.com>
Signed-off-by: Tibor Dancs <tdancs@redhat.com>
 as devfile

Signed-off-by: Tibor Dancs <tdancs@redhat.com>
Signed-off-by: Tibor Dancs <tdancs@redhat.com>
Signed-off-by: Tibor Dancs <tdancs@redhat.com>
@ScrewTSW ScrewTSW force-pushed the 22031-rewrite-smoke-test-to-use-quarkus-rest-api branch from eab3edc to 046fa18 Compare March 29, 2023 14:58
Copy link
Contributor

@dmytro-ndp dmytro-ndp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dmytro-ndp dmytro-ndp merged commit 65d396f into eclipse-che:main Mar 29, 2023
@che-bot che-bot removed the status/code-review This issue has a pull request posted for it and is awaiting code review completion by the community. label Mar 29, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/task Internal things, technical debt, and to-do tasks to be performed. target/branch Indicates that a PR will be merged into a branch other than master.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants