add examples and bags #90
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: Tests | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
# When this workflow is queued, automatically cancel any previous running | |
# or pending jobs from the same branch | |
concurrency: | |
group: ${{ github.ref }} | |
cancel-in-progress: true | |
# Required shell entrypoint to have properly activated conda environments | |
defaults: | |
run: | |
shell: bash -l {0} | |
jobs: | |
test: | |
runs-on: ${{ matrix.os }} | |
timeout-minutes: 90 | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["windows-latest", "ubuntu-latest", "macos-latest"] | |
environment: ["3.9", "3.10", "3.11", "3.12"] | |
extra: [null] | |
exclude: | |
- os: "macos-latest" | |
environment: "3.9" | |
- os: "macos-latest" | |
environment: "3.10" | |
- os: "macos-latest" | |
environment: "3.11" | |
include: | |
# Minimum dependencies | |
- os: "ubuntu-latest" | |
environment: "mindeps-array" | |
- os: "ubuntu-latest" | |
environment: "mindeps-dataframe" | |
- os: "ubuntu-latest" | |
environment: "mindeps-distributed" | |
- os: "ubuntu-latest" | |
environment: "mindeps-non-optional" | |
- os: "ubuntu-latest" | |
environment: "mindeps-optional" | |
# Pyarrow strings turned on | |
- os: "ubuntu-latest" | |
environment: "3.12" | |
extra: "pyarrow" | |
env: | |
PARALLEL: "true" | |
COVERAGE: "true" | |
HDF5_USE_FILE_LOCKING: "FALSE" | |
steps: | |
- name: Checkout source | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 # Needed by codecov.io | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
with: | |
distribution: "zulu" | |
java-version: "11" | |
- name: Setup Conda Environment | |
uses: conda-incubator/[email protected] | |
with: | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
use-mamba: true | |
channel-priority: strict | |
environment-file: continuous_integration/environment-${{ matrix.environment }}.yaml | |
activate-environment: test-environment | |
auto-activate-base: false | |
- name: Turn on Pyarrow strings config option | |
if: ${{ matrix.extra == 'pyarrow' }} | |
run: | | |
export DASK_DATAFRAME__CONVERT_STRING="True" | |
echo "DASK_DATAFRAME__CONVERT_STRING: $DASK_DATAFRAME__CONVERT_STRING" | |
echo "DASK_DATAFRAME__CONVERT_STRING=$DASK_DATAFRAME__CONVERT_STRING" >> $GITHUB_ENV | |
- name: Reconfigure pytest-timeout | |
# No SIGALRM available on Windows | |
if: ${{ matrix.os != 'windows-latest' }} | |
run: sed -i.bak 's/timeout_method = "thread"/timeout_method = "signal"/' pyproject.toml | |
- name: Install | |
run: source continuous_integration/scripts/install.sh | |
# This environment file is created in continuous_integration/scripts/install.sh | |
# and can be useful when debugging locally | |
- name: Upload environment file | |
uses: actions/upload-artifact@v3 | |
with: | |
name: env-${{ matrix.os }}-${{ matrix.environment }} | |
path: env.yaml | |
- name: Run tests | |
run: source continuous_integration/scripts/run_tests.sh | |
- name: Coverage | |
uses: codecov/codecov-action@v3 |