Fix S3 suffix byte-range requests when reading sharded chunks #318
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: CI | |
| on: | |
| workflow_dispatch: | |
| push: | |
| branches: [ "main" ] | |
| pull_request: | |
| branches: [ "main" ] | |
| jobs: | |
| build: | |
| strategy: | |
| matrix: | |
| os: [ ubuntu-latest, windows-latest, macos-latest ] | |
| fail-fast: false | |
| runs-on: ${{ matrix.os }} | |
| services: | |
| s3mock: | |
| # This service will only start if the runner is Linux | |
| image: ${{ matrix.os == 'ubuntu-latest' && 'adobe/s3mock:3.11.0' || '' }} | |
| ports: | |
| - 9090:9090 | |
| env: | |
| initialBuckets: zarr-test-bucket | |
| defaults: | |
| run: | |
| shell: bash | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| submodules: true | |
| - name: Set up JDK | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: '11' | |
| distribution: 'temurin' | |
| cache: maven | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v6 | |
| - name: Download testdata | |
| run: | | |
| mkdir -p zarr-java-core/testoutput zarr-java-ome/testoutput | |
| curl https://static.webknossos.org/data/zarr_v3/l4_sample.zip -o zarr-java-core/testdata/l4_sample.zip | |
| cd zarr-java-core/testdata | |
| unzip l4_sample.zip | |
| - name: Build | |
| run: mvn compile | |
| - name: Test | |
| env: | |
| MAVEN_OPTS: "-Xmx6g" | |
| run: | | |
| if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then | |
| mvn --no-transfer-progress test -DargLine="-Xmx6g" -DrunS3Tests=true | |
| else | |
| mvn --no-transfer-progress test -DargLine="-Xmx6g" | |
| fi | |
| - name: Assemble JAR | |
| run: mvn package -DskipTests | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: jar-${{ runner.os }} | |
| path: | | |
| zarr-java-core/target/*.jar | |
| zarr-java-ome/target/*.jar |