Skip to content

Commit 42d1d76

Browse files
authored
Merge pull request #5737 from plotly/cleanup-ci-workflows
[CHORE]: CI workflow cleanup and tightening
2 parents 7c4ee83 + 80df693 commit 42d1d76

10 files changed

Lines changed: 49 additions & 18 deletions

File tree

.github/actions/setup-chrome-for-pytest/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ runs:
55
steps:
66
- name: Set up Chrome
77
id: setup-chrome
8-
uses: browser-actions/setup-chrome@4f8e94349a351df0f048634f25fec36c3c91eded # v2.1.1
8+
uses: browser-actions/setup-chrome@48ad923757ca74d66703209fe939badbdf80f2f4 # v2.2.0
99
with:
1010
install-chromedriver: true
1111
- name: Set BROWSER env var

.github/dependabot.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@ updates:
2020

2121
# Update pinned versions for third-party GitHub Actions workflows
2222
- package-ecosystem: "github-actions"
23-
directory: "/"
23+
directories:
24+
- "/" # Only covers .github/workflows/
25+
- "/.github/actions/*" # Covers all subdirectories under .github/actions/
2426
schedule:
2527
interval: "weekly"
2628
groups:

.github/workflows/build-doc.yml

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
pull_request:
88
types: [opened, reopened, synchronize]
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
build-doc:
1215
runs-on: ubuntu-latest
@@ -42,8 +45,13 @@ jobs:
4245
cd doc
4346
source .venv/bin/activate
4447
make -kj8 || make -kj8
45-
curl https://raw.githubusercontent.com/plotly/graphing-library-docs/master/front-matter-ci.py > front-matter-ci.py
46-
curl https://raw.githubusercontent.com/plotly/graphing-library-docs/master/check-or-enforce-order.py > check-or-enforce-order.py
48+
# Fetch scripts from plotly/graphing-library-docs, pinned to a specific commit SHA
49+
# to guard against unauthorized changes in that repo. If changes are made to the
50+
# below-referenced scripts in plotly/graphing-library-docs, update DOCS_CI_REF
51+
# accordingly to point to the latest commit SHA.
52+
DOCS_CI_REF=e05eaed1ae800139df084e0587762aa273a4f19d
53+
curl -fsSL https://raw.githubusercontent.com/plotly/graphing-library-docs/$DOCS_CI_REF/front-matter-ci.py > front-matter-ci.py
54+
curl -fsSL https://raw.githubusercontent.com/plotly/graphing-library-docs/$DOCS_CI_REF/check-or-enforce-order.py > check-or-enforce-order.py
4755
python front-matter-ci.py build/html
4856
python check-or-enforce-order.py build/html
4957

.github/workflows/build-package.yml

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
pull_request:
88
types: [opened, reopened, synchronize]
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
plotlyjs-dev-build:
1215
name: plotly.js dev build
@@ -27,7 +30,7 @@ jobs:
2730
run: |
2831
uv venv
2932
source .venv/bin/activate
30-
uv sync --extra dev_optional
33+
uv sync --locked --extra dev_optional
3134
- name: Update plotly.js to dev
3235
run: |
3336
source .venv/bin/activate
@@ -39,7 +42,7 @@ jobs:
3942
- name: Build source distribution packages
4043
run: |
4144
source .venv/bin/activate
42-
uv sync --extra dev_build
45+
uv sync --locked --extra dev_build
4346
python -m build --sdist --wheel -o dist
4447
- name: Upload dist artifacts
4548
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
@@ -67,7 +70,7 @@ jobs:
6770
run: |
6871
uv venv
6972
source .venv/bin/activate
70-
uv sync --extra dev_build
73+
uv sync --locked --extra dev_build
7174
cd js
7275
npm ci
7376
npm run build

.github/workflows/check-codegen.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
pull_request:
88
types: [opened, reopened, synchronize]
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
check-python-codegen:
1215
name: Check Python codegen
@@ -26,7 +29,7 @@ jobs:
2629
uv venv
2730
source .venv/bin/activate
2831
uv lock --check
29-
uv sync --extra dev_codegen
32+
uv sync --locked --extra dev_codegen
3033
- name: Run codegen
3134
run: |
3235
source .venv/bin/activate

