From 1b7f7e274889ff35631c937595f99f24b5a912a8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 14:25:31 -0400 Subject: [PATCH 01/13] update Docker container maintainer info --- build/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build/Dockerfile b/build/Dockerfile index b616ce0..4752a09 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,5 +1,5 @@ FROM circleci/python:3.7-stretch-node-browsers -MAINTAINER Ryan Patrick Kyle "ryan@plotly.com" +MAINTAINER Etienne Tétreault-Pinard "code@etpinard.xyz" RUN sudo apt-get update \ && sudo apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false From 567c8148d0adf6a9605e6f49a8771886b18062bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 14:27:11 -0400 Subject: [PATCH 02/13] try updating Dockerfile - use `cimg/python:3.9.9-browsers`, copied from the dash `.circleci/config.yml` - install Julia 1.9.1 --- build/Dockerfile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/build/Dockerfile b/build/Dockerfile index 4752a09..a02e085 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,4 +1,4 @@ -FROM circleci/python:3.7-stretch-node-browsers +FROM cimg/python:3.9.9-browsers MAINTAINER Etienne Tétreault-Pinard "code@etpinard.xyz" RUN sudo apt-get update \ @@ -7,6 +7,6 @@ RUN sudo apt-get update \ RUN cd /usr/local/src \ && sudo mkdir /usr/local/src/julia \ && sudo curl -o julia.tar.gz --location --show-error \ - https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.1-linux-x86_64.tar.gz \ + https://julialang-s3.julialang.org/bin/linux/x64/1.9/julia-1.9.1-linux-x86_64.tar.gz \ && sudo tar --extract --gzip --strip 1 --directory=/usr/local/src/julia --file=julia.tar.gz \ - && sudo ln -s /usr/local/src/julia/bin/julia /usr/local/bin/julia + && sudo ln -s /usr/local/src/julia/bin/julia /usr/local/bin/julia From 6cca31517d2e19587acef90f75e2abfd90333590 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 14:27:24 -0400 Subject: [PATCH 03/13] un-disable CircleCI tests --- .circleci/config.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 8ccac48..0b8f832 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -57,4 +57,3 @@ workflows: build: jobs: - "test" - when: false # disable this workflow until Percy tests are functional again From d558a4ce163fa5726bb151296fea4d3479b9e5d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 14:39:15 -0400 Subject: [PATCH 04/13] try using new docker image --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 0b8f832..c76dea4 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -5,7 +5,7 @@ jobs: test: working_directory: ~/dashjl docker: - - image: plotly/julia:ci + - image: etpinard/dashjl-tests:0.1.0 auth: username: dashautomation password: $DASH_PAT_DOCKERHUB From 1d0a31fc8fc40a52547271da3ebeafb172522fb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 15:06:25 -0400 Subject: [PATCH 05/13] try adding `orbs` --- .circleci/config.yml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c76dea4..34052ad 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,4 +1,8 @@ -version: 2 +version: 2.1 + +orbs: + percy: percy/agent@0.1.3 + browser-tools: circleci/browser-tools@1.2.4 jobs: From 3a7fe9cc38f47efeaa0b6a5ad21baadf90b866d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 15:21:08 -0400 Subject: [PATCH 06/13] try adding `browser-tools/install-browser-tools` step --- .circleci/config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.circleci/config.yml b/.circleci/config.yml index 34052ad..87f3b77 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,6 +17,8 @@ jobs: PERCY_PARALLEL_TOTAL: '-1' PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'True' steps: + - browser-tools/install-browser-tools + - checkout - run: From 57ae6b3af4e0aa2679e52ddc8ca8f07fbaa8473b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 15:23:21 -0400 Subject: [PATCH 07/13] try swapping order --- .circleci/config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 87f3b77..f91c831 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -17,10 +17,10 @@ jobs: PERCY_PARALLEL_TOTAL: '-1' PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: 'True' steps: - - browser-tools/install-browser-tools - - checkout + - browser-tools/install-browser-tools + - run: name: ℹ️ CI Context command: | From f2d0100428bbcfe04faf6c88378e34b328d1caef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 15:57:16 -0400 Subject: [PATCH 08/13] small tweaks to "Integration tests" command --- .circleci/config.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index f91c831..095241a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -43,8 +43,9 @@ jobs: command: | python -m venv venv . venv/bin/activate + pip install --upgrade pip wheel git clone --depth 1 https://github.com/plotly/dash.git -b dev dash-main - cd dash-main && pip install -e .[dev,testing] --progress-bar off && cd ~/dashjl + cd dash-main && pip install -e .[ci,dev,testing] --progress-bar off && cd .. export PATH=$PATH:/home/circleci/.local/bin/ pytest --headless --nopercyfinalize --junitxml=test-reports/dashjl.xml --percy-assets=test/assets/ test/integration/ - store_artifacts: From 8704614329505b036c26a937b56b7eeaf2b3200b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 17:04:04 -0400 Subject: [PATCH 09/13] adapt for HTTP v1 --- .../jl_callback_context/jlcbcx001_modified_response.jl | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/test/integration/callbacks/jl_callback_context/jlcbcx001_modified_response.jl b/test/integration/callbacks/jl_callback_context/jlcbcx001_modified_response.jl index 9656105..689e5fe 100644 --- a/test/integration/callbacks/jl_callback_context/jlcbcx001_modified_response.jl +++ b/test/integration/callbacks/jl_callback_context/jlcbcx001_modified_response.jl @@ -13,10 +13,11 @@ callback!(app, ) do value cookie = HTTP.Cookie("dash_cookie", value * " - cookie") - println(String(cookie, false)) + cookie_str = HTTP.Cookies.stringify(cookie) + println(cookie_str) http_response = callback_context().response - push!(http_response.headers, "Set-Cookie"=>String(cookie, false)) + push!(http_response.headers, "Set-Cookie"=>cookie_str) return value * " - output" end -run_server(app) \ No newline at end of file +run_server(app) From b1836467b30b4d9525aa494ae09def6155a76649 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 17:17:55 -0400 Subject: [PATCH 10/13] fixup cookie test assertion --- test/integration/callbacks/test_callback_context.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/integration/callbacks/test_callback_context.py b/test/integration/callbacks/test_callback_context.py index c239bdc..1e0ef73 100644 --- a/test/integration/callbacks/test_callback_context.py +++ b/test/integration/callbacks/test_callback_context.py @@ -20,7 +20,7 @@ def test_jlcbcx001_modified_response(dashjl): dashjl.wait_for_text_to_equal("#output", "abcd - output") cookie = dashjl.driver.get_cookie("dash_cookie") # cookie gets json encoded - assert cookie["value"] == 'abcd - cookie' + assert cookie["value"] == '"abcd - cookie"' assert not dashjl.get_logs() @@ -34,4 +34,4 @@ def test_jlcbcx002_triggered(dashjl): dashjl.find_element("#" + btn).click() dashjl.wait_for_text_to_equal( "#output", "Just clicked {} for the {} time!".format(btn, i) - ) \ No newline at end of file + ) From 88da7bd5aa560ab136cfbaffc184cbe4e04ecd1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 17:24:36 -0400 Subject: [PATCH 11/13] small syntax tweak --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 095241a..1d400c6 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -63,4 +63,4 @@ workflows: version: 2 build: jobs: - - "test" + - test From 46150bc7550a6ab2b251ebdc2311fbda145ea5f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Fri, 9 Jun 2023 17:24:45 -0400 Subject: [PATCH 12/13] try new percy job --- .circleci/config.yml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 1d400c6..b43e4be 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -55,12 +55,11 @@ jobs: - store_artifacts: path: /tmp/dash_artifacts - - run: - name: 🦔 percy finalize - command: npx percy finalize --all - workflows: version: 2 build: jobs: - test + - percy/finalize_all: + requires: + - test From b50fd8892dfbfcc159eb4c1240a290a98aa74ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89tienne=20T=C3=A9treault-Pinard?= Date: Mon, 12 Jun 2023 15:38:12 -0400 Subject: [PATCH 13/13] try using python 3.7 in docker image so that percy baseline image match --- .circleci/config.yml | 2 +- build/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index b43e4be..f7da0de 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ jobs: test: working_directory: ~/dashjl docker: - - image: etpinard/dashjl-tests:0.1.0 + - image: etpinard/dashjl-tests:0.2.0 auth: username: dashautomation password: $DASH_PAT_DOCKERHUB diff --git a/build/Dockerfile b/build/Dockerfile index a02e085..e0044f1 100644 --- a/build/Dockerfile +++ b/build/Dockerfile @@ -1,4 +1,4 @@ -FROM cimg/python:3.9.9-browsers +FROM cimg/python:3.7.17-browsers MAINTAINER Etienne Tétreault-Pinard "code@etpinard.xyz" RUN sudo apt-get update \