Skip to content

Fix CI #3305

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

Merged
merged 60 commits into from
May 28, 2025
Merged

Fix CI #3305

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
5ab414b
ignore selecteccontent html attributes & update extracted descriptions
T4rk1n May 12, 2025
1a63fa8
run test typing on github workflow
T4rk1n May 12, 2025
7cabf51
Do not change dir in typing test
T4rk1n May 12, 2025
b5584c9
Make build run-p
T4rk1n May 13, 2025
3683791
test typing from package
T4rk1n May 13, 2025
c3a30a3
lock celery version
T4rk1n May 13, 2025
2fb052b
show requirements
T4rk1n May 14, 2025
aa43b57
show installed deps
T4rk1n May 20, 2025
5b57769
show installed deps
T4rk1n May 20, 2025
67ef820
print more info in bg cb
T4rk1n May 20, 2025
b7651c9
Update cimg/redis version
T4rk1n May 21, 2025
a2ea445
lock kombu/celery 5.4
T4rk1n May 22, 2025
20dcc0a
lock setuptools<80.0.0
T4rk1n May 22, 2025
42dc320
update cimg/python:3.12.10
T4rk1n May 22, 2025
3fb5c3c
try pip < 25
T4rk1n May 22, 2025
904e29d
Add debug step
T4rk1n May 22, 2025
9a9246c
fix indent
T4rk1n May 22, 2025
664e0b3
move background tests to github workflow
T4rk1n May 22, 2025
644083c
fix pip install local
T4rk1n May 22, 2025
061d690
install chromedriver
T4rk1n May 22, 2025
08cbcb7
install newer selenium
T4rk1n May 23, 2025
1e9f276
Remove loggingPrefs
T4rk1n May 23, 2025
f102fb2
Try headless
T4rk1n May 23, 2025
9771990
add user-data-dir option
T4rk1n May 23, 2025
ae3d88e
python 3.9 lower bound for background tests.
T4rk1n May 23, 2025
5185f1f
lock plotly.py <6.1.0
T4rk1n May 23, 2025
05d7983
remove experimental chrome options
T4rk1n May 23, 2025
cad8137
headless by argument
T4rk1n May 23, 2025
149e3c0
fix app1
T4rk1n May 23, 2025
0e31163
fix redis url
T4rk1n May 23, 2025
346da10
Add back loggingPrefs
T4rk1n May 23, 2025
0d946ad
cleanup
T4rk1n May 23, 2025
e47cfd8
add back experimental download
T4rk1n May 23, 2025
0d8e66f
set cbcx005 flaky
T4rk1n May 23, 2025
2b0a223
set grrs002 flaky
T4rk1n May 23, 2025
9f50bd8
remove version lock
T4rk1n May 23, 2025
63fa5d1
lock setuptools<80 in typing tests
T4rk1n May 23, 2025
65245f2
Remove redis from circleci
T4rk1n May 26, 2025
d32b559
build
T4rk1n May 26, 2025
85f1d3f
remove on pull_request already covered by on push
T4rk1n May 26, 2025
7a22ab2
Move table tests to workflow
T4rk1n May 26, 2025
21f8bfc
remove table server from percy
T4rk1n May 26, 2025
6726953
npm ci before setup-python
T4rk1n May 26, 2025
3317e81
build from root
T4rk1n May 26, 2025
987971a
headless table tests.
T4rk1n May 26, 2025
92380b1
Skip cbcx005
T4rk1n May 26, 2025
3188680
fix skip
T4rk1n May 26, 2025
dd1084e
Split table tests
T4rk1n May 27, 2025
9e424dc
consolidate github tests
T4rk1n May 27, 2025
e0a8939
consolidate github tests
T4rk1n May 27, 2025
108f7d9
Fix background tests install celery,diskcache
T4rk1n May 27, 2025
e3f5e99
cd tests
T4rk1n May 27, 2025
fd0a815
install -e .
T4rk1n May 27, 2025
f83a1c3
Try something
T4rk1n May 27, 2025
c6476ef
setuptools 78 for bg
T4rk1n May 27, 2025
718d460
Try pythonpath
T4rk1n May 27, 2025
a9832dd
Try copy bg tests.
T4rk1n May 28, 2025
1cb0326
Only runs table tests if there is changes on dash-table or dash-renderer
T4rk1n May 28, 2025
4c81c35
use commit for change filter and flaky cbcx003
T4rk1n May 28, 2025
424be77
skip cbcx003
T4rk1n May 28, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
179 changes: 12 additions & 167 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ orbs:
jobs:
artifacts:
docker:
- image: cimg/python:3.12.1
- image: cimg/python:3.12.10
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand All @@ -31,7 +31,7 @@ jobs:
install-dependencies-312: &install-dependencies
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-node
- image: cimg/python:3.12.10-node
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand All @@ -49,7 +49,8 @@ jobs:
name: 🏁 Build Component Packages & Update Dependencies/Artifacts
command: |
python -m venv venv && . venv/bin/activate
pip install --upgrade pip wheel setuptools
pip install "pip<25.0"
pip install --upgrade wheel setuptools
set -eo pipefail
pip install -e .[ci,dev,testing,celery,diskcache] --progress-bar off
pip list | grep dash
Expand Down Expand Up @@ -89,7 +90,7 @@ jobs:
lint-unit-312: &lint-unit
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
- image: cimg/python:3.12.10-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand Down Expand Up @@ -175,7 +176,7 @@ jobs:
test-312: &test
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
- image: cimg/python:3.12.10-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand All @@ -184,11 +185,6 @@ jobs:
PERCY_PARALLEL_TOTAL: -1
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: True
PYVERSION: python312
REDIS_URL: redis://localhost:6379
- image: cimg/redis:6.2.6
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
parallelism: 3
steps:
- checkout:
Expand All @@ -200,6 +196,7 @@ jobs:
sudo apt-get update
- run: echo $PYVERSION > ver.txt
- run: cat requirements/*.txt > requirements-all.txt
- run: cat requirements-all.txt
- restore_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requirements-all.txt" }}
- browser-tools/install-browser-tools:
Expand All @@ -212,9 +209,10 @@ jobs:
name: ️️🏗️ Install package
command: |
. venv/bin/activate
pip install "pip<25"
npm ci
pip install dash-package/dash-package.tar.gz[ci,dev,testing,celery,diskcache] --progress-bar off
pip list | grep dash
pip list
- run:
name: 🧪 Run Integration Tests
command: |
Expand All @@ -238,16 +236,11 @@ jobs:
PERCY_ENABLE: 0
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD: True
PYVERSION: python38
REDIS_URL: redis://localhost:6379
- image: cimg/redis:6.2.6
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB

dcc-lint-unit-312: &dcc-lint-unit
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-node
- image: cimg/python:3.12.10-node
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand Down Expand Up @@ -284,7 +277,7 @@ jobs:
dcc-312: &dcc-test
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
- image: cimg/python:3.12.10-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand Down Expand Up @@ -345,7 +338,7 @@ jobs:
html-312: &html-test
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
- image: cimg/python:3.12.10-browsers
auth:
username: dashautomation
password: $DASH_PAT_DOCKERHUB
Expand Down Expand Up @@ -411,105 +404,6 @@ jobs:
PYVERSION: python38
PERCY_ENABLE: 0

table-server: &table-server
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
environment:
PYVERSION: python312
PERCY_ENABLE: 1
PERCY_PARALLEL_TOTAL: -1

parallelism: 5

steps:
- checkout:
path: ~/dash
- run:
name: Add chrome keys & update.
command: |
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
- run: echo $PYVERSION > ver.txt
- run: cat requirements/*.txt > requirements-all.txt
- restore_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requirements-all.txt" }}
- browser-tools/install-browser-tools:
chrome-version: 120.0.6099.71
install-firefox: false
install-geckodriver: false
- attach_workspace:
at: ~/dash
- run:
name: ️️🏗️ Install package
command: |
. venv/bin/activate
pip install dash-package/dash-package.tar.gz[ci,dev,testing,celery,diskcache] --progress-bar off
pip list | grep dash
- run:
name: Inject Percy Environment variables
command: |
echo 'export PERCY_TOKEN="$PERCY_TOKEN"' >> $BASH_ENV
- run:
name: Run tests
command: |
. venv/bin/activate
cd components/dash-table
TESTFILES=$(circleci tests glob "tests/selenium/**/test_*.py" | circleci tests split --split-by=timings)
pytest --nopercyfinalize --junitxml=test-reports/junit_intg.xml --junitprefix="components.dash-table" ${TESTFILES}
- store_artifacts:
path: ~/dash/components/dash-table/test-reports
- store_test_results:
path: ~/dash/components/dash-table/test-reports
- store_artifacts:
path: /tmp/dash_artifacts

