Add minio
to Integration Tests
#448
Workflow file for this run
This file contains 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: Integration tests | |
on: | |
push: | |
branches: [ "main" ] | |
pull_request: | |
branches: [ "main" ] | |
types: [ opened, reopened, synchronize, labeled ] | |
env: | |
PYTEST_ADDOPTS: "--color=yes" | |
jobs: | |
integration-tests: | |
# run on: | |
# - all pushes to specified branch(es) | |
# - a PR was just labeled 'test-integration' | |
# - a PR with 'test-integration' label was opened, reopened, or synchronized | |
if: | | |
github.event_name == 'push' || | |
github.event.label.name == 'test-integration' || | |
contains( github.event.pull_request.labels.*.name, 'test-integration') | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
# the runner versions tested here are pinned to an older version of apache-beam which is not | |
# necessarily expected to work on python > 3.9. For one additional context point, see: | |
# https://github.com/pangeo-forge/pangeo-forge-recipes/issues/540#issuecomment-1685096271 | |
# Once https://github.com/pangeo-forge/pangeo-forge-runner/pull/90 goes in, we can add back | |
# integration testing for 3.10 and 3.11 (for runner versions that follow that PR). | |
python-version: ["3.9"] # , "3.10", "3.11"] | |
runner-version: [ | |
"pangeo-forge-runner==0.8.0", | |
"pangeo-forge-runner==0.9.0", | |
] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: π Setup Python | |
id: setup-python | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
cache-dependency-path: pyproject.toml | |
- name: 'Setup minio' | |
run: | | |
wget --quiet https://dl.min.io/server/minio/release/linux-amd64/minio | |
chmod +x minio | |
mv minio /usr/local/bin/minio | |
minio --version | |
- name: π― Check cache hit | |
run: echo '${{ steps.setup-python.outputs.cache-hit }}' | |
- name: π Install pangeo-forge-recipes & pangeo-forge-runner | |
shell: bash -l {0} | |
run: | | |
python -m pip install -e ".[test,minio]" | |
python -m pip install ${{ matrix.runner-version }} | |
- name: πββοΈ Run Tests | |
shell: bash -l {0} | |
run: | | |
pytest --timeout=600 -vvxs tests/test_integration.py --run-integration |