From 214ebbdc434ee7526004bca58ea12e75c20bae18 Mon Sep 17 00:00:00 2001 From: Bhavdeep Date: Wed, 24 Sep 2025 15:16:46 +0530 Subject: [PATCH] Workflow missed so added --- .github/workflows/build.yml.disabled | 251 +++++++++++++++++++++++++ .github/workflows/node-addon-build.yml | 1 + 2 files changed, 252 insertions(+) create mode 100644 .github/workflows/build.yml.disabled create mode 100644 .github/workflows/node-addon-build.yml diff --git a/.github/workflows/build.yml.disabled b/.github/workflows/build.yml.disabled new file mode 100644 index 0000000..2daf717 --- /dev/null +++ b/.github/workflows/build.yml.disabled @@ -0,0 +1,251 @@ +name: Build PJ Project +on: + push: + branches: [ main ] + +jobs: + build-linux-x86: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - name: Set Project src + run: echo "SRC_VERSION=2.14" >> $GITHUB_ENV + - name: Unzip PJ Project + run: unzip ./pjproject-${{ env.SRC_VERSION }}.zip + - name: install dependencies + run: sudo apt-get install -y swig nasm sip-tester libvpx-dev libopencore-amrnb-dev + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: get openh264 + run: git clone --single-branch --branch openh264v2.1.0 https://github.com/cisco/openh264.git + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: build openh264 + run: cd openh264 && make && sudo make install && sudo ldconfig + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: config site + run: cd pjlib/include/pj && cp config_site_test.h config_site.h && echo "#define PJMEDIA_HAS_VIDEO 1" >> config_site.h + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: configure + run: CFLAGS="-g -fPIC -DHAS_VID_CODEC_TEST=0" CXXFLAGS="-g -fPIC" LDFLAGS="-rdynamic" ./configure + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: make + run: make + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: Show Build Artifacts + working-directory: ./pjproject-${{ env.SRC_VERSION }} + run: ls -l + - name: Prepare PJSIP bundle + run: | + mkdir -p ./pjsip-bundle/lib + mkdir -p ./pjsip-bundle/include + # Copy all static and shared libraries and headers + # PJ Lib + cp ./pjproject-${{ env.SRC_DIR }}/pjlib/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_DIR }}/pjlib/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_DIR }}/pjlib/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ SIP + cp ./pjproject-${{ env.SRC_DIR }}/pjsip/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_DIR }}/pjsip/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_DIR }}/pjsip/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ Nath + cp ./pjproject-${{ env.SRC_DIR }}/pjnath/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_DIR }}/pjnath/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_DIR }}/pjnath/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ Media + cp ./pjproject-${{ env.SRC_DIR }}/pjmedia/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_DIR }}/pjmedia/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_DIR }}/pjmedia/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # Copy CLI binary for testing + cp ./pjproject-${{ env.SRC_DIR }}/pjsip-apps/bin/pjsua-* ./pjsip-bundle/ 2>/dev/null || true + # Optionally copy third-party libs (example: opus, ssl) + # cp /usr/lib/x86_64-linux-gnu/libopus.so* ./pjsip-bundle/lib/ 2>/dev/null || true + # cp /usr/lib/x86_64-linux-gnu/libssl.so* ./pjsip-bundle/lib/ 2>/dev/null || true + # cp /usr/lib/x86_64-linux-gnu/libcrypto.so* ./pjsip-bundle/lib/ 2>/dev/null || true + - name: Read VERSION + id: version + uses: juliangruber/read-file-action@v1 + with: + path: ./VERSION + - name: Zip PJSIP bundle + run: | + cd ./pjsip-bundle + zip -r ../pjsip-linux.x86.zip . + - name: Upload ZIP to GitHub Release + uses: softprops/action-gh-release@v2 + with: + tag_name: 'v${{ steps.version.outputs.content }}' + files: ./pjsip-linux.x86.zip + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + + + build-macos-arm64: + runs-on: macos-latest + steps: + - uses: actions/checkout@v2 + - name: Set Project src + run: echo "SRC_VERSION=2.14" >> $GITHUB_ENV + - name: Unzip PJ Project + run: unzip ./pjproject-${{ env.SRC_VERSION }}.zip + - name: install dependencies + run: brew install openssl@1.1 libvpx swig + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: config site + run: echo -e "#define PJMEDIA_HAS_VIDEO 1\n#define PJMEDIA_HAS_VID_TOOLBOX_CODEC 1\n" > pjlib/include/pj/config_site.h + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: configure + run: CFLAGS="-I/usr/local/include -I/usr/local/opt/openssl@1.1/include -fPIC" LDFLAGS="-L/usr/local/lib -L/usr/local/opt/openssl@1.1/lib" CXXFLAGS="-fPIC" ./configure + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: make + run: make + working-directory: ./pjproject-${{ env.SRC_VERSION }} + - name: Show Build Artifacts + working-directory: ./pjproject-${{ env.SRC_VERSION }} + run: ls -l + - name: Prepare PJSIP bundle + run: | + mkdir -p ./pjsip-bundle/lib + mkdir -p ./pjsip-bundle/include + # Copy all static and shared libraries and headers + # PJ Lib + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjlib/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjlib/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjlib/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ SIP + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjsip/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjsip/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjsip/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ Nath + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjnath/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjnath/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjnath/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # PJ Media + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjmedia/lib/*.a ./pjsip-bundle/lib/ 2>/dev/null || true + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjmedia/lib/*.so ./pjsip-bundle/lib/ 2>/dev/null || true + cp -r ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjmedia/include/* ./pjsip-bundle/include/ 2>/dev/null || true + # Copy CLI binary for testing + cp ./pjproject-${{ env.SRC_VERSION }}/${{ env.SRC_DIR }}/pjsip-apps/bin/pjsua-* ./pjsip-bundle/ 2>/dev/null || true + # Optionally copy third-party libs (example: opus, ssl) + # cp /usr/lib/x86_64-linux-gnu/libopus.so* ./pjsip-bundle/lib/ 2>/dev/null || true + # cp /usr/lib/x86_64-linux-gnu/libssl.so* ./pjsip-bundle/lib/ 2>/dev/null || true + # cp /usr/lib/x86_64-linux-gnu/libcrypto.so* ./pjsip-bundle/lib/ 2>/dev/null || true + - name: Read VERSION + id: version + uses: juliangruber/read-file-action@v1 + with: + path: ./VERSION + - name: Zip PJSIP bundle + run: | + cd ./pjsip-bundle + zip -r ../pjsip-macos.arm64.zip . + - name: Upload ZIP to GitHub Release + uses: softprops/action-gh-release@v2 + with: + tag_name: 'v${{ steps.version.outputs.content }}' + files: ./pjsip-macos.arm64.zip + env: + GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} + + + build-windows-x64: + runs-on: windows-latest + steps: + - uses: actions/checkout@v2 + - name: Set Project src + run: echo "SRC_VERSION=2.14" >> $GITHUB_ENV + - name: Unzip PJ Project + run: unzip ./pjproject-${{ env.SRC_VERSION }}.zip + - name: get openssl + run: Invoke-WebRequest -Uri "https://mirror.firedaemon.com/OpenSSL/openssl-1.1.1q.zip" -OutFile ".\openssl.zip" + shell: powershell + - name: expand openssl + run: | + Expand-Archive -LiteralPath .\openssl.zip -DestinationPath .\openssl_build\; pwd + cd openssl_build\openssl-1.1\x86 + Add-Content ..\..\..\openssl_dir.txt $pwd.Path + shell: powershell + - name: check openssl folder + run: | + set /P OPENSSL_DIR=