Skip to content

Commit a70ade2

Browse files
committed
New data collected at 2026-04-13_00-07-47
1 parent edf907a commit a70ade2

31 files changed

Lines changed: 315 additions & 36 deletions

github-actions/bookdown/R-CMD-check.yaml

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,18 +45,15 @@ jobs:
4545
# testing R release with latest pandoc version and their dev version
4646
- {os: windows-latest, pandoc: 'latest', r: 'release'}
4747
- {os: macOS-latest, pandoc: 'latest', r: 'release'}
48+
- {os: ubuntu-latest, pandoc: 'latest', r: 'release'}
4849
- {os: ubuntu-latest, pandoc: 'devel', r: 'release'}
4950
# testing older pandoc versions
50-
- {os: ubuntu-latest, pandoc: '3.1.11', r: 'release'}
51-
- {os: ubuntu-latest, pandoc: '2.19.2', r: 'release'}
52-
- {os: ubuntu-latest, pandoc: '2.18', r: 'release'}
53-
- {os: ubuntu-latest, pandoc: '2.17.1.1', r: 'release'}
54-
- {os: ubuntu-latest, pandoc: '2.16.2', r: 'release'}
51+
- {os: ubuntu-latest, pandoc: '3.6.3', r: 'release'}
5552
# testing other R versions
56-
- {os: ubuntu-latest, pandoc: '3.1.11', r: 'devel', http-user-agent: 'release'}
57-
- {os: ubuntu-latest, pandoc: '3.1.11', r: 'oldrel-1'}
58-
- {os: ubuntu-latest, pandoc: '3.1.11', r: 'oldrel-2'}
59-
- {os: ubuntu-latest, pandoc: '3.1.11', r: 'oldrel-3'}
53+
- {os: ubuntu-latest, pandoc: 'latest', r: 'devel', http-user-agent: 'release'}
54+
- {os: ubuntu-latest, pandoc: 'latest', r: 'oldrel-1'}
55+
- {os: ubuntu-latest, pandoc: 'latest', r: 'oldrel-2'}
56+
- {os: ubuntu-latest, pandoc: 'latest', r: 'oldrel-3'}
6057

6158
env:
6259
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
name: Copilot Setup Steps
2+
3+
on:
4+
workflow_dispatch:
5+
push:
6+
paths:
7+
- .github/workflows/copilot-setup-steps.yml
8+
pull_request:
9+
paths:
10+
- .github/workflows/copilot-setup-steps.yml
11+
12+
jobs:
13+
copilot-setup-steps:
14+
runs-on: ubuntu-latest
15+
16+
permissions:
17+
contents: read
18+
19+
steps:
20+
- name: Checkout code
21+
uses: actions/checkout@HEAD
22+
23+
- name: Install R
24+
uses: r-lib/actions/setup-r@HEAD
25+
with:
26+
use-public-rspm: true
27+
28+
- name: Install TinyTeX
29+
uses: r-lib/actions/setup-tinytex@HEAD
30+
31+
- name: Install Pandoc
32+
uses: r-lib/actions/setup-pandoc@HEAD
33+
34+
- uses: yihui/actions/setup-r-dependencies@HEAD
35+
with:
36+
extra-packages: Rd2roxygen

github-actions/knitr/copilot-setup-steps.yml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,10 @@ jobs:
2424
uses: r-lib/actions/setup-r@HEAD
2525
with:
2626
use-public-rspm: true
27+
28+
- name: Install TinyTeX
29+
uses: r-lib/actions/setup-tinytex@HEAD
30+
31+
- uses: yihui/actions/setup-r-dependencies@HEAD
32+
with:
33+
extra-packages: Rd2roxygen

github-actions/mlflow/autoformat.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,8 @@ jobs:
200200
with:
201201
name: ${{ github.run_id }}.diff
202202
path: ${{ github.run_id }}.diff
203+
retention-days: 1
204+
if-no-files-found: ignore
203205

