Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .github/minio-release.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# The MinIO server CI runs its tests against, pinned by release and verified
# against a digest that lives here rather than being fetched beside the binary
# -- a checksum from the same origin as the download cannot attest to it.
#
# To bump: change MINIO_RELEASE, then replace each digest from
# https://dl.min.io/aistor/minio/release/<platform>/archive/minio.$MINIO_RELEASE.sha256sum
# The digests changing is the point: they show up in review.
MINIO_RELEASE=RELEASE.2026-09-07T08-39-31Z
MINIO_SHA256_LINUX_AMD64=f62b67211cb8c19bb37aa5f318b8842987b261b7f0e985df61a5fe30707e7827
MINIO_SHA256_LINUX_ARM64=8667dbae348167a71dd686177845c09bd033b4fbed155fa2bb5b2ad4f67e5644
MINIO_SHA256_DARWIN_ARM64=5c7edd0bab341a94b18da4b24e76c1b5a9272f67d015a643d48fd0e3618c54a0
MINIO_SHA256_WINDOWS_AMD64=393be601638a2ec57bc334400baadce8c27fdcb1e8c4f35e7c21a1fd121167fb
35 changes: 25 additions & 10 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -120,24 +120,38 @@ jobs:
- name: Install dependencies if Ubuntu
if: startsWith(matrix.config.name, 'Ubuntu_Latest_GCC')
run: |
wget --quiet https://dl.min.io/aistor/minio/release/linux-${{ matrix.config.arch }}/minio
. ./minio-cpp/.github/minio-release.env
arch=${{ matrix.config.arch }}
case "$arch" in
amd64) expected=$MINIO_SHA256_LINUX_AMD64 ;;
arm64) expected=$MINIO_SHA256_LINUX_ARM64 ;;
*) echo "no pinned digest for linux-$arch" >&2; exit 1 ;;
esac
wget --quiet -O minio "https://dl.min.io/aistor/minio/release/linux-${arch}/archive/minio.${MINIO_RELEASE}"
echo "${expected} minio" | sha256sum -c -
chmod +x minio
cmake --version
./minio --version

- name: Install dependencies if macOS
if: startsWith(matrix.config.os, 'macos')
run: |
brew install pkg-config cmake minio/stable/minio
brew install pkg-config cmake
. ./minio-cpp/.github/minio-release.env
curl -fsSL -o minio "https://dl.min.io/aistor/minio/release/darwin-arm64/archive/minio.${MINIO_RELEASE}"
echo "${MINIO_SHA256_DARWIN_ARM64} minio" | shasum -a 256 -c -
chmod +x minio
cmake --version
minio --version
./minio --version

- name: Install dependencies if Windows
shell: bash
if: startsWith(matrix.config.os, 'windows')
run: |
choco install -y --no-progress cmake wget
wget --quiet https://dl.min.io/server/minio/release/windows-amd64/minio.exe
. ./minio-cpp/.github/minio-release.env
wget --quiet -O minio.exe "https://dl.min.io/aistor/minio/release/windows-amd64/archive/minio.exe.${MINIO_RELEASE}"
echo "${MINIO_SHA256_WINDOWS_AMD64} minio.exe" | sha256sum -c -
chmod +x minio.exe
cmake --version

Expand All @@ -164,7 +178,8 @@ jobs:
- name: Start MinIO server if macOS
if: startsWith(matrix.config.name, 'macos')
run: |
MINIO_CI_CD=true minio server test-xl/{1...4}/ &
export MINIO_LICENSE=$(cat ./minio-cpp/.github/aistor-free-license.jwt)
MINIO_CI_CD=true ./minio server test-xl/{1...4}/ &
sleep 10

- name: Start MinIO server if Windows
Expand All @@ -174,6 +189,7 @@ jobs:
mkdir -p ~/.minio/certs
cp ./minio-cpp/tests/public.crt ./minio-cpp/tests/private.key ~/.minio/certs/
certutil -addstore -f "ROOT" ./minio-cpp/tests/public.crt
export MINIO_LICENSE=$(cat ./minio-cpp/.github/aistor-free-license.jwt)
MINIO_CI_CD=true ./minio.exe server test-xl/{1...4}/ &
sleep 10

Expand Down Expand Up @@ -219,13 +235,12 @@ jobs:
cmake --build build
- name: Start MinIO server
run: |
MINIO_RELEASE=RELEASE.2025-09-07T16-13-09Z
wget --quiet https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_RELEASE}
wget --quiet https://dl.min.io/server/minio/release/linux-amd64/archive/minio.${MINIO_RELEASE}.sha256sum
sha256sum -c minio.${MINIO_RELEASE}.sha256sum
mv minio.${MINIO_RELEASE} minio
. .github/minio-release.env
wget --quiet -O minio "https://dl.min.io/aistor/minio/release/linux-amd64/archive/minio.${MINIO_RELEASE}"
echo "${MINIO_SHA256_LINUX_AMD64} minio" | sha256sum -c -
chmod +x minio
mkdir -p /data
export MINIO_LICENSE=$(cat .github/aistor-free-license.jwt)
MINIO_CI_CD=true ./minio server /data --address 127.0.0.1:9000 &
MINIO_PID=$!
for i in $(seq 1 30); do
Expand Down
Loading