.github/workflows/check-formatting.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
pull_request:
88
types: [opened, reopened, synchronize]
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
check-code-formatting:
1215
name: Run ruff check
@@ -23,7 +26,7 @@ jobs:
2326
run: |
2427
uv venv
2528
source .venv/bin/activate
26-
uv sync --extra dev_core
29+
uv sync --locked --extra dev_core
2730
- name: Check handwritten code with ruff
2831
run: |
2932
source .venv/bin/activate

.github/workflows/check-js-build.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,16 @@ on:
33
branches:
44
- main
55
pull_request:
6-
types: [opened, reopened]
6+
types: [opened, reopened, synchronize]
77
paths:
88
- 'js/**'
99
- 'plotly/labextension/**'
1010

1111
name: Check JS build
1212

13+
permissions:
14+
contents: read
15+
1316
jobs:
1417
check-js-build:
1518
name: Check JS version number and build artifacts
@@ -51,7 +54,7 @@ jobs:
5154
source .venv/bin/activate
5255
# Technically, we only need the `jupyter-builder` package, but using the dev_build extra
5356
# keeps build behavior consistent across all CI jobs
54-
uv sync --extra dev_build
57+
uv sync --locked --extra dev_build
5558
cd js
5659
npm ci
5760
npm run build

.github/workflows/run-percy.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ on:
88
types: [opened, reopened, synchronize]
99
workflow_dispatch:
1010

11+
permissions:
12+
contents: read
13+
1114
jobs:
1215
python-311-percy:
1316
name: Run Percy
@@ -36,7 +39,7 @@ jobs:
3639
run: |
3740
uv venv
3841
source .venv/bin/activate
39-
uv sync --extra dev_optional
42+
uv sync --locked --extra dev_optional
4043
- name: Build HTML figures (Pandas 2)
4144
run: |
4245
source .venv/bin/activate

.github/workflows/run-pytest.yml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ on:
77
pull_request:
88
types: [opened, reopened, synchronize]
99

10+
permissions:
11+
contents: read
12+
1013
jobs:
1114
test-core:
1215
name: Core tests (Python ${{ matrix.python-version }})
@@ -28,7 +31,7 @@ jobs:
2831
uv venv
2932
source .venv/bin/activate
3033
uv lock --check
31-
uv sync --extra dev_core
34+
uv sync --locked --extra dev_core
3235
python --version
3336
- name: Test core
3437
run: |
@@ -56,7 +59,7 @@ jobs:
5659
run: |
5760
uv venv
5861
source .venv/bin/activate
59-
uv sync --extra dev_optional --extra dev_pandas3
62+
uv sync --locked --extra dev_optional --extra dev_pandas3
6063
python --version
6164
- name: Test core
6265
run: |
@@ -108,7 +111,7 @@ jobs:
108111
run: |
109112
uv venv
110113
source .venv/bin/activate
111-
uv sync --extra dev_optional --extra dev_pandas${{ matrix.pandas-version }}
114+
uv sync --locked --extra dev_optional --extra dev_pandas${{ matrix.pandas-version }}
112115
- name: Test core
113116
run: |
114117
source .venv/bin/activate
@@ -153,7 +156,7 @@ jobs:
153156
run: |
154157
uv venv
155158
source .venv/bin/activate
156-
uv sync --extra dev_optional
159+
uv sync --locked --extra dev_optional
157160
uv pip uninstall kaleido
158161
uv pip install kaleido==0.2.1
159162
python --version

.github/workflows/test-release.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,9 @@ name: Test release
33
on:
44
workflow_dispatch
55

6+
permissions:
7+
contents: read
8+
69
jobs:
710
build:
811
name: Full prod build
@@ -68,6 +71,6 @@ jobs:
6871
name: python-package-distributions
6972
path: dist/
7073
- name: Publish distribution 📦 to TestPyPI
71-
uses: pypa/gh-action-pypi-publish@release/v1
74+
uses: pypa/gh-action-pypi-publish@dc37677b2e1c63e2034f94d8a5b11f265b73ba33 # v1.14.2
7275
with:
73-
repository-url: https://test.pypi.org/legacy/
76+
repository-url: https://test.pypi.org/legacy/

0 commit comments

Comments
 (0)