Add LongBench validation #3237
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: lcm_dreamshaper | |
on: | |
workflow_dispatch: | |
pull_request: | |
merge_group: | |
push: | |
branches: | |
- master | |
- 'releases/**' | |
permissions: read-all # Required by https://github.com/ossf/scorecard/blob/e23b8ad91fd6a64a0a971ca4fc0a4d1650725615/docs/checks.md#token-permissions | |
concurrency: | |
# github.ref is not unique in post-commit | |
group: ${{ github.event_name == 'push' && github.run_id || github.ref }}-lcm-dreamshaper-cpp | |
cancel-in-progress: true | |
env: | |
PYTHON_VERSION: '3.9' | |
LINUX_OV_ARCHIVE_URL: https://storage.openvinotoolkit.org/repositories/openvino/packages/nightly/2025.0.0-17289-7cf2bbb8391/l_openvino_toolkit_ubuntu22_2025.0.0.dev20241105_x86_64.tgz | |
WINDOWS_OV_ARCHIVE_URL: https://storage.openvinotoolkit.org/repositories/openvino/packages/nightly/2025.0.0-17289-7cf2bbb8391/w_openvino_toolkit_windows_2025.0.0.dev20241105_x86_64.zip | |
OV_INSTALL_DIR: ${{ github.workspace }}/ov | |
jobs: | |
lcm_dreamshaper_v7_cpp-linux: | |
runs-on: ubuntu-22.04 | |
defaults: | |
run: | |
shell: bash -l {0} | |
env: | |
build_dir: ${{ github.workspace }}//build | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download OpenVINO archive | |
run: | | |
wget ${{ env.LINUX_OV_ARCHIVE_URL}} --progress=bar:force:noscroll -O openvino_package.tar.gz | |
mkdir ${{ env.OV_INSTALL_DIR }} | |
tar -xzf openvino_package.tar.gz -C ${{ env.OV_INSTALL_DIR }} --strip-components=1 | |
- name: Setup Python ${{ env.PYTHON_VERSION }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
cache: 'pip' | |
- name: Build app | |
run: | | |
source ${{ env.OV_INSTALL_DIR }}/setupvars.sh | |
cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ${{ env.build_dir }} | |
cmake --build ${{ env.build_dir }} --config Release --target stable_diffusion heterogeneous_stable_diffusion lora_stable_diffusion py_openvino_genai --parallel | |
- name: Create virtual environment | |
run: python3 -m venv openvino_lcm_cpp | |
- name: Install python dependencies | |
run: | | |
source openvino_lcm_cpp/bin/activate | |
python -m pip install ./thirdparty/openvino_tokenizers/[transformers] --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly | |
python -m pip install -r ./samples/requirements.txt | |
- name: Download and convert models and tokenizer | |
run: | | |
source openvino_lcm_cpp/bin/activate | |
optimum-cli export openvino --model SimianLuo/LCM_Dreamshaper_v7 --task stable-diffusion --weight-format fp16 models/lcm_dreamshaper_v7/FP16 | |
- name: Run app | |
run: | | |
source ${{ env.OV_INSTALL_DIR }}/setupvars.sh | |
${{ env.build_dir }}/samples/cpp/text2image/heterogeneous_stable_diffusion ./models/lcm_dreamshaper_v7/FP16 "cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting" | |
- name: Run Python app | |
run: | | |
source openvino_lcm_cpp/bin/activate | |
source ./ov/setupvars.sh | |
python ./samples/python/text2image/heterogeneous_stable_diffusion.py ./models/lcm_dreamshaper_v7/FP16 "cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting" | |
env: | |
PYTHONPATH: ${{ env.build_dir }} | |
lcm_dreamshaper_v7_cpp-windows: | |
runs-on: windows-2019 | |
defaults: | |
run: | |
shell: pwsh | |
env: | |
build_dir: ${{ github.workspace }}//build | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Download OpenVINO archive | |
run: | | |
mkdir ${{ env.OV_INSTALL_DIR }} | |
pushd ${{ env.OV_INSTALL_DIR }} | |
Invoke-WebRequest "${{ env.WINDOWS_OV_ARCHIVE_URL}}" -OutFile "openvino_package.zip" | |
Expand-Archive openvino_package.zip -DestinationPath ./tmp | |
mv ./tmp/*/* . | |
popd | |
- name: Setup Python ${{ env.PYTHON_VERSION }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ env.PYTHON_VERSION }} | |
cache: 'pip' | |
- name: Create virtual environment | |
run: python -m venv openvino_lcm_cpp | |
- name: Build app | |
run: | | |
. "${{ env.OV_INSTALL_DIR }}/setupvars.ps1" | |
cmake -DCMAKE_BUILD_TYPE=Release -S ./ -B ${{ env.build_dir }} | |
cmake --build ${{ env.build_dir }} --config Release --target stable_diffusion heterogeneous_stable_diffusion lora_stable_diffusion py_openvino_genai --parallel | |
- name: Install python dependencies | |
run: | | |
. "./openvino_lcm_cpp/Scripts/Activate.ps1" | |
python -m pip install ./thirdparty/openvino_tokenizers/[transformers] --pre --extra-index-url https://storage.openvinotoolkit.org/simple/wheels/nightly | |
python -m pip install -r ./samples/requirements.txt | |
- name: Download and convert models and tokenizer | |
run: | | |
. "./openvino_lcm_cpp/Scripts/Activate.ps1" | |
optimum-cli export openvino --model SimianLuo/LCM_Dreamshaper_v7 --task stable-diffusion --weight-format fp16 models/lcm_dreamshaper_v7/FP16 | |
- name: Run app | |
run: > | |
. "${{ env.OV_INSTALL_DIR }}/setupvars.ps1" | |
& "${{ env.build_dir }}/samples/cpp/text2image/Release/heterogeneous_stable_diffusion.exe ./models/lcm_dreamshaper_v7/FP16 'cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting'" | |
- name: Run Python app | |
run: | | |
. "./openvino_lcm_cpp/Scripts/Activate.ps1" | |
. "${{ env.OV_INSTALL_DIR }}/setupvars.ps1" | |
$env:Path += "${{ env.build_dir }}\openvino_genai" | |
python .\samples\python\text2image\heterogeneous_stable_diffusion.py .\models\lcm_dreamshaper_v7\FP16 "cyberpunk cityscape like Tokyo New York with tall buildings at dusk golden hour cinematic lighting" | |
env: | |
PYTHONPATH: ${{ env.build_dir }} | |
Overall_Status: | |
name: ci/gha_overall_status_lcm | |
needs: [lcm_dreamshaper_v7_cpp-linux, lcm_dreamshaper_v7_cpp-windows] | |
if: ${{ always() }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check status of all jobs | |
if: >- | |
${{ | |
contains(needs.*.result, 'failure') || | |
contains(needs.*.result, 'cancelled') | |
}} | |
run: exit 1 |