Skip to content

linux-glibc217

linux-glibc217 #4

Workflow file for this run

name: linux-glibc217
on:
workflow_dispatch:
inputs:
version:
description: "Version information (e.g., 1.19.0)"
required: true
permissions:
contents: write
env:
ONNXRUNTIME_VERSION:
|- # Enter release tag name or version name in workflow_dispatch. Appropriate version if not specified
${{ github.event.release.tag_name || github.event.inputs.version || '1.19.0' }}
jobs:
linux-glibc217:
name: ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Cache build result for ${{ env.ONNXRUNTIME_VERSION }}
id: cache-build-result
uses: actions/cache@v2
with:
path: onnxruntime-linux-x64-static_lib-${{ env.ONNXRUNTIME_VERSION }}-glibc2_17
key: onnxruntime-linux-x64-static_lib-${{ env.ONNXRUNTIME_VERSION }}-glibc2_17
- name: Update ONNX Runtime
if: steps.cache-build-result.outputs.cache-hit != 'true'
run: |
echo $ONNXRUNTIME_VERSION > ONNXRUNTIME_VERSION
git submodule update --init --depth=1 onnxruntime
cd onnxruntime
git fetch origin tag v$ONNXRUNTIME_VERSION
git checkout v$ONNXRUNTIME_VERSION
- name: Download protoc
if: steps.cache-build-result.outputs.cache-hit != 'true'
shell: bash
run: |
# see ./cmake/deps.txt
if [[ ${{ env.ONNXRUNTIME_VERSION }} =~ 1.14.[0-9] ]]; then
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protoc-3.20.3-linux-x86_64.zip
unzip protoc-3.20.3-linux-x86_64.zip
elif [[ ${{ env.ONNXRUNTIME_VERSION }} =~ 1.1[56789].[0-9] ]]; then
wget https://github.com/protocolbuffers/protobuf/releases/download/v21.12/protoc-21.12-linux-x86_64.zip
unzip protoc-21.12-linux-x86_64.zip
else
echo "Unsupported version ${{ env.ONNXRUNTIME_VERSION }}"
exit 1
fi
./bin/protoc --version
- name: Set environment variable
if: steps.cache-build-result.outputs.cache-hit != 'true'
shell: bash
run: |
echo "$GITHUB_WORKSPACE/bin" >> "$GITHUB_PATH"
- name: Display protoc info for ${{ env.ONNXRUNTIME_VERSION }}
if: steps.cache-build-result.outputs.cache-hit != 'true'
shell: bash
run: |
protoc --version
- name: Show current directory
shell: bash
run: |
ls -lh
echo $PWD
- name: Build onnxruntime ${{ env.ONNXRUNTIME_VERSION }}
if: steps.cache-build-result.outputs.cache-hit != 'true'
uses: addnab/docker-run-action@v3
with:
image: quay.io/pypa/manylinux2014_x86_64
options: |
--volume ${{ github.workspace }}/:/shared/
shell: bash
run: |
uname -a
gcc --version
find /opt -name "python*"
export PATH=/opt/_internal/cpython-3.8.20/bin:$PATH
python3 --version
python3 -m pip install ninja cmake
export PATH=/shared/toolchain/bin:$PATH
cmake --version
cd /shared
echo "----------"
ls -lh
echo "----------"
export CMAKE_OPTIONS="--compile-no-warning-as-error -Donnxruntime_BUILD_UNIT_TESTS=OFF -DONNX_CUSTOM_PROTOC_EXECUTABLE=/shared/bin/protoc"
git config --global --add safe.directory /shared/onnxruntime
git config --global --add safe.directory /shared
./build-static_lib.sh
build_dir=output
chmod a=rwx $build_dir
ls -lh $build_dir
ls -lh $build_dir/*
mv $build_dir/static_lib/lib64 $build_dir/static_lib/lib
ls -lh $build_dir/static_lib
- name: Collect result
if: steps.cache-build-result.outputs.cache-hit != 'true'
shell: bash
run: |
ls -lh output/static_lib/
ls -lh output/static_lib/include
ls -lh output/static_lib/lib
dst=onnxruntime-linux-x64-static_lib-${ONNXRUNTIME_VERSION}-glibc2_17
mkdir $dst
cp -av output/static_lib/* $dst
zip -r ${dst}.zip $dst/
- name: Upload v${{ env.ONNXRUNTIME_VERSION }}
if: steps.cache-build-result.outputs.cache-hit != 'true'
uses: svenstaro/upload-release-action@2.9.0
with:
file_glob: true
file: "./*.zip"
overwrite: true
tag: v${{ env.ONNXRUNTIME_VERSION }}
- uses: actions/upload-artifact@v3
if: steps.cache-build-result.outputs.cache-hit != 'true'
with:
name: onnxruntime-linux-x64-static_lib-${ONNXRUNTIME_VERSION}-glibc2_17
path: onnxruntime-linux-x64-static_lib*