diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index c6c9da267..f79685450 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -1,12 +1,12 @@ name: Build documentation (don't publish) on: - push: - pull_request: + pull_request: branches: [ main ] - + jobs: build: + if: '! github.event.pull_request.draft' runs-on: ubuntu-latest diff --git a/.github/workflows/draft_test.yml b/.github/workflows/draft_test.yml new file mode 100644 index 000000000..ee9fdec3b --- /dev/null +++ b/.github/workflows/draft_test.yml @@ -0,0 +1,30 @@ +name: Draft PR Test + +on: + pull_request: + branches: [ main ] + +jobs: + build: + if: 'github.event.pull_request.draft' + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - uses: chartboost/ruff-action@v1 # Fail fast if there are any linting errors + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.11 + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pytest + + - name: Install modelskill + run: pip install .[test] + - name: Test with pytest + run: pytest --ignore tests/notebooks/ + - name: Static type check + run: make typecheck diff --git a/.github/workflows/full_test.yml b/.github/workflows/full_test.yml index 83c854714..61c79a1a7 100644 --- a/.github/workflows/full_test.yml +++ b/.github/workflows/full_test.yml @@ -1,22 +1,19 @@ -# This workflow will install Python dependencies, run tests and lint with a variety of Python versions -# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions - name: Full test on: - push: - branches: [ main] - pull_request: - branches: [ main ] + workflow_dispatch: + pull_request_review: + types: [submitted] jobs: build: + if: github.event.review.state == 'APPROVED' runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest] - python-version: ["3.8", "3.9", "3.10","3.11"] + python-version: ["3.8", "3.12"] steps: - uses: actions/checkout@v3 diff --git a/.github/workflows/notebooks_test.yml b/.github/workflows/notebooks_test.yml index 506991ce8..5ea59dd88 100644 --- a/.github/workflows/notebooks_test.yml +++ b/.github/workflows/notebooks_test.yml @@ -4,11 +4,11 @@ on: push: branches: [ main] pull_request: - branches: [ main ] + types: [opened, reopened, synchronize, ready_for_review] jobs: build: - + if: github.event.pull_request.draft == false runs-on: ubuntu-latest steps: @@ -16,7 +16,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: '3.9' + python-version: '3.11' - name: Install modelskill run: | pip install .[test,notebooks] diff --git a/.github/workflows/scheduled_test.yml b/.github/workflows/scheduled_test.yml index 400871d8f..a36323a45 100644 --- a/.github/workflows/scheduled_test.yml +++ b/.github/workflows/scheduled_test.yml @@ -14,7 +14,7 @@ jobs: strategy: matrix: os: [ubuntu-latest, windows-latest] - python-version: [3.8, 3.9, "3.10"] + python-version: ["3.8", "3.12"] steps: - uses: actions/checkout@v3