Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
3a29184
initial commit for pr pipeline, fix gitignore
dante159753 Jan 14, 2026
6285751
rename pipeline
dante159753 Jan 14, 2026
6e2aa3c
fix link error
dante159753 Jan 14, 2026
6f615c9
fix link error
dante159753 Jan 14, 2026
e81e610
fix link error
dante159753 Jan 14, 2026
6a9fe60
fix link error
dante159753 Jan 14, 2026
9f31d2e
fix test command
dante159753 Jan 14, 2026
f296987
fix test command
dante159753 Jan 14, 2026
38b54b8
fix test command
dante159753 Jan 14, 2026
4b09572
fix test command
dante159753 Jan 14, 2026
6953207
Merge pull request #1 from dante159753/personal/pr-pipeline
dante159753 Jan 14, 2026
fe5b6e4
add offline smoke test
dante159753 Jan 15, 2026
b9bde4f
fix import sort
dante159753 Jan 15, 2026
2d50a05
fix format
dante159753 Jan 15, 2026
abb80ee
add logic to select free gpu
dante159753 Jan 15, 2026
99e970b
add test marker to filter test to run
dante159753 Jan 15, 2026
ef3b136
fix test config error
dante159753 Jan 15, 2026
3d3980a
add test storage config
dante159753 Jan 15, 2026
e493dd7
add cleanup into build llm function
dante159753 Jan 15, 2026
ad88904
try decrease gpu usage
dante159753 Jan 15, 2026
60dd0ea
add offline inference utils and test case
dante159753 Jan 16, 2026
a53edb4
fix import
dante159753 Jan 16, 2026
a69eddf
fix import
dante159753 Jan 16, 2026
79def3d
fix parameter
dante159753 Jan 16, 2026
5d84cf5
fix test parameter error
dante159753 Jan 16, 2026
92f9af3
add prompt file
dante159753 Jan 16, 2026
e9c1bf7
fix prompt path
dante159753 Jan 16, 2026
405bf9e
fix spawn error
dante159753 Jan 16, 2026
5798ce2
add gpu requirement
dante159753 Jan 16, 2026
380add3
Merge pull request #2 from dante159753/personal/pr-pipeline
dante159753 Jan 16, 2026
21c00b7
Merge branch 'ModelEngine-Group:develop' into develop
dante159753 Jan 19, 2026
38fb8e3
add methods to ensure&clear storage path, split test step from build
dante159753 Jan 19, 2026
90aa529
add job for sparse attention, specific folder for prompts
dante159753 Jan 19, 2026
5e2a22d
extract logic for gpu select, add check for standard answer
dante159753 Jan 19, 2026
9281c7a
add test result upload
dante159753 Jan 19, 2026
9d857a7
add permissions for test result upload, use non-docker upload
dante159753 Jan 19, 2026
404fb18
fix result xml path
dante159753 Jan 19, 2026
abe9194
use different name for test jobs, fix test standard answer
dante159753 Jan 19, 2026
16c8b78
add method for non-pickable object encode-decode for subprocess, add …
dante159753 Jan 19, 2026
f05a888
add path util, simplify test case
dante159753 Jan 20, 2026
ad5f165
add check for user
dante159753 Jan 20, 2026
7585fd0
echo changed files
dante159753 Jan 20, 2026
eaf4f92
check pr can run
dante159753 Jan 20, 2026
c3b009a
add check for team
dante159753 Jan 20, 2026
15c1f44
add check for team
dante159753 Jan 20, 2026
74116be
Merge pull request #3 from dante159753/personal/pr-pipeline
dante159753 Jan 20, 2026
fede29b
add check for team
dante159753 Jan 20, 2026
e21b091
Merge branch 'ModelEngine-Group:develop' into develop
dante159753 Jan 20, 2026
5e85027
Merge branch 'develop' of https://github.com/dante159753/unified-cach…
dante159753 Jan 20, 2026
b5a9894
replace token used
dante159753 Jan 20, 2026
e8527c3
Merge pull request #4 from dante159753/personal/pr-pipeline
dante159753 Jan 20, 2026
cf985c8
remove unused workflow
dante159753 Jan 20, 2026
24713fe
Merge pull request #5 from dante159753/personal/pr-pipeline
dante159753 Jan 20, 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
3 changes: 2 additions & 1 deletion .github/actionlint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ self-hosted-runner:
# Labels of self-hosted runner in array of strings.
labels:
- default
- arc-runner-ucm
- gpu
- npu
34 changes: 0 additions & 34 deletions .github/workflows/cpp-linter.yml

This file was deleted.

30 changes: 0 additions & 30 deletions .github/workflows/e2e_test.yml

This file was deleted.

31 changes: 0 additions & 31 deletions .github/workflows/pre-commit.yml

This file was deleted.

192 changes: 192 additions & 0 deletions .github/workflows/pull-request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,192 @@
name: pull-request-pipeline

on:
pull_request:
branches: [ "dev*", "main", "*release", "feature*" ]

env:
# Customize the CMake build type here (Release, Debug, RelWithDebInfo, etc.)
BUILD_TYPE: Debug

