Enhance monitoring for macOS and Windows platforms using github action #474
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: Build and Test | |
on: | |
push: | |
branches: [ "test_pir" ] | |
pull_request: | |
branches: [ "test_pir" ] | |
permissions: | |
contents: read | |
jobs: | |
build_on_linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: [ '3.8'] | |
architecture: [ 'x64' ] | |
steps: | |
# Checkout the latest branch of Paddle2ONNX. | |
- name: Checkout Paddle2ONNX | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Build on manylinux2014_x86_64 | |
uses: docker://quay.io/pypa/manylinux2014_x86_64:latest | |
with: | |
entrypoint: bash | |
args: .github/workflows/scripts/entrypoint.sh ${{ matrix.python-version }} manylinux2014_x86_64 CentOS | |
- name: Setup Python 3.8 | |
uses: actions/setup-python@v5 | |
with: | |
python-version: '3.8' | |
# Install Paddle2ONNX | |
- name: Install Paddle2ONNX | |
run: | | |
python -m pip install dist/*.whl | |
# Install Test | |
- name: Run Test | |
working-directory: ./tests | |
run: | | |
bash run.sh python | |
build_on_windows: | |
runs-on: windows-2019 | |
strategy: | |
matrix: | |
python-version: [ '3.8' ] | |
architecture: [ 'x64' ] | |
steps: | |
# Checkout the latest branch of Paddle2ONNX. | |
- name: Checkout Paddle2ONNX | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
# Clone protobuf repository and checkout to v4.22.0 | |
- name: Clone protobuf | |
run: | | |
git clone https://github.com/protocolbuffers/protobuf.git | |
cd protobuf | |
git checkout v4.22.0 | |
# Build and install protobuf | |
- name: Build and install protobuf | |
run: | | |
cd protobuf | |
git submodule update --init --recursive | |
mkdir build | |
cd build | |
cmake -G "Visual Studio 16 2019" -DCMAKE_INSTALL_PREFIX=../protobuf_install -Dprotobuf_MSVC_STATIC_RUNTIME=OFF -Dprotobuf_BUILD_SHARED_LIBS=OFF -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_EXAMPLES=OFF .. | |
cmake --build . --config Release --target INSTALL | |
# Setup Python | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Install Python dependencies | |
- name: Install Python dependencies | |
run: | | |
python -m pip install -q --upgrade pip | |
python -m pip install setuptools wheel auditwheel auditwheel-symbols build | |
# Build package | |
- name: Build package | |
run: | | |
$Env:PATH = "${{ github.workspace }}\protobuf\protobuf_install\bin;" + $Env:PATH | |
$Env:PIP_EXTRA_INDEX_URL="https://www.paddlepaddle.org.cn/packages/nightly/cpu/" | |
python -m build --wheel | |
# Install Paddle2ONNX | |
- name: Install Paddle2ONNX | |
run: | | |
Get-ChildItem -Path dist/*.whl | foreach {python -m pip install --upgrade $_.fullname} | |
# Install Test | |
- name: Run Test | |
working-directory: ./tests | |
run: | | |
.\run.bat python | |
build_on_macos: | |
# Use MACOSX_DEPLOYMENT_TARGET=12.0 to produce compatible wheel | |
env: | |
MACOSX_DEPLOYMENT_TARGET: "12.0" | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: [ '3.8'] | |
architecture: [ 'arm64' ] | |
steps: | |
# Checkout the latest branch of Paddle2ONNX. | |
- name: Checkout Paddle2ONNX | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
# Setup Python | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
# Clone protobuf repository and checkout to v4.22.0 | |
- name: Clone protobuf | |
run: | | |
git clone https://github.com/protocolbuffers/protobuf.git | |
cd protobuf | |
git checkout v4.22.0 | |
# Build and install protobuf | |
- name: Build and install protobuf | |
run: | | |
cd protobuf | |
git submodule update --init --recursive | |
mkdir build | |
cd build | |
cmake ../cmake -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}/installed_protobuf -Dprotobuf_BUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_STANDARD=14 | |
make -j | |
make install | |
# Install Python dependencies | |
- name: Install Python dependencies | |
run: | | |
python -m pip install -q --upgrade pip | |
python -m pip install setuptools wheel build | |
# Build package | |
- name: Build package | |
run: | | |
export PATH="${{ github.workspace }}/installed_protobuf/bin:$PATH" | |
export PIP_EXTRA_INDEX_URL="https://www.paddlepaddle.org.cn/packages/nightly/cpu/" | |
python -m build --wheel | |
# Install Paddle2ONNX | |
- name: Install Paddle2ONNX | |
run: | | |
python -m pip install dist/*.whl | |
# Install Test | |
- name: Run Test | |
working-directory: ./tests | |
run: | | |
bash run.sh python |