diff --git a/.github/workflows/testing.yml b/.github/workflows/testing.yml index 1fc0df1845..7e1c4ff7fa 100644 --- a/.github/workflows/testing.yml +++ b/.github/workflows/testing.yml @@ -91,6 +91,43 @@ jobs: path: packages/ # Upload the contents of the dist directory retention-days: 1 # Keep artifact for 1 day (adjust as needed) + build-windows: + name: Build Dash Package - Windows + runs-on: windows-latest + timeout-minutes: 30 + outputs: + artifact_name: dash-packages + steps: + - name: Checkout repository + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Set up Node.js for frontend build + uses: actions/setup-node@v4 + with: + node-version: '20' + cache: npm + + - name: Install NPM dependencies + run: npm ci + + - name: Set up Python for build + uses: actions/setup-python@v5 + with: + python-version: '3.12' + cache: pip + + - name: Install build dependencies + run: | + python -m pip install --upgrade pip + python -m pip install "setuptools<80.0.0" + python -m pip install build wheel + python -m pip install -e .[dev,ci] + + - name: Build Dash + run: npm run first-build + test-typing: name: Typing Tests runs-on: ubuntu-latest diff --git a/dash/development/update_components.py b/dash/development/update_components.py index 2789be22fd..26279c2d76 100644 --- a/dash/development/update_components.py +++ b/dash/development/update_components.py @@ -43,7 +43,7 @@ def bootstrap_components(components_source, concurrency, install_type): else "{dash-core-components,dash-html-components,dash-table}" ) - cmdstr = f"npx lerna exec --concurrency {concurrency} --scope='{source_glob}' -- npm {install_type}" + cmdstr = f"npx lerna exec --concurrency {concurrency} --scope={source_glob} -- npm {install_type}" cmd = shlex.split(cmdstr, posix=not is_windows) status_print(cmdstr) @@ -79,7 +79,7 @@ def build_components(components_source, concurrency): else "{dash-core-components,dash-html-components,dash-table}" ) - cmdstr = f"npx lerna exec --concurrency {concurrency} --scope='{source_glob}' -- npm run build" + cmdstr = f"npx lerna exec --concurrency {concurrency} --scope={source_glob} -- npm run build" cmd = shlex.split(cmdstr, posix=not is_windows) status_print(cmdstr)