name: Build AlliedModders Extension on: push: branches: - master - main tags: - "*" pull_request: branches: - master - main jobs: build-libuv-linux: runs-on: ubuntu-24.04 env: CC: "clang-14" CXX: "clang++-14" steps: - name: Checkout repository with submodules uses: actions/checkout@v7 with: submodules: recursive - name: Install Linux dependencies run: | sudo dpkg --add-architecture i386 sudo apt-get update sudo apt-get install -y --no-install-recommends \ gcc-multilib g++-multilib libstdc++6 lib32stdc++6 \ libc6-dev libc6-dev-i386 linux-libc-dev \ linux-libc-dev:i386 lib32z1-dev ${{ env.CC }} - name: Build and install libuv (Linux x86) working-directory: libuv run: | bash autogen.sh ./configure --prefix="$(pwd)/dist" --build=i686-pc-linux-gnu "CFLAGS=-m32" "CXXFLAGS=-m32" "LDFLAGS=-m32" --disable-shared --enable-static make -j8 make install - name: Upload libuv Linux Artifact uses: actions/upload-artifact@v4 with: name: libuv-linux path: libuv/dist retention-days: 1 build-libuv-windows: runs-on: windows-2022 steps: - name: Checkout repository with submodules uses: actions/checkout@v7 with: submodules: recursive - name: Build and install libuv (Windows x86) shell: cmd working-directory: libuv run: | mkdir build cd build cmake .. -A Win32 -DBUILD_TESTING=OFF -DLIBUV_BUILD_SHARED=OFF -DCMAKE_MSVC_RUNTIME_LIBRARY="MultiThreaded$<$:Debug>" -DCMAKE_INSTALL_PREFIX=..\dist cmake --build . --config Release --target install - name: Upload libuv Windows Artifact uses: actions/upload-artifact@v4 with: name: libuv-windows path: libuv/dist retention-days: 1 build-release-extension: uses: srcdslab/ci-workflows/.github/workflows/shared_build_release_am_extension.yml@v1 needs: [build-libuv-linux, build-libuv-windows] with: sdks: "sdk2013" artifact-path: "libuv/dist" submodules: "recursive"