fix: keep opts.Internal on CompleteMultipartUpload #248
Workflow file for this run
This file contains hidden or 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 (RDMA) | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Build with -tags=rdma against minio-cpp (${{ matrix.config.arch }}) | |
| runs-on: ${{ matrix.config.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: | |
| - { os: ubuntu-latest, arch: "amd64" } | |
| - { os: ubuntu-24.04-arm, arch: "arm64" } | |
| steps: | |
| - name: Checkout minio-go | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| path: "minio-go" | |
| - name: Checkout minio-cpp | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: minio/minio-cpp | |
| # Pinned: this job copies vendor/s3rdma out of the checkout, so a | |
| # floating main makes the build race whatever landed there. It already | |
| # did -- a run started before minio-cpp vendored libs3rdma and failed | |
| # on the missing directory. Bump this when picking up a minio-cpp fix. | |
| ref: v0.7.0 # first release carrying the libs3rdma transport | |
| persist-credentials: false | |
| path: "minio-cpp" | |
| - name: Checkout vcpkg | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: microsoft/vcpkg | |
| # Pinned: vcpkg master requires a newer CMake than the arm64 | |
| # runner image ships (scripts use string(JSON ... STRING_ENCODE) | |
| # since microsoft/vcpkg@5397c5c9f), which fails every arm64 run. | |
| ref: cd61e1e26a038e82d6550a3ebbe0fbbfe7da78e3 # tag 2026.06.24 | |
| persist-credentials: false | |
| path: "vcpkg" | |
| - name: Install system dependencies | |
| run: | | |
| sudo apt-get -qy update | |
| sudo apt-get -qy install cmake libibverbs-dev | |
| - name: Build and install libminiocpp.so with RDMA | |
| shell: bash | |
| env: | |
| MATRIX_ARCH: ${{ matrix.config.arch }} | |
| run: | | |
| ./vcpkg/bootstrap-vcpkg.sh | |
| cd minio-cpp | |
| ../vcpkg/vcpkg install | |
| cmake . -B ./build \ | |
| -DCMAKE_BUILD_TYPE=Release \ | |
| -DBUILD_SHARED_LIBS=ON \ | |
| -DCMAKE_INSTALL_PREFIX=/usr/local \ | |
| -DCMAKE_TOOLCHAIN_FILE=../vcpkg/scripts/buildsystems/vcpkg.cmake \ | |
| -DMINIO_CPP_ENABLE_RDMA:BOOL=ON | |
| cmake --build ./build --config Release -j 4 | |
| sudo cmake --install ./build | |
| case "$MATRIX_ARCH" in | |
| amd64) s3rdma_arch=x86_64 ;; | |
| arm64) s3rdma_arch=aarch64 ;; | |
| *) echo "unsupported architecture: $MATRIX_ARCH" >&2; exit 1 ;; | |
| esac | |
| sudo cp -P "vendor/s3rdma/lib/${s3rdma_arch}"/* /usr/local/lib/ | |
| sudo ldconfig | |
| - name: Set up Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version: "1.25.x" | |
| - name: Build minio-go with -tags=rdma | |
| working-directory: minio-go | |
| run: | | |
| go build -tags=rdma ./... | |
| go build -tags=rdma -o /tmp/rdma-test ./cmd/rdma-test | |
| # The buffer-size guards run before any C call, so they are testable on a | |
| # runner with no RDMA device. Without this step nothing under -tags=rdma is | |
| # ever executed, only compiled. | |
| - name: Test minio-go with -tags=rdma | |
| working-directory: minio-go | |
| run: go test -tags=rdma -run 'RDMA' -v . |