diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 853d956..6bff4f6 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -15,17 +15,13 @@ jobs: name: Build BlazingMQ as a dependency runs-on: ubuntu-24.04 outputs: - blazingmq_sha: ${{ steps.get-sha.outputs.blazingmq_sha }} + cache_key: ${{ steps.get-sha.outputs.blazingmq_sha }} steps: - uses: actions/checkout@v4 - - name: Checkout BlazingMQ - run: git clone --depth 1 https://github.com/bloomberg/blazingmq - - - name: Get latest BlazingMQ commit SHA + - name: Compute hash of dependency versions id: get-sha - working-directory: blazingmq - run: echo "blazingmq_sha=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + run: echo "blazingmq_sha=$(sha1sum bin/clone-dependencies.sh | awk '{ print $1 }')" >> $GITHUB_OUTPUT - name: Try to get cached BlazingMQ build artifacts id: cache-restore @@ -99,7 +95,7 @@ jobs: uses: actions/cache/restore@v4 with: path: blazingmq_artifacts.tar.gz - key: ${{ needs.blazingmq-dependency.outputs.blazingmq_sha }} + key: ${{ needs.blazingmq-dependency.outputs.cache_key }} - name: Restore cached BlazingMQ build artifacts run: tar xzf blazingmq_artifacts.tar.gz - name: Set up Python ${{ matrix.python-version }} @@ -120,13 +116,20 @@ jobs: gdb \ curl \ cmake \ - cmake \ ninja-build \ pkg-config \ bison \ libfl-dev \ libbenchmark-dev \ libz-dev + - name: Build and test install + env: + PREFIX: blazingmq_artifacts + PYTHON: ./venv/bin/python + PKG_CONFIG_PATH: /usr/lib/x86_64-linux-gnu/pkgconfig:/opt/bb/lib64/pkgconfig:./blazingmq_artifacts/lib64/pkgconfig + run: | + make test-build + make test-install - name: Run tests env: BMQ_BROKER_URI: tcp://localhost:30114 @@ -137,7 +140,8 @@ jobs: mkdir -p bmq/logs mkdir -p bmq/storage/archive ./blazingmq_artifacts/bin/bmqbrkr.tsk ./tests/broker-config & - (sleep 5; make test-build && make test-install && make check) + sleep 5 + make check lint-docs: name: Lint and Docs @@ -150,7 +154,7 @@ jobs: uses: actions/cache/restore@v4 with: path: blazingmq_artifacts.tar.gz - key: ${{ needs.blazingmq-dependency.outputs.blazingmq_sha }} + key: ${{ needs.blazingmq-dependency.outputs.cache_key }} - name: Restore cached BlazingMQ build artifacts run: tar xzf blazingmq_artifacts.tar.gz - name: Set up Python 3.9 @@ -186,6 +190,12 @@ jobs: env: PYTHON: ./venv/bin/python SPHINXBUILD: ../venv/bin/sphinx-build + - name: Package docs + uses: actions/upload-artifact@v4 + with: + name: api-docs + path: docs/_build/html + compression-level: 9 coverage: name: Coverage @@ -198,7 +208,7 @@ jobs: uses: actions/cache/restore@v4 with: path: blazingmq_artifacts.tar.gz - key: ${{ needs.blazingmq-dependency.outputs.blazingmq_sha }} + key: ${{ needs.blazingmq-dependency.outputs.cache_key }} - name: Restore cached BlazingMQ build artifacts run: tar xzf blazingmq_artifacts.tar.gz - name: Set up Python diff --git a/bin/build-macos-universal.sh b/bin/build-macos-universal.sh index 4168945..03efb62 100755 --- a/bin/build-macos-universal.sh +++ b/bin/build-macos-universal.sh @@ -68,6 +68,8 @@ if [ ! -e "${DIR_BUILD}/ntf-core/.complete" ]; then --output "${DIR_BUILD}/ntf-core" \ --ufid opt_64_pic_cpp17 \ --generator "Ninja" \ + --without-lz4 \ + --without-zstd \ --without-warnings-as-errors \ --without-usage-examples \ --without-applications diff --git a/bin/build-manylinux.sh b/bin/build-manylinux.sh index 7ec89d6..7f69af5 100755 --- a/bin/build-manylinux.sh +++ b/bin/build-manylinux.sh @@ -106,6 +106,8 @@ if [ ! -e "${DIR_BUILD}/ntf-core/.complete" ]; then --output "${DIR_BUILD}/ntf-core" \ --ufid opt_64_pic_cpp17 \ --generator "Ninja" \ + --without-lz4 \ + --without-zstd \ --without-warnings-as-errors \ --without-usage-examples \ --without-applications diff --git a/bin/clone-dependencies.sh b/bin/clone-dependencies.sh index 78f95ff..b961855 100755 --- a/bin/clone-dependencies.sh +++ b/bin/clone-dependencies.sh @@ -12,10 +12,10 @@ set -u # These are the release tags for each of the dependencies we manually clone. # Update these to update the version of each dependency we build against. -BDE_TOOLS_TAG=4.8.0.0 -BDE_TAG=4.8.0.0 -NTF_CORE_TAG=2.4.2 -BLAZINGMQ_TAG=BMQBRKR_0.92.5 +BDE_TOOLS_TAG=4.32.0.0 +BDE_TAG=4.32.0.0 +NTF_CORE_TAG=2.6.6 +BLAZINGMQ_TAG=BMQBRKR_0.94.8 if [ ! -d "${DIR_THIRDPARTY}/bde-tools" ]; then diff --git a/news/62.misc.rst b/news/62.misc.rst new file mode 100644 index 0000000..8f370cf --- /dev/null +++ b/news/62.misc.rst @@ -0,0 +1 @@ +Bump build dependency versions of BDE, ntf-core, and BlazingMQ/libbmq diff --git a/src/blazingmq/_about.py b/src/blazingmq/_about.py index 3e8b186..873278d 100644 --- a/src/blazingmq/_about.py +++ b/src/blazingmq/_about.py @@ -13,4 +13,4 @@ # See the License for the specific language governing permissions and # limitations under the License. -__version__ = "1.2.2" +__version__ = "1.2.3"