Test build #3353
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: Test build | |
on: | |
workflow_dispatch: | |
pull_request: | |
push: | |
branches: [main] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [windows-latest, macos-latest, ubuntu-latest] | |
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 30 | |
# Required for miniconda to activate conda | |
defaults: | |
run: | |
shell: bash -l {0} | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Get conda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
miniforge-variant: Mambaforge | |
use-mamba: true | |
- name: Install ROOT | |
if: matrix.python-version == 3.8 && runner.os != 'macOS' && runner.os != 'Windows' | |
run: | | |
conda env list | |
mamba install root | |
conda list | |
- name: Install sshd for fsspec ssh tests | |
if: runner.os != 'macOS' && runner.os != 'Windows' | |
run: | | |
sudo apt-get install -y openssh-server | |
sudo service ssh restart | |
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa | |
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys | |
chmod og-wx ~/.ssh/authorized_keys | |
ssh-keyscan -H localhost >> ~/.ssh/known_hosts | |
ssh -o StrictHostKeyChecking=no localhost echo "ssh connection successful" | |
- name: Install XRootD | |
if: runner.os != 'macOS' && runner.os != 'Windows' | |
run: | | |
conda env list | |
mamba install xrootd | |
conda list | |
- name: Pip install the package | |
run: python -m pip install .[test,dev] | |
- name: Run pytest | |
run: | | |
python -m pytest -vv tests --reruns 3 --reruns-delay 30 --only-rerun "(?i)http|timeout|connection|socket" | |
vanilla-build: | |
strategy: | |
fail-fast: false | |
matrix: | |
platform: [windows-latest, ubuntu-latest, macos-latest] | |
python-version: ['3.11'] | |
runs-on: ${{ matrix.platform }} | |
timeout-minutes: 30 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Pip install the package | |
run: python -m pip install .[test,dev] | |
- name: Run pytest | |
run: | | |
python -m pytest -vv tests --reruns 3 --reruns-delay 30 --only-rerun "(?i)http|timeout|connection|socket" |