コンストラクタが呼ばれる前に tp_traverse されることがある #8
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-relwithdebinfo | |
on: | |
workflow_dispatch: | |
push: | |
paths-ignore: | |
- "examples/**" | |
- "**.md" | |
env: | |
TEST_SIGNALING_URLS: ${{ secrets.TEST_SIGNALING_URLS }} | |
TEST_CHANNEL_ID_PREFIX: ${{ secrets.TEST_CHANNEL_ID_PREFIX }} | |
TEST_SECRET_KEY: ${{ secrets.TEST_SECRET_KEY }} | |
TEST_API_URL: ${{ secrets.TEST_API_URL }} | |
jobs: | |
build-linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: | |
- name: ubuntu-24.04_x86_64 | |
runs-on: ubuntu-24.04 | |
python: | |
- version: "3.10" | |
- version: "3.11" | |
- version: "3.12" | |
- version: "3.13" | |
runs-on: ${{ matrix.platform.runs-on }} | |
steps: | |
- name: Disk Cleanup | |
run: | | |
set -x | |
df -h | |
# sudo du -h -d1 /usr/local | |
# sudo du -h -d1 /usr/local/share | |
# sudo du -h -d1 /usr/local/lib | |
# sudo du -h -d1 /usr/share | |
RMI=`docker images -q -a` | |
if [ -n "$RMI" ]; then | |
docker rmi $RMI | |
fi | |
# 4.6G | |
sudo rm -rf /usr/local/.ghcup | |
# 1.7G | |
sudo rm -rf /usr/share/swift | |
# 1.4G | |
sudo rm -rf /usr/share/dotnet | |
# 13G | |
sudo rm -rf /usr/local/lib/android | |
df -h | |
- name: Get stats | |
run: | | |
set -x | |
cat /etc/lsb-release | |
uname -a | |
cat /proc/cpuinfo | |
cat /proc/meminfo | |
- name: Setup Git User | |
run: | | |
git config --global user.name "${{ github.actor }}" | |
git config --global user.email "${{ github.actor }}@users.noreply.github.com" | |
- name: Setup common | |
run: | | |
# clang-18 | |
wget https://apt.llvm.org/llvm.sh | |
chmod a+x llvm.sh | |
sudo ./llvm.sh 18 | |
- uses: actions/checkout@v4 | |
with: | |
path: sora-python-sdk | |
- name: Get versions | |
id: version | |
run: | | |
source sora-python-sdk/VERSION | |
echo "webrtc_build_version=${WEBRTC_BUILD_VERSION}" >> $GITHUB_OUTPUT | |
echo "sora_cpp_sdk_version=${SORA_CPP_SDK_VERSION}" >> $GITHUB_OUTPUT | |
echo "boost_version=${BOOST_VERSION}" >> $GITHUB_OUTPUT | |
# sora-cpp-sdk | |
- uses: actions/cache@v4 | |
id: sora-cpp-sdk-cache | |
with: | |
path: sora-cpp-sdk/_install/${{ matrix.platform.name }}/release/sora | |
key: sora-cpp-sdk-${{ matrix.platform.name }}-${{ steps.version.outputs.sora_cpp_sdk_version }}-relwithdebinfo | |
- uses: actions/cache@v4 | |
id: boost-cache | |
with: | |
path: sora-cpp-sdk/_install/${{ matrix.platform.name }}/release/boost | |
key: boost-${{ matrix.platform.name }}-${{ steps.version.outputs.sora_cpp_sdk_version }}-relwithdebinfo | |
- uses: actions/checkout@v4 | |
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true' | |
with: | |
path: sora-cpp-sdk | |
repository: shiguredo/sora-cpp-sdk | |
ref: ${{ steps.version.outputs.sora_cpp_sdk_version }} | |
# Ubuntu 24.04 だと libtinfo5 が見つからない問題があるので、その修正 | |
# ref: https://qiita.com/gengen16k/items/88cf3c18a40a94205fab | |
- name: Fix CUDA issues for Ubuntu 24.04 | |
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true' && matrix.platform.name == 'ubuntu-24.04_x86_64' | |
run: | | |
sudo tee /etc/apt/sources.list.d/jammy.list << EOF | |
deb http://archive.ubuntu.com/ubuntu/ jammy universe | |
EOF | |
sudo tee /etc/apt/preferences.d/pin-jammy <<EOF | |
Package: * | |
Pin: release n=jammy | |
Pin-Priority: -10 | |
Package: libtinfo5 | |
Pin: release n=jammy | |
Pin-Priority: 990 | |
EOF | |
- name: Setup sora-cpp-sdk | |
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true' | |
working-directory: sora-cpp-sdk | |
run: | | |
source VERSION | |
sudo apt-get update | |
sudo apt-get install -y software-properties-common | |
# X11 | |
sudo apt-get install -y libx11-dev libxext-dev | |
# CUDA | |
wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.0g-2ubuntu4_amd64.deb | |
sudo dpkg -i libssl1.1_1.1.0g-2ubuntu4_amd64.deb | |
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.0-1_all.deb | |
sudo dpkg -i cuda-keyring_*all.deb | |
sudo apt-get update | |
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install cuda=$CUDA_VERSION | |
# Intel Media SDK のために libva-dev, libdrm-dev を入れる | |
DEBIAN_FRONTEND=noninteractive sudo apt-get -y install libva-dev libdrm-dev | |
- name: Build sora-cpp-sdk | |
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true' | |
working-directory: sora-cpp-sdk | |
run: python3 run.py --relwithdebinfo ${{ matrix.platform.name }} | |
- name: Teardown sora-cpp-sdk | |
if: steps.sora-cpp-sdk-cache.outputs.cache-hit != 'true' | |
run: | | |
# CUDA が入ってると使おうとしてエラーになるのでアンインストールしておく | |
sudo apt-get remove -y cuda | |
sudo apt-get autoremove -y | |
# sora-python-sdk | |
- name: Setup sora-python-sdk | |
run: | | |
sudo apt-get update | |
sudo apt-get -y install libva2 libdrm2 libva-dev libdrm-dev libx11-dev portaudio19-dev | |
# Download OpneH264 | |
curl -LO http://ciscobinary.openh264.org/libopenh264-2.4.1-linux64.7.so.bz2 | |
bzip2 -d libopenh264-2.4.1-linux64.7.so.bz2 | |
mv libopenh264-2.4.1-linux64.7.so libopenh264.so | |
echo "OPENH264_PATH=`pwd`/libopenh264.so" >> $GITHUB_ENV | |
- name: Copy sora-cpp-sdk to sora-python-sdk | |
run: | | |
mkdir -p sora-python-sdk/_install/${{ matrix.platform.name }}/release | |
cp -r sora-cpp-sdk/_install/${{ matrix.platform.name }}/release/sora sora-python-sdk/_install/${{ matrix.platform.name }}/sora | |
echo ${{ steps.version.outputs.sora_cpp_sdk_version }} > sora-python-sdk/_install/${{ matrix.platform.name }}/sora.version | |
- name: Copy boost to sora-python-sdk | |
run: | | |
mkdir -p sora-python-sdk/_install/${{ matrix.platform.name }}/release | |
cp -r sora-cpp-sdk/_install/${{ matrix.platform.name }}/release/boost sora-python-sdk/_install/${{ matrix.platform.name }}/boost | |
echo ${{ steps.version.outputs.boost_version }} > sora-python-sdk/_install/${{ matrix.platform.name }}/boost.version | |
- uses: actions/cache@v4 | |
id: llvm-cache | |
with: | |
path: sora-python-sdk/_install/${{ matrix.platform.name }}/llvm | |
key: llvm-${{ matrix.platform.name }}-${{ steps.version.outputs.sora_cpp_sdk }} | |
- uses: actions/cache@v4 | |
id: version-file-cache | |
with: | |
path: versions | |
key: versions-${{ matrix.platform.name }}-${{ steps.version.outputs.sora_cpp_sdk }} | |
- name: Copy version file | |
if: steps.version-file-cache.outputs.cache-hit == 'true' | |
run: cp versions/llvm.version sora-python-sdk/_install/${{ matrix.platform.name }}/ | |
- uses: astral-sh/setup-uv@v3 | |
- name: Build sora-python-sdk | |
working-directory: sora-python-sdk | |
run: | | |
set -x | |
uv python pin ${{ matrix.python.version }} | |
uv sync | |
uv run python run.py --relwithdebinfo ${{ matrix.platform.name }} | |
# cache | |
mkdir -p ../versions | |
cp _install/${{ matrix.platform.name }}/llvm.version ../versions | |
- name: E2E Test sora-python-sdk | |
working-directory: sora-python-sdk | |
run: | | |
for i in {1..50}; do | |
echo "---------------- $i 回目 ----------------" | |
sleep 10 | |
lldb-18 --batch -o 'command script import test_with_llvm.py' -o 'test' | |
done |