From 914006323e769684b3bd5720f694799216ab19cd Mon Sep 17 00:00:00 2001 From: KonstantAnxiety Date: Fri, 1 Mar 2024 13:24:17 +0300 Subject: [PATCH 1/5] BI-5255 Fix manual E2E: switch to ubuntu-latest; show logs; add teardown --- .github/workflows/run_e2e_on_ref_local.yml | 37 ++++++++++------------ tools/e2e/Taskfile.yaml | 10 ++++++ 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/.github/workflows/run_e2e_on_ref_local.yml b/.github/workflows/run_e2e_on_ref_local.yml index 9cf01c35a..572bfafea 100644 --- a/.github/workflows/run_e2e_on_ref_local.yml +++ b/.github/workflows/run_e2e_on_ref_local.yml @@ -17,28 +17,28 @@ on: jobs: run_e2e: name: "Build and run E2E" - runs-on: [ self-hosted, linux ] + runs-on: ubuntu-latest permissions: contents: read - packages: read - container: - image: "ghcr.io/${{ github.repository_owner }}/${{ github.event.repository.name }}/debian_docker:latest" - options: -v /var/run/docker.sock:/var/run/docker.sock - credentials: - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} steps: - - name: Checkout code - uses: actions/checkout@v2 - - name: Fix dubious ownership - run: .github/.scripts/git_config_save_directory.sh - env: - REPOSITORY_NAME: ${{ github.event.repository.name }} + - name: Checkout datalens-backend + uses: actions/checkout@v4 + with: + path: datalens-backend + + - name: Checkout datalens-ui + uses: actions/checkout@v4 + with: + repository: datalens-tech/datalens-ui + path: datalens-ui + - name: Switch to PR head + working-directory: datalens-backend run: gh pr checkout ${{ github.event.inputs.pr }} env: GH_TOKEN: ${{ github.token }} - name: Validate SHA + working-directory: datalens-backend run: | export HEAD_SHA=$(git rev-parse HEAD) export INPUT_SHA="${{ github.event.inputs.sha }}" @@ -53,16 +53,11 @@ jobs: with: version: 3.33.1 - - name: Checkout datalens-ui repo - uses: actions/checkout@v4 - with: - repository: datalens-tech/datalens-ui - path: tools/e2e/datalens-ui - uses: actions/setup-node@v3 with: node-version: 18 cache: 'npm' - cache-dependency-path: tools/e2e/datalens-ui/package-lock.json + cache-dependency-path: datalens-ui/package-lock.json - name: Build and run E2E - run: task e2e:init-and-run DATALENS_UI_FOLDER="./datalens-ui" + run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" # note: relative to datalens-backend/tools/e2e diff --git a/tools/e2e/Taskfile.yaml b/tools/e2e/Taskfile.yaml index 7e286cd86..93d9c0b27 100644 --- a/tools/e2e/Taskfile.yaml +++ b/tools/e2e/Taskfile.yaml @@ -132,11 +132,21 @@ tasks: init-and-run: desc: Bootstrap command; install everything and run all tests; requires node installed + vars: + SHOW_LOGS_WHEN_DONE: '{{.SHOW_LOGS_WHEN_DONE | default ""}}' cmds: - task: datalens-ui-repo-clone - task: datalens-ui-repo-update - task: datalens-ui-init - task: docker-build + - defer: { task: docker-stop } + - defer: | + [[ -n "{{.SHOW_LOGS_WHEN_DONE}}" ]] && \ + docker ps -a && \ + for i in $(docker ps -aq); do + echo "\n\n Showing logs for container $i" + docker logs $i + done - task: docker-start - task: test vars: From 4b06036aa5978de2421ae489f853c34bfb86e043 Mon Sep 17 00:00:00 2001 From: KonstantAnxiety Date: Fri, 1 Mar 2024 13:36:23 +0300 Subject: [PATCH 2/5] Working directory for e2e step --- .github/workflows/run_e2e_on_ref_local.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/run_e2e_on_ref_local.yml b/.github/workflows/run_e2e_on_ref_local.yml index 572bfafea..3607de9a6 100644 --- a/.github/workflows/run_e2e_on_ref_local.yml +++ b/.github/workflows/run_e2e_on_ref_local.yml @@ -60,4 +60,5 @@ jobs: cache-dependency-path: datalens-ui/package-lock.json - name: Build and run E2E + working-directory: datalens-backend run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" # note: relative to datalens-backend/tools/e2e From 371ffc0d89d1a93a8f50205167f77a85952f7b9c Mon Sep 17 00:00:00 2001 From: KonstantAnxiety Date: Fri, 1 Mar 2024 13:37:29 +0300 Subject: [PATCH 3/5] Show logs --- .github/workflows/run_e2e_on_ref_local.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/run_e2e_on_ref_local.yml b/.github/workflows/run_e2e_on_ref_local.yml index 3607de9a6..21343dc34 100644 --- a/.github/workflows/run_e2e_on_ref_local.yml +++ b/.github/workflows/run_e2e_on_ref_local.yml @@ -61,4 +61,5 @@ jobs: - name: Build and run E2E working-directory: datalens-backend - run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" # note: relative to datalens-backend/tools/e2e + run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" SHOW_LOGS_WHEN_DONE=true + # note: ^ ui path is relative to datalens-backend/tools/e2e From d99aef5380604285a229960b3f69c0efb3c6e696 Mon Sep 17 00:00:00 2001 From: KonstantAnxiety Date: Fri, 1 Mar 2024 18:58:44 +0300 Subject: [PATCH 4/5] Fix teardown --- tools/e2e/Taskfile.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/tools/e2e/Taskfile.yaml b/tools/e2e/Taskfile.yaml index 93d9c0b27..76ddcf12b 100644 --- a/tools/e2e/Taskfile.yaml +++ b/tools/e2e/Taskfile.yaml @@ -141,14 +141,14 @@ tasks: - task: docker-build - defer: { task: docker-stop } - defer: | - [[ -n "{{.SHOW_LOGS_WHEN_DONE}}" ]] && \ - docker ps -a && \ - for i in $(docker ps -aq); do - echo "\n\n Showing logs for container $i" - docker logs $i - done + if [[ -n "{{.SHOW_LOGS_WHEN_DONE}}" ]]; then + docker ps -a + for i in $(docker ps -aq); do + echo $'\n\n'"Showing logs for container $i" + docker logs $i + done + fi - task: docker-start - task: test vars: RETRY_TIMES: 1 - - task: docker-stop From e62ed5285546517168999f8dde2b9c2b28281b5a Mon Sep 17 00:00:00 2001 From: KonstantAnxiety Date: Fri, 1 Mar 2024 19:12:42 +0300 Subject: [PATCH 5/5] Change show logs var check --- .github/workflows/run_e2e_on_ref_local.yml | 2 +- tools/e2e/Taskfile.yaml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/run_e2e_on_ref_local.yml b/.github/workflows/run_e2e_on_ref_local.yml index 21343dc34..8d00592ee 100644 --- a/.github/workflows/run_e2e_on_ref_local.yml +++ b/.github/workflows/run_e2e_on_ref_local.yml @@ -61,5 +61,5 @@ jobs: - name: Build and run E2E working-directory: datalens-backend - run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" SHOW_LOGS_WHEN_DONE=true + run: task e2e:init-and-run DATALENS_UI_FOLDER="../../../datalens-ui" SHOW_LOGS_WHEN_DONE=1 # note: ^ ui path is relative to datalens-backend/tools/e2e diff --git a/tools/e2e/Taskfile.yaml b/tools/e2e/Taskfile.yaml index 76ddcf12b..2e2e884a1 100644 --- a/tools/e2e/Taskfile.yaml +++ b/tools/e2e/Taskfile.yaml @@ -133,7 +133,7 @@ tasks: init-and-run: desc: Bootstrap command; install everything and run all tests; requires node installed vars: - SHOW_LOGS_WHEN_DONE: '{{.SHOW_LOGS_WHEN_DONE | default ""}}' + SHOW_LOGS_WHEN_DONE: '{{.SHOW_LOGS_WHEN_DONE | default "0"}}' cmds: - task: datalens-ui-repo-clone - task: datalens-ui-repo-update @@ -141,7 +141,7 @@ tasks: - task: docker-build - defer: { task: docker-stop } - defer: | - if [[ -n "{{.SHOW_LOGS_WHEN_DONE}}" ]]; then + if [[ "{{.SHOW_LOGS_WHEN_DONE}}" == "1" ]]; then docker ps -a for i in $(docker ps -aq); do echo $'\n\n'"Showing logs for container $i"