From 1cadb3c6f40966a761bbe29bd2428750c4242238 Mon Sep 17 00:00:00 2001 From: Dmitry Kruchinin <33020454+dvkruchinin@users.noreply.github.com> Date: Thu, 22 Jul 2021 22:47:02 +0300 Subject: [PATCH] CI. Reducing the time of passing CI through the separation of tests for 3D functionality. (#3442) * Tests moved to diff folder * Update cypress config for 3d tests * Update main.yml * CI config fixing * Updates screenshot path --- .github/workflows/main.yml | 14 +++++++------- ...case_56_canvas3d_functionality_basic_actions.js | 2 +- .../case_62_canvas3d_functionality_views_resize.js | 0 ...nctionality_control_button_mouse_interaction.js | 2 +- .../case_64_canvas3d_functionality_cuboid.js | 2 +- .../case_78_canvas3d_functionality_cuboid_label.js | 2 +- ...9_canvas3d_functionality_cuboid_context_menu.js | 0 ...e_80_canvas3d_functionality_cuboid_make_copy.js | 0 ...e_81_canvas3d_functionality_cuboid_propagate.js | 0 ...unctionality_cuboid_opacity_outlined_borders.js | 2 +- tests/cypress_canvas3d.json | 1 + 11 files changed, 13 insertions(+), 12 deletions(-) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_56_canvas3d_functionality_basic_actions.js (99%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_62_canvas3d_functionality_views_resize.js (100%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_63_canvas3d_functionality_control_button_mouse_interaction.js (96%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_64_canvas3d_functionality_cuboid.js (98%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_78_canvas3d_functionality_cuboid_label.js (99%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_79_canvas3d_functionality_cuboid_context_menu.js (100%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_80_canvas3d_functionality_cuboid_make_copy.js (100%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_81_canvas3d_functionality_cuboid_propagate.js (100%) rename tests/cypress/integration/{canvas3d_functionality => canvas3d_functionality_2}/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js (98%) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f7996a47..877a095f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -80,7 +80,7 @@ jobs: strategy: fail-fast: false matrix: - specs: ['actions_tasks', 'actions_tasks2', 'actions_tasks3', 'actions_objects', 'actions_objects2', 'actions_users', 'actions_projects_models', 'canvas3d_functionality', 'issues_prs', 'issues_prs2'] + specs: ['actions_tasks', 'actions_tasks2', 'actions_tasks3', 'actions_objects', 'actions_objects2', 'actions_users', 'actions_projects_models', 'canvas3d_functionality', 'canvas3d_functionality_2', 'issues_prs', 'issues_prs2'] steps: - uses: actions/checkout@v2 - name: Getting SHA from the default branch @@ -165,17 +165,17 @@ jobs: cd ./tests npm ci if [[ ${{ github.ref }} == 'refs/heads/develop' ]]; then - if [[ ${{ matrix.specs }} != 'canvas3d_functionality' ]]; then - npx cypress run --headless --browser chrome --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' - else + if [ ${{ matrix.specs }} == 'canvas3d_functionality' ] || [ ${{ matrix.specs }} == 'canvas3d_functionality_2' ]; then npx cypress run --browser chrome --config-file cypress_canvas3d.json --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' + else + npx cypress run --headless --browser chrome --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' fi mv ./.nyc_output/out.json ./.nyc_output/out_${{ matrix.specs }}.json else - if [[ ${{ matrix.specs }} != 'canvas3d_functionality' ]]; then - npx cypress run --headless --browser chrome --env coverage=false --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' - else + if [ ${{ matrix.specs }} == 'canvas3d_functionality' ] || [ ${{ matrix.specs }} == 'canvas3d_functionality_2' ]; then npx cypress run --browser chrome --env coverage=false --config-file cypress_canvas3d.json --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' + else + npx cypress run --headless --browser chrome --env coverage=false --spec 'cypress/integration/${{ matrix.specs }}/**/*.js' fi fi - name: Creating a log file from "cvat" container logs diff --git a/tests/cypress/integration/canvas3d_functionality/case_56_canvas3d_functionality_basic_actions.js b/tests/cypress/integration/canvas3d_functionality_2/case_56_canvas3d_functionality_basic_actions.js similarity index 99% rename from tests/cypress/integration/canvas3d_functionality/case_56_canvas3d_functionality_basic_actions.js rename to tests/cypress/integration/canvas3d_functionality_2/case_56_canvas3d_functionality_basic_actions.js index 11ef9728..979ec98d 100644 --- a/tests/cypress/integration/canvas3d_functionality/case_56_canvas3d_functionality_basic_actions.js +++ b/tests/cypress/integration/canvas3d_functionality_2/case_56_canvas3d_functionality_basic_actions.js @@ -10,7 +10,7 @@ import { taskName } from '../../support/const_canvas3d'; context('Canvas 3D functionality. Basic actions.', () => { const caseId = '56'; const screenshotsPath = - 'cypress/screenshots/canvas3d_functionality/case_56_canvas3d_functionality_basic_actions.js'; + 'cypress/screenshots/canvas3d_functionality_2/case_56_canvas3d_functionality_basic_actions.js'; function testPerspectiveChangeOnKeyPress(key, screenshotNameBefore, screenshotNameAfter) { cy.get('.cvat-canvas3d-perspective').trigger('mouseover').screenshot(screenshotNameBefore); diff --git a/tests/cypress/integration/canvas3d_functionality/case_62_canvas3d_functionality_views_resize.js b/tests/cypress/integration/canvas3d_functionality_2/case_62_canvas3d_functionality_views_resize.js similarity index 100% rename from tests/cypress/integration/canvas3d_functionality/case_62_canvas3d_functionality_views_resize.js rename to tests/cypress/integration/canvas3d_functionality_2/case_62_canvas3d_functionality_views_resize.js diff --git a/tests/cypress/integration/canvas3d_functionality/case_63_canvas3d_functionality_control_button_mouse_interaction.js b/tests/cypress/integration/canvas3d_functionality_2/case_63_canvas3d_functionality_control_button_mouse_interaction.js similarity index 96% rename from tests/cypress/integration/canvas3d_functionality/case_63_canvas3d_functionality_control_button_mouse_interaction.js rename to tests/cypress/integration/canvas3d_functionality_2/case_63_canvas3d_functionality_control_button_mouse_interaction.js index 92edcaf7..9bac0019 100644 --- a/tests/cypress/integration/canvas3d_functionality/case_63_canvas3d_functionality_control_button_mouse_interaction.js +++ b/tests/cypress/integration/canvas3d_functionality_2/case_63_canvas3d_functionality_control_button_mouse_interaction.js @@ -9,7 +9,7 @@ import { taskName } from '../../support/const_canvas3d'; context('Canvas 3D functionality. Control button. Mouse interaction.', () => { const caseId = '63'; const screenshotsPath = - 'cypress/screenshots/canvas3d_functionality/case_63_canvas3d_functionality_control_button_mouse_interaction.js'; + 'cypress/screenshots/canvas3d_functionality_2/case_63_canvas3d_functionality_control_button_mouse_interaction.js'; function testPerspectiveChangeOnButtonClick( button, diff --git a/tests/cypress/integration/canvas3d_functionality/case_64_canvas3d_functionality_cuboid.js b/tests/cypress/integration/canvas3d_functionality_2/case_64_canvas3d_functionality_cuboid.js similarity index 98% rename from tests/cypress/integration/canvas3d_functionality/case_64_canvas3d_functionality_cuboid.js rename to tests/cypress/integration/canvas3d_functionality_2/case_64_canvas3d_functionality_cuboid.js index e78b1992..47d0f630 100644 --- a/tests/cypress/integration/canvas3d_functionality/case_64_canvas3d_functionality_cuboid.js +++ b/tests/cypress/integration/canvas3d_functionality_2/case_64_canvas3d_functionality_cuboid.js @@ -9,7 +9,7 @@ import { taskName, labelName } from '../../support/const_canvas3d'; context('Canvas 3D functionality. Add cuboid.', () => { const caseId = '64'; - const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_64_canvas3d_functionality_cuboid.js'; + const screenshotsPath = 'cypress/screenshots/canvas3d_functionality_2/case_64_canvas3d_functionality_cuboid.js'; const cuboidCreationParams = { labelName: labelName, }; diff --git a/tests/cypress/integration/canvas3d_functionality/case_78_canvas3d_functionality_cuboid_label.js b/tests/cypress/integration/canvas3d_functionality_2/case_78_canvas3d_functionality_cuboid_label.js similarity index 99% rename from tests/cypress/integration/canvas3d_functionality/case_78_canvas3d_functionality_cuboid_label.js rename to tests/cypress/integration/canvas3d_functionality_2/case_78_canvas3d_functionality_cuboid_label.js index 7002154e..e5d4b2bb 100644 --- a/tests/cypress/integration/canvas3d_functionality/case_78_canvas3d_functionality_cuboid_label.js +++ b/tests/cypress/integration/canvas3d_functionality_2/case_78_canvas3d_functionality_cuboid_label.js @@ -10,7 +10,7 @@ context('Canvas 3D functionality. Interaction with cuboid via sidebar.', () => { const caseId = '78'; const secondLabel = 'car'; - const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_78_canvas3d_functionality_cuboid_label.js'; + const screenshotsPath = 'cypress/screenshots/canvas3d_functionality_2/case_78_canvas3d_functionality_cuboid_label.js'; const cuboidCreationParams = { labelName: labelName, }; diff --git a/tests/cypress/integration/canvas3d_functionality/case_79_canvas3d_functionality_cuboid_context_menu.js b/tests/cypress/integration/canvas3d_functionality_2/case_79_canvas3d_functionality_cuboid_context_menu.js similarity index 100% rename from tests/cypress/integration/canvas3d_functionality/case_79_canvas3d_functionality_cuboid_context_menu.js rename to tests/cypress/integration/canvas3d_functionality_2/case_79_canvas3d_functionality_cuboid_context_menu.js diff --git a/tests/cypress/integration/canvas3d_functionality/case_80_canvas3d_functionality_cuboid_make_copy.js b/tests/cypress/integration/canvas3d_functionality_2/case_80_canvas3d_functionality_cuboid_make_copy.js similarity index 100% rename from tests/cypress/integration/canvas3d_functionality/case_80_canvas3d_functionality_cuboid_make_copy.js rename to tests/cypress/integration/canvas3d_functionality_2/case_80_canvas3d_functionality_cuboid_make_copy.js diff --git a/tests/cypress/integration/canvas3d_functionality/case_81_canvas3d_functionality_cuboid_propagate.js b/tests/cypress/integration/canvas3d_functionality_2/case_81_canvas3d_functionality_cuboid_propagate.js similarity index 100% rename from tests/cypress/integration/canvas3d_functionality/case_81_canvas3d_functionality_cuboid_propagate.js rename to tests/cypress/integration/canvas3d_functionality_2/case_81_canvas3d_functionality_cuboid_propagate.js diff --git a/tests/cypress/integration/canvas3d_functionality/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js b/tests/cypress/integration/canvas3d_functionality_2/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js similarity index 98% rename from tests/cypress/integration/canvas3d_functionality/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js rename to tests/cypress/integration/canvas3d_functionality_2/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js index 364ecb83..f24a828f 100644 --- a/tests/cypress/integration/canvas3d_functionality/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js +++ b/tests/cypress/integration/canvas3d_functionality_2/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js @@ -8,7 +8,7 @@ import { taskName, labelName } from '../../support/const_canvas3d'; context('Canvas 3D functionality. Opacity. Outlined borders.', () => { const caseId = '82'; - const screenshotsPath = 'cypress/screenshots/canvas3d_functionality/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js'; + const screenshotsPath = 'cypress/screenshots/canvas3d_functionality_2/case_82_canvas3d_functionality_cuboid_opacity_outlined_borders.js'; const cuboidCreationParams = { labelName: labelName, x: 250, diff --git a/tests/cypress_canvas3d.json b/tests/cypress_canvas3d.json index 78eceec5..06a37637 100644 --- a/tests/cypress_canvas3d.json +++ b/tests/cypress_canvas3d.json @@ -12,6 +12,7 @@ "testFiles": [ "auth_page.js", "canvas3d_functionality/*.js", + "canvas3d_functionality_2/*.js", "remove_users_tasks_projects.js" ] }