jobs:
# protect the workflows dir, only allow specific users to modify
protect-workflows-dir:
runs-on: ubuntu-latest
outputs:
allowed: ${{ steps.check.outputs.allowed }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- id: check
env:
ACTOR: ${{ github.actor }}
run: |
# get the target branch contents
git fetch origin ${{ github.base_ref }}

CHANGED_FILES=$(git diff --name-only origin/${{ github.base_ref }}...HEAD)
echo "CHANGED_FILES=$CHANGED_FILES"

if ! echo "$CHANGED_FILES" | grep -q '^\.github/workflows/'; then
echo "No .github/workflows changes, allow."
echo "allowed=true" >> $GITHUB_OUTPUT
exit 0
fi

echo ".github changes detected, checking team membership"

STATUS=$(curl -s -o /dev/null -w "%{http_code}" \
-H "Authorization: Bearer ${{ secrets.UCM_MEMBER_READER_TOKEN }}" \
-H "Accept: application/vnd.github+json" \
https://api.github.com/orgs/ModelEngine-Group/teams/ucm/memberships/$ACTOR)

echo "Membership check status: $STATUS"

if [ "$STATUS" = "200" ]; then
echo "Actor is team member"
echo "allowed=true" >> "$GITHUB_OUTPUT"
else
echo "workflow modification from unauthorized user: $ACTOR, skip the workflow."
echo "allowed=false" >> "$GITHUB_OUTPUT"
exit 1
fi

cpp-linter:
runs-on: ubuntu-latest
needs: protect-workflows-dir
if: needs.protect-workflows-dir.outputs.allowed == 'true'
steps:
- uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0
with:
persist-credentials: false
- uses: cpp-linter/cpp-linter-action@main
id: linter
continue-on-error: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
style: file
tidy-checks: '-*'
files-changed-only: true
lines-changed-only: diff
format-review: true
version: 20

- name: Fail fast?!
if: steps.linter.outputs.checks-failed != 0
run: |
echo "some linter checks failed. ${{ steps.linter.outputs.checks-failed }}"
exit 1
py-linter:
runs-on: ubuntu-latest
needs: protect-workflows-dir
if: needs.protect-workflows-dir.outputs.allowed == 'true'
steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"

- name: Add matchers for better error display
run: |
echo "::add-matcher::.github/workflows/matchers/actionlint.json"
echo "::add-matcher::.github/workflows/matchers/mypy.json"

- name: Run pre-commit checks on all files
uses: pre-commit/action@v3.0.1
env:
SHELLCHECK_OPTS: "--exclude=SC2046,SC2006,SC2086" # Exclude SC2046, SC2006, SC2086 for actionlint
with:
extra_args: --all-files --hook-stage manual

cpp_gtest:
# The CMake configure and build commands are platform agnostic and should work equally well on Windows or Mac.
# You can convert this to a matrix build if you need cross-platform coverage.
# See: https://docs.github.com/en/free-pro-team@latest/actions/learn-github-actions/managing-complex-workflows#using-a-build-matrix
runs-on: ubuntu-latest
needs: cpp-linter

steps:
- uses: actions/checkout@v4

- name: Install googletest
run: |
git clone https://github.com/google/googletest.git --depth=1 --branch=v1.17.0
cd googletest
mkdir build && cd build
cmake -DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_C_FLAGS="-fPIC" -DCMAKE_CXX_STANDARD=17 -DCMAKE_CXX_STANDARD_REQUIRED=True ..
sudo make install -j

- name: Configure CMake
# Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make.
# See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type
run: cmake -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DBUILD_UCM_SPARSE=OFF -DBUILD_UNIT_TESTS=ON -DRUNTIME_ENVIRONMENT=simu

- name: Build
# Build your program with the given configuration
run: cmake --build ${{github.workspace}}/build --config ${{env.BUILD_TYPE}} -j

- name: Test
working-directory: ${{github.workspace}}/build
# Execute tests defined by the CMake configuration.
# See https://cmake.org/cmake/help/latest/manual/ctest.1.html for more detail
run: ctest -C ${{env.BUILD_TYPE}} --output-on-failure

test-e2e-pc-gpu:
runs-on: gpu
needs: [cpp_gtest, py-linter]
permissions:
checks: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cd ${{github.workspace}}
export PLATFORM=cuda
pip install -v -e . --no-build-isolation
- name: Test E2E
run: |
cd ${{github.workspace}}
cd test
pytest --stage=1 --feature=offline_inference --junitxml=offline-inference.xml
- name: Upload pytest results
uses: EnricoMi/publish-unit-test-result-action/linux@v2
if: (!cancelled())
with:
files: |
${{github.workspace}}/test/offline-inference.xml
check_name: Prefix cache test results

test-e2e-sparse-gpu:
runs-on: gpu
needs: [cpp_gtest, py-linter]
permissions:
checks: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- name: Build
run: |
cd ${{github.workspace}}
export PLATFORM=cuda
export ENABLE_SPARSE=TRUE
pip install -v -e . --no-build-isolation
- name: Test E2E
run: |
cd ${{github.workspace}}
cd test
pytest --stage=1 --feature=offline_inference_sparse --junitxml=offline-inference-sparse.xml
- name: Upload pytest results
uses: EnricoMi/publish-unit-test-result-action/linux@v2
if: (!cancelled())
with:
files: |
${{github.workspace}}/test/offline-inference-sparse.xml
check_name: Sparse attention test results

46 changes: 0 additions & 46 deletions .github/workflows/ucmstore.yml

This file was deleted.

22 changes: 0 additions & 22 deletions .github/workflows/unifiedcache_test.yml

This file was deleted.

1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,6 @@
reports/
dataset/
logs/
.*
*.log
result_outputs/
results/
Expand Down
Loading
Loading