Skip to content

Commit 03553d4

Browse files
committed
New data collected at 2026-03-02_00-02-48
1 parent 79b9a72 commit 03553d4

19 files changed

Lines changed: 97 additions & 137 deletions

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

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,26 @@ jobs:
3939
http-user-agent: ${{ matrix.config.http-user-agent }}
4040
use-public-rspm: true
4141

42+
- name: Pin RSPM snapshot for oldrel-1 dependency resolution
43+
if: ${{ matrix.config.r == 'oldrel-1' }}
44+
run: |
45+
SNAPSHOT_DATE=2026-02-25
46+
SNAPSHOT_RSPM="${RSPM%/latest}/${SNAPSHOT_DATE}"
47+
echo "RSPM=${SNAPSHOT_RSPM}" >> "$GITHUB_ENV"
48+
echo "RENV_CONFIG_REPOS_OVERRIDE=${SNAPSHOT_RSPM}" >> "$GITHUB_ENV"
49+
50+
- uses: r-lib/actions/setup-r-dependencies@v2
51+
if: ${{ matrix.config.r == 'oldrel-1' }}
52+
with:
53+
# ggrepel 0.9.6 currently fails dependency solving on R 4.4.x in CI.
54+
# Pin to the last compatible release for oldrel-1 only.
55+
extra-packages: |
56+
any::rcmdcheck
57+
cran::ggrepel@0.9.5
58+
needs: check
59+
4260
- uses: r-lib/actions/setup-r-dependencies@v2
61+
if: ${{ matrix.config.r != 'oldrel-1' }}
4362
with:
4463
extra-packages: any::rcmdcheck
4564
needs: check

github-actions/languageserver/coverage.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262

6363
- name: Upload test results
6464
if: failure()
65-
uses: actions/upload-artifact@v6
65+
uses: actions/upload-artifact@v7
6666
with:
6767
name: coverage-test-failures
6868
path: ${{ runner.temp }}/package

github-actions/languageserver/rcmdcheck.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ jobs:
7878
id: rcmdcheck
7979
run: |
8080
Rscript -e "rcmdcheck::rcmdcheck(args = c('--as-cran', '--no-manual'), error_on = 'warning')"
81-
- uses: actions/upload-artifact@v6
81+
- uses: actions/upload-artifact@v7
8282
if: failure()
8383
with:
8484
name: ${{ runner.os }}-log

github-actions/mlflow/autoformat.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@ jobs:
3131
with:
3232
sparse-checkout: |
3333
.github
34-
- uses: ./.github/actions/validate-author
3534
- name: judge
3635
id: judge
3736
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
@@ -42,6 +41,7 @@ jobs:
4241
const { comment } = context.payload;
4342
const shouldAutoformat = autoformat.shouldAutoformat(comment);
4443
if (shouldAutoformat) {
44+
await autoformat.validatePermissions(context, github);
4545
await autoformat.createReaction(context, github);
4646
await autoformat.createStatus(context, github, core);
4747
}
@@ -199,7 +199,7 @@ jobs:
199199
outputs:
200200
head_sha: ${{ steps.push.outputs.head_sha }}
201201
steps:
202-
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
202+
- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
203203
id: app-token
204204
with:
205205
app-id: ${{ secrets.APP_ID }}

github-actions/mlflow/docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ jobs:
9494
run: |
9595
if [ -n "$(git status --porcelain api_reference/api_inventory.txt)" ]; then
9696
echo "The API inventory file 'docs/api_reference/api_inventory.txt' is outdated (see the diff below)."
97-
echo "Please update it by running 'make rsthtml' in the 'docs/api_reference' directory."
97+
echo "Please update it by running 'make rsthtml' in the 'docs/api_reference' directory, or post a comment '/autoformat' on this PR if you're a maintainer/collaborator."
9898
echo "If the new APIs should be marked as experimental, please decorate them with '@experimental'."
9999
echo "Diff:"
100100
git diff api_reference/api_inventory.txt
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
name: Duplicate PRs
2+
3+
on:
4+
schedule:
5+
- cron: "0 0 * * *"
6+
workflow_dispatch:
7+
8+
defaults:
9+
run:
10+
shell: bash
11+
12+
jobs:
13+
duplicate-prs:
14+
if: github.repository == 'mlflow/mlflow'
15+
runs-on: ubuntu-slim
16+
permissions:
17+
issues: write
18+
pull-requests: write
19+
timeout-minutes: 10
20+
steps:
21+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
22+
with:
23+
sparse-checkout: |
24+
.github
25+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
26+
with:
27+
script: |
28+
const script = require(".github/workflows/duplicate-prs.js");
29+
await script({ context, github });

github-actions/mlflow/pr-size.yml

