feat: support dualstack S3 Express endpoints #1910
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 (Linux) | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| # This ensures that previous jobs for the PR are canceled when the PR is | |
| # updated. | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.head_ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| build: | |
| name: Test on Go ${{ matrix.go-version }} and ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| go-version: [1.25.x, 1.26.x] | |
| os: [ubuntu-latest] | |
| steps: | |
| - name: Set up Go ${{ matrix.go-version }} on ${{ matrix.os }} | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version: ${{ matrix.go-version }} | |
| id: go | |
| - name: Check out code into the Go module directory | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Build on ${{ matrix.os }} | |
| env: | |
| MINT_MODE: full | |
| SERVER_ENDPOINT: localhost:9000 | |
| ACCESS_KEY: minioadmin | |
| SECRET_KEY: minioadmin | |
| ENABLE_HTTPS: 1 | |
| MINIO_KMS_SECRET_KEY: my-minio-key:OSMM+vkKUTCvQs9YL/CVMIMt43HFhkUpqJxTmGl6rYw= | |
| SSL_CERT_FILE: /tmp/certs-dir/public.crt | |
| MINIO_CI_CD: true | |
| MINT_NO_FULL_OBJECT: true | |
| run: | | |
| sudo apt update -y | |
| sudo apt install devscripts -y | |
| mkdir -p /tmp/certs-dir | |
| cp testcerts/* /tmp/certs-dir | |
| # Test against the AIStor :edge-daily image so the latest AIStor APIs | |
| # (object annotations) and checksum algorithms (xxhash3/xxhash128, | |
| # sha512, md5) are available to the functional tests. | |
| docker pull quay.io/minio/aistor/minio:edge-daily | |
| # Free-tier AIStor license so the server allows writes (without a | |
| # license the server boots read-only). This is a public FREE-plan | |
| # license, not a secret. | |
| MINIO_LICENSE="eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJhaWQiOjAsImNhcCI6MCwiaWF0IjoxLjc4MDAzMTY0NTUyMzA5ODM1OGU5LCJpc3MiOiJzdWJuZXRAbWluLmlvIiwibGlkIjoiYjNhYTliNGQtOTUxYy00MjIzLTgyMmEtZGY2NjE5MDNjOWFkIiwibm9kZXMiOjEsIm9yZyI6IiIsInBsYW4iOiJGUkVFIiwicHJvZHVjdCI6IkFJU3RvciIsInN1YiI6ImRldkBtaW5pby5pbyIsInRyaWFsIjpmYWxzZX0.Aq0kaFgd5SMHYEK7fIYzPsU4xlS119sj-BSyftCDpmtHIbW6KNFXGA9nbKPc17ZXKgcQgUoaPncsq30EOy7PyH-lp3LPpy3rPoD7ptJHI2v0jqpvlnP0cVGK0Yuw3vib" | |
| docker rm -f aistor >/dev/null 2>&1 || true | |
| docker run -d --name aistor \ | |
| -p 9000:9000 \ | |
| -v /tmp/certs-dir:/certs \ | |
| -e MINIO_ROOT_USER=minioadmin \ | |
| -e MINIO_ROOT_PASSWORD=minioadmin \ | |
| -e MINIO_CI_CD=true \ | |
| -e MINIO_KMS_SECRET_KEY="${MINIO_KMS_SECRET_KEY}" \ | |
| -e MINIO_LICENSE="${MINIO_LICENSE}" \ | |
| quay.io/minio/aistor/minio:edge-daily \ | |
| server --quiet --certs-dir /certs /data/{1...4} | |
| for _ in $(seq 1 60); do | |
| if curl -sf --cacert /tmp/certs-dir/public.crt https://localhost:9000/minio/health/ready >/dev/null; then | |
| break | |
| fi | |
| sleep 1 | |
| done | |
| make |