204206
push:
205207
runs-on: ubuntu-slim
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# Daily benchmark for the MLflow AI Gateway to catch performance regressions.
2+
# Runs against both sqlite (1 instance) and postgres (4 instances + nginx) backends.
3+
#
4+
# THRESHOLD CALIBRATION: The default threshold values below are conservative
5+
# starting points. Run this workflow a few times and tighten thresholds to
6+
# ~2x the observed average. Override per-run via workflow_dispatch inputs.
7+
name: MLflow Gateway Benchmark
8+
9+
on:
10+
schedule:
11+
# Run daily at 06:00 UTC (off-peak; slow-tests runs at 13:00)
12+
- cron: "0 6 * * *"
13+
workflow_dispatch:
14+
inputs:
15+
requests:
16+
description: "Requests per run"
17+
required: false
18+
default: "200"
19+
max_concurrent:
20+
description: "Max concurrent requests (blank = use per-backend default: 10 for both)"
21+
required: false
22+
default: ""
23+
max_p50_ms:
24+
description: "Max P50 latency ms (blank = use per-backend default)"
25+
required: false
26+
default: ""
27+
max_p99_ms:
28+
description: "Max P99 latency ms (blank = use per-backend default)"
29+
required: false
30+
default: ""
31+
32+
concurrency:
33+
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref }}
34+
cancel-in-progress: true
35+
36+
defaults:
37+
run:
38+
shell: bash
39+
40+
jobs:
41+
benchmark:
42+
runs-on: ubuntu-latest
43+
timeout-minutes: 30
44+
permissions:
45+
contents: read
46+
if: (github.event_name == 'schedule' && github.repository == 'mlflow/mlflow') || github.event_name == 'workflow_dispatch'
47+
strategy:
48+
fail-fast: false
49+
matrix:
50+
backend: [sqlite, postgres]
51+
include:
52+
- backend: sqlite
53+
instances: 1
54+
default_max_concurrent: 10
55+
default_max_p50_ms: 300
56+
default_max_p99_ms: 800
57+
- backend: postgres
58+
instances: 4
59+
default_max_concurrent: 10
60+
default_max_p50_ms: 400
61+
default_max_p99_ms: 1000
62+
steps:
63+
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
64+
with:
65+
persist-credentials: false
66+
- uses: ./.github/actions/setup-python
67+
- name: Install dependencies
68+
env:
69+
BACKEND: ${{ matrix.backend }}
70+
run: |
71+
uv sync --extra gateway
72+
if [[ "$BACKEND" == "postgres" ]]; then
73+
uv pip install "psycopg2-binary>=2.9,<3"
74+
fi
75+
- name: Run benchmark (${{ matrix.backend }})
76+
env:
77+
MLFLOW_ENABLE_INCREMENTAL_SPAN_EXPORT: "true"
78+
MLFLOW_USE_BATCH_SPAN_PROCESSOR: "true"
79+
MLFLOW_ENABLE_ASYNC_TRACE_LOGGING: "true"
80+
BACKEND: ${{ matrix.backend }}
81+
INSTANCES: ${{ matrix.instances }}
82+
DEFAULT_MAX_CONCURRENT: ${{ matrix.default_max_concurrent }}
83+
DEFAULT_MAX_P50_MS: ${{ matrix.default_max_p50_ms }}
84+
DEFAULT_MAX_P99_MS: ${{ matrix.default_max_p99_ms }}
85+
REQUESTS: ${{ github.event_name == 'workflow_dispatch' && inputs.requests || '200' }}
86+
MAX_CONCURRENT_OVERRIDE: ${{ github.event_name == 'workflow_dispatch' && inputs.max_concurrent || '' }}
87+
MAX_P50_MS_OVERRIDE: ${{ github.event_name == 'workflow_dispatch' && inputs.max_p50_ms || '' }}
88+
MAX_P99_MS_OVERRIDE: ${{ github.event_name == 'workflow_dispatch' && inputs.max_p99_ms || '' }}
89+
run: |
90+
MAX_CONCURRENT="${MAX_CONCURRENT_OVERRIDE:-$DEFAULT_MAX_CONCURRENT}"
91+
MAX_P50_MS="${MAX_P50_MS_OVERRIDE:-$DEFAULT_MAX_P50_MS}"
92+
MAX_P99_MS="${MAX_P99_MS_OVERRIDE:-$DEFAULT_MAX_P99_MS}"
93+
ARGS=(
94+
--instances "$INSTANCES"
95+
--database "$BACKEND"
96+
--requests "$REQUESTS"
97+
--max-concurrent "$MAX_CONCURRENT"
98+
--max-p50-ms "$MAX_P50_MS"
99+
--max-p99-ms "$MAX_P99_MS"
100+
--runs 3
101+
)
102+
uv run --no-sync dev/benchmarks/gateway/run.py "${ARGS[@]}" \
103+
--output "benchmark-results-$BACKEND.json"
104+
- uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f # v7.0.0
105+
if: always()
106+
with:
107+
name: benchmark-results-${{ matrix.backend }}-${{ github.run_id }}
108+
path: benchmark-results-${{ matrix.backend }}.json
109+
retention-days: 30
110+
if-no-files-found: warn

