Skip to content

debug

debug #599

on: push
jobs:
check-js-build:
name: Check JS version number and build artifacts
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.x"
- name: Check that version number for JS project matches version number for Python project
run: |
PYPROJECT_PATH="pyproject.toml"
PKGJSON_PATH="js/package.json"
PYPROJECT_VERSION=$(awk -F'"' '/^version/ {print $2; exit}' $PYPROJECT_PATH)
JSPROJECT_VERSION=$(cat $PKGJSON_PATH | jq -r '.version')
if [ "$PYPROJECT_VERSION" != "$JSPROJECT_VERSION" ]; then
echo "❌ Version number $JSPROJECT_VERSION in $PKGJSON_PATH does not match version number $PYPROJECT_VERSION in $PYPROJECT_PATH"
exit 1
else
echo "✅ Version number $JSPROJECT_VERSION in $PKGJSON_PATH matches version number $PYPROJECT_VERSION in $PYPROJECT_PATH"
fi
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: '22'
- name: Copy current files to a temporary directory
run: |
mv plotly/labextension/ plotly/labextension-tmp/
- name: Install dependencies and build
run: |
curl -LsSf https://astral.sh/uv/install.sh | sh
uv venv
source .venv/bin/activate
uv pip install jupyterlab
cd js
npm ci
npm run build
npm ls
- name: Check JupyterLab build artifacts
run: |
# Compare the plotly/labextension and plotly/labextension-tmp directories
diff -r --brief plotly/labextension/ plotly/labextension-tmp/ > labextension_diff.txt
echo "checking for differences between plotly/labextension and plotly/labextension-tmp"
# Check for differences
if [ -s labextension_diff.txt ]; then
echo "❌ Build artifacts differ:"
echo "--- Unexpected diffs ---"
cat labextension_diff.txt
echo "Please replace the 'plotly/labextension' directory with the artifacts of this CI run."
FAIL=0
else
echo "✅ Build artifacts match expected output"
FAIL=0
fi
echo "checked for differences"
echo "FAIL: $FAIL"
sleep 5
exit $((FAIL))
- name: Store the build artifacts from plotly/labextension
uses: actions/upload-artifact@v4
if: failure()
with:
name: labextension
path: plotly/labextension