Skip to content

[ENH] set random seed in TestAllForecasters data generation - potential solution for sporadic failures #16537

[ENH] set random seed in TestAllForecasters data generation - potential solution for sporadic failures

[ENH] set random seed in TestAllForecasters data generation - potential solution for sporadic failures #16537

Workflow file for this run

name: Install and test
on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
code-quality:
name: code-quality
runs-on: ubuntu-latest
steps:
- name: repository checkout step
uses: actions/checkout@v4
- name: python environment step
uses: actions/setup-python@v5
with:
python-version: "3.11"
- name: install pre-commit
run: python3 -m pip install pre-commit
- id: changed-files
name: identify modified files
uses: tj-actions/changed-files@v44
- name: run pre-commit hooks on modified files
run: pre-commit run --color always --files ${{ steps.changed-files.outputs.all_changed_files }} --show-diff-on-failure
- name: check missing __init__ files
run: build_tools/fail_on_missing_init_files.sh
shell: bash
run-notebook-examples:
needs: code-quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[all_extras,binder,dev,mlflow]
- name: Run example notebooks
run: build_tools/run_examples.sh
shell: bash
run-blogpost-examples:
needs: code-quality
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[all_extras,binder,dev,mlflow]
- name: Run example notebooks
run: build_tools/run_blogposts.sh
shell: bash
detect-package-change:
needs: code-quality
name: detect package changes
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
sktime: ${{ steps.filter.outputs.sktime }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
sktime:
- sktime/**
- pyproject.toml
test-nodevdeps:
needs: detect-package-change
if: ${{ needs.detect-package-change.outputs.sktime == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .
- name: Run pytest-free tests
run: |
python sktime/_nopytest_tests.py
test-nosoftdeps:
needs: detect-package-change
if: ${{ needs.detect-package-change.outputs.sktime == 'true' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .[dev]
- name: Show dependencies
run: python -m pip list
- name: Run tests
run: make PYTESTOPTIONS="--cov --cov-report=xml --timeout=600" test_softdeps
test-nosoftdeps-full:
needs: test-nosoftdeps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git remote set-branches origin 'main'
- run: git fetch --depth 1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .[dev]
- name: Show dependencies
run: python -m pip list
- name: Run tests
run: make PYTESTOPTIONS="--cov --cov-report=xml --timeout=600" test_softdeps_full
test-mlflow:
needs: test-nosoftdeps
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .[all_extras,dev,mlflow_tests] --no-cache-dir
- name: Show dependencies
run: python -m pip list
- name: Run tests
run: make PYTESTOPTIONS="--cov --cov-report=xml --timeout=600" test_mlflow
test-cython-estimators:
needs: test-nosoftdeps
runs-on: macos-13
steps:
- uses: actions/checkout@v4
- run: git remote set-branches origin 'main'
- run: git fetch --depth 1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install OS packages
run: brew install libomp
- name: Install sktime and dependencies
run: |
python -m pip install .[dev,cython_extras] --no-cache-dir
- name: Show dependencies
run: python -m pip list
- name: Run tests
run: make PYTESTOPTIONS="--cov --cov-report=xml --only_cython_estimators=True --matrixdesign=False --timeout=600" test_check_suite
- name: Publish code coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
detect:
needs: test-nosoftdeps
name: detect changes
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
datasets: ${{ steps.filter.outputs.datasets }}
pyproject: ${{ steps.filter.outputs.pyproject }}
steps:
- uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
id: filter
with:
filters: |
datasets:
- sktime/base/**
- sktime/datasets/**
pyproject:
- pyproject.toml
test-base:
needs: test-nosoftdeps
name: base
uses: ./.github/workflows/test_base.yml
secrets: inherit
test-module:
needs: test-nosoftdeps
name: module
uses: ./.github/workflows/test_module.yml
secrets: inherit
test-other:
needs: test-nosoftdeps
name: other
uses: ./.github/workflows/test_other.yml
secrets: inherit
test-datasets:
needs: detect
name: datasets
if: ${{ needs.detect.outputs.datasets == 'true' }}
uses: ./.github/workflows/test_datasets.yml
secrets: inherit
test-full:
needs: test-nosoftdeps
strategy:
fail-fast: false # to not fail all combinations if just one fail
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest, macos-13, windows-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- run: git remote set-branches origin 'main'
- run: git fetch --depth 1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .[all_extras_pandas2,dev,dl] --no-cache-dir
- name: Show dependencies
run: python -m pip list
- name: Show available branches
run: git branch -a
- name: Run tests
run: make test_without_datasets
- name: Publish code coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}
test-unix-pandas1:
needs: test-nosoftdeps
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: git remote set-branches origin 'main'
- run: git fetch --depth 1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Display Python version
run: python -c "import sys; print(sys.version)"
- name: Install sktime and dependencies
run: |
python -m pip install .[all_extras,dev,pandas1] --no-cache-dir
- name: Show dependencies
run: python -m pip list
- name: Show available branches
run: git branch -a
- name: Run tests
run: make test_without_datasets
- name: Publish code coverage
uses: codecov/codecov-action@v4
with:
token: ${{ secrets.CODECOV_TOKEN }}