mirror of
https://github.com/PaddlePaddle/FastDeploy.git
synced 2025-12-24 13:28:13 +08:00
175 lines
6.7 KiB
YAML
175 lines
6.7 KiB
YAML
name: CI Images Build
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
schedule:
|
|
- cron: '0 18 * * *' # 2:00 AM China Standard Time (UTC+8)
|
|
|
|
permissions: read-all
|
|
|
|
concurrency:
|
|
group: ${{ github.ref }}-${{ github.sha }}
|
|
cancel-in-progress: true
|
|
|
|
|
|
jobs:
|
|
clone:
|
|
environment: CodeSync
|
|
name: FD-Clone-Linux
|
|
runs-on: ubuntu-latest
|
|
outputs:
|
|
repo_archive_url: ${{ steps.set_output.outputs.repo_archive_url }}
|
|
steps:
|
|
- name: Clone FastDeploy
|
|
uses: actions/checkout@v4
|
|
with:
|
|
ref: ${{ github.ref_name }}
|
|
submodules: 'recursive'
|
|
fetch-depth: 1000
|
|
|
|
- name: Python Setup
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: '3.10'
|
|
- name: Code Info Show and Upload
|
|
id: set_output
|
|
env:
|
|
AK: ${{ secrets.BOS_AK }}
|
|
SK: ${{ secrets.BOS_SK }}
|
|
run: |
|
|
git config --unset http.https://github.com/.extraheader
|
|
git submodule foreach --recursive sh -c "git config --local --unset-all 'http.https://github.com/.extraheader'"
|
|
git submodule foreach --recursive sh -c "git config remote.origin.fetch '+refs/heads/*:refs/remotes/origin/*'"
|
|
echo "Current HEAD Log:"
|
|
git log --oneline -n 5
|
|
ls
|
|
cd ..
|
|
tar -zcf FastDeploy.tar.gz FastDeploy
|
|
if [[ "${{ github.ref_type }}" == "tag" ]]; then
|
|
commit_id=${{ github.sha }}
|
|
tag_name=${{ github.ref_name }}
|
|
target_path=paddle-qa/TAG/FastDeploy/${tag_name}/${commit_id}
|
|
else
|
|
commit_id=${{ github.sha }}
|
|
branch_name=${{ github.ref_name }}
|
|
target_path=paddle-qa/BRANCH/FastDeploy/${branch_name}/${commit_id}
|
|
fi
|
|
wget -q --no-proxy --no-check-certificate https://paddle-qa.bj.bcebos.com/CodeSync/develop/PaddlePaddle/PaddleTest/tools/bos_tools.py
|
|
push_file=$(realpath bos_tools.py)
|
|
python -m pip install bce-python-sdk==0.9.29
|
|
ls
|
|
python ${push_file} FastDeploy.tar.gz ${target_path}
|
|
target_path_stripped="${target_path#paddle-qa/}"
|
|
REPO_ARCHIVE_URL=https://paddle-qa.bj.bcebos.com/${target_path_stripped}/FastDeploy.tar.gz
|
|
echo "repo_archive_url=${REPO_ARCHIVE_URL}" >> $GITHUB_OUTPUT
|
|
|
|
resultshow:
|
|
name: Show Code Archive Output
|
|
needs: clone
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Print wheel path
|
|
run: |
|
|
echo "The code archive is located at: ${{ needs.clone.outputs.repo_archive_url }}"
|
|
|
|
ci_image_build:
|
|
name: CI Images Build
|
|
needs: clone
|
|
uses: ./.github/workflows/_ci_image_build.yml
|
|
with:
|
|
CI_DOCKER_IMAGE_NAME: ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate-precheck
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
|
|
|
|
build_sm8090:
|
|
name: BUILD_SM8090
|
|
needs: [clone, ci_image_build]
|
|
uses: ./.github/workflows/_build_linux.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
COMPILE_ARCH: "90"
|
|
WITH_NIGHTLY_BUILD: ${{ needs.publish_pre_check.outputs.with_nightly_build }}
|
|
FD_VERSION: ${{ needs.publish_pre_check.outputs.fd_version }}
|
|
PADDLEVERSION: ${{ needs.publish_pre_check.outputs.compile_use_paddle_version }}
|
|
PADDLE_WHL_URL: ${{ needs.publish_pre_check.outputs.compile_use_paddle_whl_url }}
|
|
|
|
|
|
unittest_coverage:
|
|
name: Run FastDeploy Unit Tests and Coverage
|
|
needs: [clone,build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_unit_test_coverage.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
secrets:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
|
|
logprob_test:
|
|
name: Run FastDeploy LogProb Tests
|
|
needs: [build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_logprob_test_linux.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
PADDLETEST_ARCHIVE_URL: "https://xly-devops.bj.bcebos.com/PaddleTest/PaddleTest.tar.gz"
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
|
|
pre_ce_test:
|
|
name: Extracted partial CE model tasks to run in CI.
|
|
needs: [clone,build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_pre_ce_test.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
|
|
base_test:
|
|
name: Run Base Tests
|
|
needs: [clone,build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_base_test.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
|
|
accuracy_test:
|
|
name: Run Accuracy Tests
|
|
needs: [clone,build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_accuracy_test.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
|
|
stable_test:
|
|
name: Run Stable Tests
|
|
needs: [clone,build_sm8090,ci_image_build]
|
|
uses: ./.github/workflows/_stable_test.yml
|
|
with:
|
|
DOCKER_IMAGE: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
FASTDEPLOY_ARCHIVE_URL: ${{ needs.clone.outputs.repo_archive_url }}
|
|
FASTDEPLOY_WHEEL_URL: ${{ needs.build_sm8090.outputs.wheel_path }}
|
|
MODEL_CACHE_DIR: "/ssd2/actions-runner/ModelData"
|
|
|
|
|
|
publish_pre_check:
|
|
name: Publish Docker Images Pre Check
|
|
needs: [ci_image_build, unittest_coverage,logprob_test,pre_ce_test,base_test,accuracy_test,stable_test]
|
|
runs-on: [self-hosted, Docker-Build]
|
|
steps:
|
|
- name: Images Uploading
|
|
env:
|
|
images_name: ${{ needs.ci_image_build.outputs.docker_name_precheck }}
|
|
ci_image_name: "ccr-2vdh3abv-pub.cnc.bj.baidubce.com/paddlepaddle/paddleqa:fastdeploy-ciuse-cuda126-dailyupdate"
|
|
run: |
|
|
echo "images_name=${images_name}"
|
|
docker images ${ci_image_name}
|
|
docker tag ${images_name} ${ci_image_name}
|
|
docker push ${ci_image_name}
|