github-actions/mlflow/issue-warning.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ defaults:
1010

1111
jobs:
1212
prepend-warning:
13-
if: github.repository == 'mlflow/mlflow'
13+
if: >-
14+
github.repository == 'mlflow/mlflow' &&
15+
github.event.issue.created_at >= '2026-03-10T00:00:00Z'
1416
runs-on: ubuntu-slim
1517
timeout-minutes: 5
1618
permissions:

github-actions/mlflow/lint.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,9 @@ jobs:
5959
- name: Add problem matchers
6060
if: matrix.os == 'ubuntu-latest'
6161
run: |
62-
echo "::add-matcher::.github/workflows/matchers/clint.json"
63-
echo "::add-matcher::.github/workflows/matchers/format.json"
64-
echo "::add-matcher::.github/workflows/matchers/ruff.json"
65-
echo "::add-matcher::.github/workflows/matchers/typos.json"
62+
for f in .github/workflows/matchers/*.json; do
63+
echo "::add-matcher::$f"
64+
done
6665
- name: Install Python dependencies
6766
run: |
6867
uv sync --locked --only-group lint --only-group pytest

github-actions/mlflow/master.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -438,4 +438,6 @@ jobs:
438438
--ignore=tests/gateway \
439439
--ignore=tests/server/auth \
440440
--ignore=tests/data/test_spark_dataset.py \
441-
--ignore=tests/docker
441+
--ignore=tests/data/test_spark_dataset_source.py \
442+
--ignore=tests/docker \
443+
--ignore=tests/demo

github-actions/mlflow/preview-docs.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,15 @@ jobs:
5757
name: docs-build-${{ github.event.workflow_run.id }}
5858
path: ${{ env.DOCS_BUILD_DIR }}
5959
- uses: ./.github/actions/setup-node
60-
- name: Install Netlify CLI
61-
working-directory: .github/netlify
62-
run: npm ci
6360
- name: Deploy to Netlify
6461
id: netlify_deploy
65-
working-directory: .github/netlify
6662
env:
6763
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
6864
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
6965
ALIAS: ${{ steps.alias.outputs.value }}
7066
RUN_ID: ${{ github.run_id }}
7167
run: |-
72-
OUTPUT=$(npm run --silent deploy -- \
68+
OUTPUT=$(npx --min-release-age=14 --yes netlify-cli deploy \
7369
--dir="$DOCS_BUILD_DIR" \
7470
--no-build \
7571
--message="Preview ${ALIAS} - GitHub Run ID: $RUN_ID" \

github-actions/mlflow/push-images.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ defaults:
1212

1313
jobs:
1414
push-images:
15-
if: "!contains(github.ref_name, 'rc')"
15+
# Only run for version tags (vX.Y.Z); skips non-version release tags like `model-catalog/latest`.
16+
if: "startsWith(github.ref_name, 'v') && !contains(github.ref_name, 'rc')"
1617
runs-on: ubuntu-latest
1718
timeout-minutes: 30
1819
permissions:

0 commit comments

Comments
 (0)