Skip to content

Commit

Permalink
Run everest tests before publishing to pypi
Browse files Browse the repository at this point in the history
  • Loading branch information
frode-aarstad committed Sep 23, 2024
1 parent d535c95 commit 5249c3f
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 27 deletions.
22 changes: 18 additions & 4 deletions .github/workflows/build_and_test.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Build and test ERT and docs
name: Build and test

on:
push:
Expand Down Expand Up @@ -29,7 +29,7 @@ jobs:
with:
python-version: ${{ matrix.python-version }}

test-linux:
test-linux-ert:
strategy:
fail-fast: false
matrix:
Expand All @@ -43,6 +43,20 @@ jobs:
test-type: ${{ matrix.test-type }}
secrets: inherit

test-linux-everest:
strategy:
fail-fast: false
matrix:
test-type: [ 'test', 'ui-test', 'integration-test', 'everest-models-test', 'doc', 'everest-docs-entry-test' ]
python-version: [ '3.8', '3.11', '3.12' ]
os: [ ubuntu-latest ]
uses: ./.github/workflows/test_everest.yml
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
test-type: ${{ matrix.test-type }}
secrets: inherit

test-slurm:
strategy:
fail-fast: false
Expand All @@ -55,7 +69,7 @@ jobs:
python-version: ${{ matrix.python-version }}
secrets: inherit

test-mac-for-tags:
test-mac-for-tags-ert:
if: github.ref_type == 'tag' # only test all variants for tags
strategy:
fail-fast: false
Expand Down Expand Up @@ -141,7 +155,7 @@ jobs:
publish:
name: Publish to PyPI
runs-on: ubuntu-latest
needs: [build-wheels, test-linux, test-mac-for-tags, docs-ert]
needs: [build-wheels, test-linux-ert, test-linux-everest, test-mac-for-tags-ert, docs-ert]
permissions:
id-token: write

Expand Down
44 changes: 21 additions & 23 deletions .github/workflows/test_everest.yml
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
name: everest-run-tests-build-docs

on:
pull_request:
workflow_dispatch:
push:
branches:
- main
tags: "*"
workflow_call:
inputs:
os:
type: string
python-version:
type: string
test-type:
type: string

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
Expand All @@ -17,24 +19,20 @@ env:
UV_SYSTEM_PYTHON: 1

jobs:
tests:
name: "py_${{ matrix.python-version }}_${{ matrix.test_type }}"
tests-everest:
name: Run everest tests
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
python-version: ['3.8', '3.11', '3.12']
os: [ubuntu-latest]
test_type: ['doc', 'ui-test', 'test', 'integration-test', 'everest-models-test']
runs-on: ${{ matrix.os }}
runs-on: ${{ inputs.os }}

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python ${{ matrix.python-version }}

- name: Set up Python ${{ inputs.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
python-version: ${{ inputs.python-version }}

- name: Install uv
uses: astral-sh/setup-uv@v3
Expand All @@ -44,36 +42,36 @@ jobs:
uv pip install ".[dev,everest]"
- name: Run Tests
if: matrix.test_type == 'test'
if: inputs.test-type == 'test'
run: |
pytest tests/everest -n 4 -m "not ui_test and not integration_test" --dist loadgroup -sv
- name: Run Integration Tests
if: matrix.test_type == 'integration-test'
if: inputs.test-type == 'integration-test'
run: |
pytest tests/everest -n 4 -m "integration_test" --dist loadgroup
- name: Run UI Tests
if: matrix.test_type == 'ui-test'
if: inputs.test-type == 'ui-test'
env:
QT_QPA_PLATFORM: 'minimal'
run: |
python -m pytest tests/everest -m "ui_test"
- name: Build Documentation
if: matrix.test_type == 'doc'
if: inputs.test-type == 'doc'
run: |
uv pip install git+https://github.com/equinor/everest-models.git
mkdir tmp
sphinx-build -n -v -E -W ./docs/everest ./tmp/everest_docs
- name: Run tests requiring everest-models
if: matrix.test_type == 'everest-models-test'
if: inputs.test-type == 'everest-models-test'
run: |
uv pip install git+https://github.com/equinor/everest-models.git
python -m pytest tests -n 4 -m everest_models_test --dist loadgroup
- name: Test docs entry point
if: matrix.test_type == 'everest-docs-entry-test'
if: inputs.test-type == 'everest-docs-entry-test'
run: |
python -m everest.docs

0 comments on commit 5249c3f

Please sign in to comment.