From 3325b5a5a492f8dbf046e81520bb32f5b815ac40 Mon Sep 17 00:00:00 2001 From: Aurelius84 Date: Fri, 12 Jul 2024 16:20:41 +0800 Subject: [PATCH] Create build_and_test.yml --- .github/workflows/build_and_test.yml | 68 ++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/build_and_test.yml diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml new file mode 100644 index 0000000..e6a50cf --- /dev/null +++ b/.github/workflows/build_and_test.yml @@ -0,0 +1,68 @@ +name: Build Package + +on: + push: + branches: [ "develop" ] + pull_request: + branches: [ "develop" ] + +permissions: + contents: read + +jobs: + build: + # For the sake of simplicity in testing, the Paddle2ONNX packaging program will temporarily run on Ubuntu-latest. + # However, to ensure the stability of the packaging system, we will need to fix the Ubuntu version in the future. + runs-on: ubuntu-latest + + # For the sake of simplicity in testing, the Paddle2ONNX packaging program will temporarily only package executable files for Python 3.8. + # In the future, we will need to extend support to cover Python 3.8 through Python 3.10. + steps: + - name: Setup Python 3.8 + uses: actions/setup-python@v5 + with: + python-version: '3.8' + + # Checkout the latest branch of Paddle2ONNX. + - name: Checkout Paddle2ONNX + uses: actions/checkout@v4 + with: + submodules: true + path: paddle2onnx + + # Checkout the branch(v3.16.0) of Paddle2ONNX. + - name: Checkout Protobuf + uses: actions/checkout@v4 + with: + repository: protocolbuffers/protobuf + ref: v3.16.0 + path: protobuf + + # Build Protobuf, detailed process can refer to the [Paddle2ONNX construction documentation](https://github.com/PaddlePaddle/Paddle2ONNX/blob/develop/docs/zh/compile.md). + - name: Build Protobuf + working-directory: ./protobuf + run: | + #============ + cmake ./cmake -B build_wd -Dprotobuf_BUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=./install_dir + cmake --build ./build_wd + cmake --build ./build_wd -- install + echo "$PWD/install_dir/bin" >> $GITHUB_PATH + + # Install Dependencies for Python + - name: Install Dependencies for Python + run: | + python -m pip install --upgrade pip + pip install setuptools wheel auditwheel auditwheel-symbols build + + # Build Paddle2ONNX + - name: Build Paddle2ONNX + working-directory: ./paddle2onnx + run: | + python -m build + python -m pip install dist/*.whl + + # Install Test + - name: Run Test + working-directory: ./paddle2onnx/tests + run: | + bash run.sh python