Lines changed: 10 additions & 89 deletions
Original file line numberDiff line numberDiff line change
@@ -21,93 +21,14 @@ jobs:
2121
issues: write
2222
timeout-minutes: 5
2323
steps:
24-
- env:
24+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
25+
with:
26+
sparse-checkout: .github/workflows/pr-size.js
27+
sparse-checkout-cone-mode: false
28+
- uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
29+
env:
2530
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
26-
GH_REPO: ${{ github.repository }}
27-
PR_NUMBER: ${{ github.event.pull_request.number }}
28-
PR_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
29-
run: |
30-
size_label=$(node -e '
31-
const { GH_REPO: repo, PR_NUMBER: pr, PR_HEAD_SHA: sha, GH_TOKEN: token } = process.env;
32-
33-
const GENERATED = [
34-
/^mlflow\/protos\/.*\.pyi$/,
35-
/_pb2(_grpc)?\.py$/,
36-
/^uv\.lock$/,
37-
/package-lock\.json$/,
38-
/yarn\.lock$/,
39-
/^docs\/api_reference\/source\/rest-api\.rst$/,
40-
];
41-
42-
const THRESHOLDS = {
43-
XS: 9,
44-
S: 49,
45-
M: 199,
46-
L: 499,
47-
XL: Infinity,
48-
};
49-
50-
async function isGenerated(filename) {
51-
if (GENERATED.some((p) => p.test(filename))) return true;
52-
if (filename.endsWith(".java")) {
53-
try {
54-
const resp = await fetch(
55-
`https://raw.githubusercontent.com/${repo}/${sha}/${filename}`,
56-
{ headers: { Range: "bytes=0-255", Authorization: `token ${token}` } }
57-
);
58-
if (resp.ok) {
59-
const text = await resp.text();
60-
if (text.includes("Generated by the protocol buffer compiler")) return true;
61-
}
62-
} catch (e) { console.warn(filename, e.message); }
63-
}
64-
return false;
65-
}
66-
67-
function getSize(total) {
68-
return Object.entries(THRESHOLDS).find(([, max]) => total <= max)[0];
69-
}
70-
71-
async function main() {
72-
let total = 0;
73-
const maxThreshold = Math.max(...Object.values(THRESHOLDS).filter(isFinite));
74-
for (let page = 1; ; page++) {
75-
const resp = await fetch(
76-
`https://api.github.com/repos/${repo}/pulls/${pr}/files?per_page=100&page=${page}`,
77-
{ headers: { Authorization: `token ${token}` } }
78-
);
79-
const files = await resp.json();
80-
const done = files.length < 100;
81-
for (const f of files) {
82-
if (!(await isGenerated(f.filename))) {
83-
total += f.additions + f.deletions;
84-
}
85-
}
86-
if (done || total > maxThreshold) break;
87-
}
88-
console.log(`size/${getSize(total)}`);
89-
}
90-
91-
main().catch(e => { console.error(e); process.exit(1); });
92-
')
93-
echo "Label: ${size_label}"
94-
95-
# Fetch current labels via gh CLI (one per line, no delimiter issues)
96-
current_labels=$(gh pr view "$PR_NUMBER" --json labels --jq '.labels[].name')
97-
98-
# Remove stale size labels
99-
while read -r label; do
100-
if [[ "$label" == size/* && "$label" != "$size_label" ]]; then
101-
echo "Removing stale label: ${label}"
102-
gh pr edit "$PR_NUMBER" --remove-label "$label" || true
103-
fi
104-
done <<< "$current_labels"
105-
106-
# Add the correct label if not already present
107-
if ! grep -qx "$size_label" <<< "$current_labels"; then
108-
if ! gh label list --search "$size_label" --limit 1 | grep -q "^${size_label}"; then
109-
echo "Creating label: ${size_label}"
110-
gh label create "$size_label" --color ededed --description "Pull request size: ${size_label#size/}"
111-
fi
112-
gh pr edit "$PR_NUMBER" --add-label "$size_label"
113-
fi
31+
with:
32+
script: |
33+
const script = require('./.github/workflows/pr-size.js');
34+
await script({ github, context });

github-actions/mlflow/remove-experimental-decorators.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
env:
2323
RUN_URL: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
2424
steps:
25-
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
25+
- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
2626
id: app-token
2727
with:
2828
app-id: ${{ secrets.APP_ID }}
@@ -66,8 +66,9 @@ jobs:
6666
GH_TOKEN: ${{ steps.app-token.outputs.token }}
6767
BRANCH_NAME: ${{ steps.branch.outputs.branch_name }}
6868
run: |
69-
gh pr create \
69+
PR_URL=$(gh pr create \
7070
--title "Remove expired experimental decorators" \
7171
--body "Generated by [workflow run](${RUN_URL})" \
7272
--base master \
73-
--head "$BRANCH_NAME"
73+
--head "$BRANCH_NAME")
74+
gh pr edit "$PR_URL" --add-label "team-review"

github-actions/mlflow/resolve.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -133,7 +133,7 @@ jobs:
133133
pull-requests: read
134134
timeout-minutes: 30
135135
steps:
136-
- uses: actions/create-github-app-token@d72941d797fd3113feb6b93fd0dec494b13a2547 # v1.12.0
136+
- uses: actions/create-github-app-token@67018539274d69449ef7c02e8e71183d1719ab42 # v2.1.4
137137
id: app-token
138138
with:
139139
app-id: ${{ secrets.APP_ID }}

github-actions/mlflow/ui-preview.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ jobs:
9090
cp /tmp/build.tar.gz /tmp/app-deploy/
9191
cp .github/ui-preview/app.py /tmp/app-deploy/
9292
cp .github/ui-preview/app.yaml /tmp/app-deploy/
93-
echo "$WHEEL_NAME" > /tmp/app-deploy/requirements.txt
93+
echo "./$WHEEL_NAME[genai]" > /tmp/app-deploy/requirements.txt
9494
9595
- name: Upload app files
9696
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2

0 commit comments

Comments
 (0)