table-unit-test:
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-browsers
environment:
PYVERSION: python312
PERCY_ENABLE: 0
steps:
- checkout:
path: ~/dash
- run:
name: Add chrome keys & update.
command: |
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
sudo apt-get update
- run: echo $PYVERSION > ver.txt
- run: cat requirements/*.txt > requirements-all.txt
- restore_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requirements-all.txt" }}
- restore_cache:
key: table-{{ checksum "components/dash-table/package.json" }}-{{ checksum "components/dash-table/package-lock.json" }}
- browser-tools/install-browser-tools:
chrome-version: 120.0.6099.71
install-firefox: false
install-geckodriver: false
- attach_workspace:
at: ~/dash
- run:
name: ️️🏗️ Install package and table deps
command: |
. venv/bin/activate
pip install dash-package/dash-package.tar.gz[ci,dev,testing,celery,diskcache] --progress-bar off
pip list | grep dash
cd components/dash-table
npm ci
- save_cache:
key: table-{{ checksum "components/dash-table/package.json" }}-{{ checksum "components/dash-table/package-lock.json" }}
paths:
- components/dash-table/node_modules
- run:
name: Run tests
command: |
. venv/bin/activate
cd components/dash-table
npm run test.unit

table-visual-test:
working_directory: ~/dash/components/dash-table
docker:
Expand Down Expand Up @@ -546,45 +440,6 @@ jobs:
- store_artifacts:
path: storybook-static

table-node:
working_directory: ~/dash
docker:
- image: cimg/python:3.12.1-node
environment:
PYVERSION: python312
PERCY_ENABLE: 0
steps:
- checkout:
path: ~/dash
- run: echo $PYVERSION > ver.txt
- run: cat requirements/*.txt > requirements-all.txt
- restore_cache:
key: dep-{{ checksum ".circleci/config.yml" }}-{{ checksum "ver.txt" }}-{{ checksum "requirements-all.txt" }}
- restore_cache:
key: dep-{{ .Branch }}-{{ checksum "components/dash-table/package-lock.json" }}-{{ checksum "components/dash-table/package.json" }}
- run:
name: Install package.json
command: cd components/dash-table && npm ci
- save_cache:
key: dep-{{ .Branch }}-{{ checksum "components/dash-table/package-lock.json" }}-{{ checksum "components/dash-table/package.json" }}
paths:
- components/dash-table/node_modules
- attach_workspace:
at: ~/dash
- run:
name: Install requirements
command: |
. venv/bin/activate
pip install dash-package/dash-package.tar.gz[ci,dev,testing]

- run:
name: Run eslint
command: |
. venv/bin/activate
cd components/dash-table
npm run lint
when: always

workflows:
version: 2
tests:
Expand Down Expand Up @@ -629,23 +484,13 @@ workflows:
requires:
- install-dependencies-38

- table-node:
requires:
- install-dependencies-312
- table-unit-test:
requires:
- install-dependencies-312
- table-visual-test
- table-server:
requires:
- install-dependencies-312

- percy/finalize_all:
requires:
- test-312
- dcc-312
- html-312
- table-server
- artifacts:
requires:
- percy/finalize_all
Expand Down
Loading