feat!: support opt-in S3 URLs and simplify protocol registration #239
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: Tests | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| workflow_call: | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| env: | |
| OPENDAL_S3_ENDPOINT: http://127.0.0.1:9000 | |
| OPENDAL_S3_REGION: us-east-1 | |
| OPENDAL_S3_BUCKET: test-bucket | |
| OPENDAL_S3_ACCESS_KEY_ID: minioadmin | |
| OPENDAL_S3_SECRET_ACCESS_KEY: minioadmin | |
| jobs: | |
| quality: | |
| name: Quality | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| with: | |
| just-version: "1.58.0" | |
| - name: Install the project | |
| run: just install | |
| - name: Run quality checks | |
| run: just check | |
| unit: | |
| name: Unit (Python ${{ matrix.python-version }}) | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.12", "3.13", "3.14"] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: ${{ matrix.python-version }} | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| with: | |
| just-version: "1.58.0" | |
| - name: Install the project | |
| run: just install | |
| - name: Run unit tests | |
| run: >- | |
| just unit | |
| --ignore=tests/integration/{airflow,kerchunk,prefect,rechunker,torchdata,xarray,zarr} | |
| latest-contract: | |
| name: Contract (latest fsspec) | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| with: | |
| just-version: "1.58.0" | |
| - name: Install the locked project | |
| run: just install | |
| - name: Upgrade contract dependencies | |
| run: uv pip install --upgrade fsspec s3fs | |
| - name: Run contract tests | |
| env: | |
| UV_NO_SYNC: "1" | |
| run: just integration tests/core/test_fsspec_abstract.py | |
| integration: | |
| name: MinIO integration | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| with: | |
| just-version: "1.58.0" | |
| - name: Install the project | |
| run: just install | |
| - name: Run integration tests | |
| run: >- | |
| just integration | |
| --ignore=tests/integration/{airflow,kerchunk,prefect,rechunker,torchdata,xarray,zarr} | |
| downstream-integration: | |
| name: Downstream integration (${{ matrix.name }}) | |
| runs-on: ubuntu-24.04 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: Airflow | |
| group: integration-airflow | |
| tests: tests/integration/airflow | |
| - name: Kerchunk | |
| group: integration-kerchunk | |
| tests: tests/integration/kerchunk | |
| - name: Prefect | |
| group: integration-prefect | |
| tests: tests/integration/prefect | |
| - name: Rechunker | |
| group: integration-rechunker | |
| tests: tests/integration/rechunker | |
| - name: TorchData | |
| group: integration-torchdata | |
| tests: tests/integration/torchdata | |
| - name: Xarray and Zarr | |
| group: integration-xarray | |
| tests: tests/integration/xarray tests/integration/zarr | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Install uv | |
| uses: astral-sh/setup-uv@v5 | |
| with: | |
| python-version: "3.12" | |
| - name: Install just | |
| uses: extractions/setup-just@v4 | |
| with: | |
| just-version: "1.58.0" | |
| - name: Install downstream integration dependencies | |
| run: uv sync --locked --dev --group ${{ matrix.group }} | |
| - name: Run downstream integration tests | |
| env: | |
| UV_NO_SYNC: "1" | |
| run: just integration ${{ matrix.tests }} |