Skip to content

Zstd tar

Zstd tar #1

Workflow file for this run

on:
workflow_call:
inputs:
bos_dir:
required: false
type: string
default: "Paddle"
task:
required: false
type: string
default: "cpu"
is_merge:
required: false
type: string
default: "false"
outputs:
docker_cpu_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_cpu_image }}
docker_inference_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_inference_image }}
docker_coverage_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_coverage_image }}
docker_build_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_build_image }}
docker_distribute_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_distribute_image }}
<<<<<<< HEAD

Check failure on line 37 in .github/workflows/docker.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/docker.yml

Invalid workflow file

You have an error in your yaml syntax on line 37
docker_xpu_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_xpu_image }}
docker_npu_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_npu_image }}
docker_dcu_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_dcu_image }}
=======
docker_doc_image:
description: "Generate images for all CI usage"
value: ${{ jobs.build-docker-images.outputs.docker_doc_image }}
>>>>>>> e1842d4ce364b6e8334c39a8807b256682185d23
jobs:
build-docker-images:
if: github.repository_owner == 'PaddlePaddle'
name: Build docker
runs-on:
group: Docker-build
outputs:
docker_cpu_image: ${{ steps.build-docker-images.outputs.docker_cpu_image }}
docker_inference_image: ${{ steps.build-docker-images.outputs.docker_inference_image }}
docker_coverage_image: ${{ steps.build-docker-images.outputs.docker_coverage_image }}
docker_build_image: ${{ steps.build-docker-images.outputs.docker_build_image }}
docker_distribute_image: ${{ steps.build-docker-images.outputs.docker_distribute_image }}
docker_xpu_image: ${{ steps.build-docker-images.outputs.docker_xpu_image }}
docker_npu_image: ${{ steps.build-docker-images.outputs.docker_npu_image }}
docker_dcu_image: ${{ steps.build-docker-images.outputs.docker_dcu_image }}
docker_doc_image: ${{ steps.build-docker-images.outputs.docker_doc_image }}
steps:
- id: build-docker-images
name: Build docker images
env:
PR_ID: ${{ github.event.pull_request.number }}
COMMIT_ID: ${{ github.event.pull_request.head.sha }}
docker_cpu_file: Dockerfile.cuda9_cudnn7_gcc48_py35_centos6
docker_inference_file: Dockerfile.cuda11.2_cudnn8.1_trt8.4_gcc8.2_ubuntu18
docker_coverage_file: Dockerfile.cuda117_cudnn8_gcc82_ubuntu18_coverage
docker_build_file: Dockerfile.cuda11.2_cudnn8_gcc82_trt8
docker_distribute_file: Dockerfile.cuda123_cudnn9_gcc122_ubuntu20
docker_xpu_file: Dockerfile.develop.xre
docker_npu_file: Dockerfile.develop.npu
docker_dcu_file: Dockerfile.develop.dtk
docker_doc_file: Dockerfile.doc
dockerfile_script: https://raw.githubusercontent.com/PaddlePaddle/Paddle/refs/heads/develop/tools/dockerfile/ci_dockerfile.sh
dockerfile_origin: https://raw.githubusercontent.com/PaddlePaddle/Paddle/refs/heads/develop/tools/dockerfile/Dockerfile.ubuntu20
run: |
set -x
rm -rf * .[^.]*
if [ "${{ inputs.is_merge }}" == "true" ]; then
mkdir -p tools/dockerfile && cd tools/dockerfile
wget -q --no-proxy ${dockerfile_script} ${dockerfile_origin} --no-check-certificate
else
wget -q --no-proxy https://paddle-github-action.bj.bcebos.com/PR/${{ inputs.bos_dir }}/${PR_ID}/${COMMIT_ID}/Paddle.tar.gz --no-check-certificate
tar -xf Paddle.tar.gz --strip-components=1
rm Paddle.tar.gz
cd tools/dockerfile
fi
bash ci_dockerfile.sh
cd ../..
# docker build images
if [ "${{ inputs.task }}" == "cpu" ]; then
declare -A docker_files=(["docker_cpu"]="$docker_cpu_file" ["docker_inference"]="$docker_inference_file" ["docker_distribute"]="$docker_distribute_file" ["docker_xpu"]="$docker_xpu_file" ["docker_npu"]="$docker_npu_file" ["docker_dcu"]="$docker_dcu_file")
elif [ "${{ inputs.task }}" == "build" ]; then
declare -A docker_files=(["docker_build"]="$docker_build_file" ["docker_doc"]="$docker_doc_file")
else
declare -A docker_files=(["docker_coverage"]="$docker_coverage_file")
fi
for name in "${!docker_files[@]}"
do
md5_value=`md5sum tools/dockerfile/${docker_files[$name]} | awk '{print $1}'`
docker_image="ccr-2vdh3abv-pub.cnc.bj.baidubce.com/ci/paddle:${md5_value}"
declare "${name}_image=${docker_image}"
echo "${name}_image=${docker_image}" >> $GITHUB_OUTPUT
set +e
docker pull $docker_image
if [ $? -eq 0 ];then
echo use docker cache
else
docker build -t $docker_image -f tools/dockerfile/${docker_files[$name]} .
docker push $docker_image
echo end docker build
fi
set -e
done
# clean workspace
cd ${{ github.workspace }}
rm -rf * .[^.]*