Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
8740b02
add batch to llmodel
tomerm-iguazio Jan 14, 2026
473dd86
add unit tests
tomerm-iguazio Jan 14, 2026
15b7fe7
add test_model_runner_batch_with_openai, not testes
tomerm-iguazio Jan 14, 2026
4527375
Merge branch 'hf_batch' into llmodel_batch
tomerm-iguazio Jan 14, 2026
a8144c5
remove log
tomerm-iguazio Jan 14, 2026
feef64c
set_data_by_path supports data (body) as a list now
tomerm-iguazio Jan 14, 2026
502cb1d
comment
tomerm-iguazio Jan 15, 2026
a0d6d7c
[Requirements] Bump storey (#9220)
gtopper Jan 19, 2026
1fa8b2f
update test_model_runner_batch_with_openai
tomerm-iguazio Jan 19, 2026
86b020b
Merge branch 'hf_batch' into llmodel_batch
tomerm-iguazio Jan 19, 2026
aae9f44
finished test_model_runner_batch_with_openai.py test run
tomerm-iguazio Jan 19, 2026
71790a8
move create_mocked_get_store_artifact to remote_model_utils.py
tomerm-iguazio Jan 19, 2026
bea10cd
finished sync test_model_runner_batch_with_mock
tomerm-iguazio Jan 19, 2026
e2c0c03
finished test_llmodel_batch + mm
tomerm-iguazio Jan 19, 2026
564587c
finished test_llmodel_batch + mm 2
tomerm-iguazio Jan 19, 2026
3fd8f1a
batch complete in test_remote_model.py
tomerm-iguazio Jan 19, 2026
805180d
Merge branch 'hf_batch' into llmodel_batch
tomerm-iguazio Jan 19, 2026
75f73c2
[CI] Adjust artifactory docker repo default
pioardi Jan 19, 2026
c8beba7
[RemoteModels] HuggingFace batch Support (#9206)
tomerm-iguazio Jan 19, 2026
91956c6
[CI] Release promotion solve double slash
pioardi Jan 20, 2026
a91f1a5
[CI] Revert commit Release promotion solve double slash
pioardi Jan 20, 2026
1a77a6f
[CLI] Add load-source command for single-file artifact loading (#9224)
Yacouby Jan 20, 2026
b5c0b4c
[CI] make default input the good one for real releases
pioardi Jan 20, 2026
3c33840
add support for batching in system_steps.py. need to update single in…
tomerm-iguazio Jan 20, 2026
dda3893
finished test_remote_model.py
tomerm-iguazio Jan 20, 2026
81dc223
update test_tracking tests.
tomerm-iguazio Jan 20, 2026
48db7c8
Merge branch 'upstream-development' into llmodel_batch
tomerm-iguazio Jan 20, 2026
3759716
[Requirements] Bump nuclio-jupyter (#9229)
liranbg Jan 20, 2026
32d5d30
[Docs] Add TimescaleDB and remove TDEngine (#9179)
jillnogold Jan 20, 2026
b469a49
[SDK] Fix project enrichment after save (#9228)
liranbg Jan 21, 2026
286d576
[Runtime] Forbid Using Specific Service Accounts in MLRun Jobs (#9223)
quaark Jan 21, 2026
03b3d80
add test_model_runner_batch_with_hf
tomerm-iguazio Jan 21, 2026
9536d7c
add test_llmodel_tracking (passed), without mm
tomerm-iguazio Jan 21, 2026
24f1b8a
refactor test_remote_model.py to avoid code duplications
tomerm-iguazio Jan 21, 2026
6ece58b
[Serving] Resolve the final step within cyclic graph (#9199)
davesh0812 Jan 21, 2026
e6814e8
[CI] Private release improvements (#9231)
pioardi Jan 21, 2026
fbfcb68
add test_llmodel_tracking model monitoring (not tested yet)
tomerm-iguazio Jan 21, 2026
856948f
finished TestMockModelProviderTracking
tomerm-iguazio Jan 21, 2026
4f88042
fixed TestMockModelProviderTracking
tomerm-iguazio Jan 21, 2026
fbaa2f4
fixed test_shared_llm_with_model_runner
tomerm-iguazio Jan 21, 2026
358a835
Merge branch 'upstream-development' into llmodel_batch
tomerm-iguazio Jan 21, 2026
6bcfbea
[Context] Propagate request context headers across internal service c…
TomerShor Jan 21, 2026
f01a9cd
Merge branch 'upstream-development' into llmodel_batch
tomerm-iguazio Jan 22, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
74 changes: 69 additions & 5 deletions .github/workflows/private-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ name: Private Release
run-name: Privately ( artifactory only ) releasing ${{ inputs.version }} (${{ github.ref_name }})

permissions:
# Read repository contents
contents: read
# Write repository contents (needed to push tags)
contents: write
packages: write

on:
Expand All @@ -35,7 +35,7 @@ on:
artifactory_docker_repo:
description: 'Artifactory docker repository name'
required: false
default: 'mlrun-staging/mlrun'
default: 'mlrun-staging'
type: string
artifactory_pypi_repo:
description: 'Artifactory PyPI repository name'
Expand Down Expand Up @@ -95,18 +95,27 @@ jobs:
env:
BUMP_VERSION_MODE_INPUT: ${{ github.event.inputs.bump_version_mode }}
VERSION_INPUT: ${{ github.event.inputs.version }}
ARTIFACTORY_DOCKER_REPO: ${{ github.event.inputs.artifactory_docker_repo }}
ARTIFACTORY_PYPI_REPO: ${{ github.event.inputs.artifactory_pypi_repo }}
UI_REF_INPUT: ${{ github.event.inputs.ui_ref }}

- name: Display calculated version
run: |
echo "## 🚀 Private Release" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Version:** \`${{ steps.resolve.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Branch:** \`${{ github.ref_name }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Previous Version:** \`${{ steps.resolve.outputs.previous_version }}\`" >> $GITHUB_STEP_SUMMARY
echo "**Is Stable:** \`${{ steps.resolve.outputs.is_stable_version }}\`" >> $GITHUB_STEP_SUMMARY


trigger-and-wait-for-mlrun-image-building:
name: Build and push images to Artifactory
needs: prepare-inputs
uses: ./.github/workflows/build-internal.yaml
with:
version: ${{ needs.prepare-inputs.outputs.version }}
runner: 'mlrun-release'
docker_repo: ${{ inputs.artifactory_docker_repo }}
docker_repo: ${{ inputs.artifactory_docker_repo }}/mlrun
is_private_release: true
# On the fork the caches needs to be disabled because ghcr is hardcoded and used for caches.
# Having to use mlrun ( due to some product limitations) causes permission issues on forks only, we could set this to true once merged.
Expand Down Expand Up @@ -170,3 +179,58 @@ jobs:
UV_PUBLISH_USERNAME: ${{ secrets.ARTIFACTORY_USERNAME }}
UV_PUBLISH_PASSWORD: ${{ secrets.ARTIFACTORY_PASSWORD }}
run: uv run --no-project --with packaging~=25.0 make publish-package

create-tag:
name: Create tag
runs-on: ubuntu-latest
needs: [prepare-inputs, trigger-and-wait-for-ui-image-building, trigger-and-wait-for-mlrun-image-building, publish-to-artifactory]
steps:
- uses: actions/checkout@v6

- name: Create git tag for mlrun version
run: |
git config user.name "github-actions[bot]"
git config user.email "github-actions[bot]@users.noreply.github.com"
git tag -a "v${{ needs.prepare-inputs.outputs.version }}" -m "Release v${{ needs.prepare-inputs.outputs.version }}"
git push origin "v${{ needs.prepare-inputs.outputs.version }}"
echo "✅ Created and pushed tag: v${{ needs.prepare-inputs.outputs.version }}"

- name: Generate GitHub App Token for ui repo
id: ui-app-token
uses: actions/create-github-app-token@v2
with:
app-id: ${{ secrets.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: ui

- name: Create git tag for UI repo
env:
GH_TOKEN: ${{ steps.ui-app-token.outputs.token }}
run: |
VERSION="v${{ needs.prepare-inputs.outputs.version }}"
UI_REF="${{ needs.prepare-inputs.outputs.ui_ref }}"
UI_REPO="${{ github.repository_owner }}/ui"

# Get the SHA of the ui_ref (try as branch first, then as tag)
SHA=$(gh api "repos/${UI_REPO}/git/ref/heads/${UI_REF}" --jq '.object.sha' 2>/dev/null || \
gh api "repos/${UI_REPO}/git/ref/tags/${UI_REF}" --jq '.object.sha')

echo "Creating tag ${VERSION} on UI repo at SHA ${SHA} (from ref: ${UI_REF})"

# Create annotated tag object
TAG_SHA=$(gh api "repos/${UI_REPO}/git/tags" \
-X POST \
-f tag="${VERSION}" \
-f message="Release ${VERSION}" \
-f object="${SHA}" \
-f type="commit" \
--jq '.sha')

# Create tag reference
gh api "repos/${UI_REPO}/git/refs" \
-X POST \
-f ref="refs/tags/${VERSION}" \
-f sha="${TAG_SHA}"

echo "✅ Created and pushed tag: ${VERSION} on UI repo"
15 changes: 10 additions & 5 deletions .github/workflows/release-promotion.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ on:
source_artifactory_docker_repo:
description: 'Source Artifactory Docker repository name'
required: false
default: 'mlrun-staging'
default: 'mlrun-staging/mlrun'
type: string
target_docker_registries:
description: 'Comma separated list of target docker registries to push promoted images to (e.g., ghcr.io/,quay.io/,registry.hub.docker.com/)'
Expand Down Expand Up @@ -258,11 +258,14 @@ jobs:
runs-on: ubuntu-latest
needs: [ prepare-inputs, promote-pypi-package ]
steps:
- uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # 1.20.0
- name: Create GitHub release (using existing tag from private-release)
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # 1.20.0
if: github.event.inputs.skip_create_tag_release != 'true'
with:
tag: v${{ needs.prepare-inputs.outputs.version }}
commit: ${{ github.ref_name }}
# Use existing tag created by private-release workflow (don't create new tag)
# allowUpdates allows creating a release on an existing tag
allowUpdates: true
token: ${{ secrets.GITHUB_TOKEN }}
- name: Generate GitHub App Token for ui repo
if: github.event.inputs.skip_create_tag_release != 'true'
Expand All @@ -273,12 +276,14 @@ jobs:
private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
owner: ${{ github.repository_owner }}
repositories: ui
- uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # 1.20.0
- name: Create UI repo release (tag should exist from ui-promotion workflow)
uses: ncipollo/release-action@b7eabc95ff50cbeeedec83973935c8f306dfcd0b # 1.20.0
if: github.event.inputs.skip_create_tag_release != 'true'
with:
repo: ui
tag: v${{ needs.prepare-inputs.outputs.version }}
commit: ${{ github.ref_name }}
# Use existing tag (don't create new one)
allowUpdates: true
token: ${{ steps.ui-release-app-token.outputs.token }}
# experienced 500 errors when trying to create release notes for ui repo with `prerelease flag`
# prerelease: ${{ needs.prepare-inputs.outputs.prerelease }}
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ MLRUN_MYSQL_IMAGE ?= gcr.io/iguazio/mlrun-mysql:8.4
MLRUN_POSTGRES_IMAGE = gcr.io/iguazio/postgres:17

# TODO: remove this once iguazio package is released to PyPI and move to requirements.txt
IGUAZIO_PACKAGE_VERSION ?= 0.0.1a22
IGUAZIO_PACKAGE_VERSION ?= 0.0.1a27

MLRUN_SKIP_COMPILE_SCHEMAS ?=
INCLUDE_PYTHON_VERSION_SUFFIX ?=
Expand Down
Loading