Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
33 commits
Select commit Hold shift + click to select a range
cf1d22f
Fix multi-response support in PRESS stats, R-squared, and check_fit
bdphilli Apr 1, 2026
0ae31d6
Fix SSE and SST for multi-response: use direct residual computation
bdphilli Apr 1, 2026
a434e79
Merge branch 'nasa:main' into multi-response-stats
jnschmid May 4, 2026
75d96fc
updated 2D statistics calculations and added 2D cases to the unittests
jnschmid May 28, 2026
8d41290
updated test_workflow.yml to use the 'latest' version of jax
jnschmid May 28, 2026
e1ec16e
updated docs_workflow.yml to use the 'latest' version of jax
jnschmid May 28, 2026
34f8d65
added upgrades for pip, setuptools, and 'packaging>=24.2' to the docs…
jnschmid May 28, 2026
25c27f3
added 'shell: bash -l {0}' to adding the additional pip installs
jnschmid May 28, 2026
ac3df28
still trying to fix the test environment in the CI
jnschmid May 28, 2026
5086c23
still trying to fix the test environment in the CI
jnschmid May 28, 2026
d6bb5f1
still trying to fix the test environment in the CI
jnschmid May 28, 2026
3c978cd
still trying to fix the test environment in the CI
jnschmid May 28, 2026
78e6f3e
still trying to fix the test environment in the CI
jnschmid May 28, 2026
ee03f1d
still trying to fix the test environment in the CI
jnschmid May 28, 2026
592097f
still trying to fix the test environment in the CI
jnschmid May 28, 2026
616a088
this file shouldn't have been added before
jnschmid May 29, 2026
d6ebfcd
still trying to fix the test environment in the CI
jnschmid May 29, 2026
3d62d3d
still trying to fix the test environment in the CI
jnschmid May 29, 2026
66e40a8
still trying to fix the test environment in the CI
jnschmid May 29, 2026
e253f44
still trying to fix the test environment in the CI
jnschmid May 29, 2026
6d64802
still trying to fix the test environment in the CI
jnschmid May 29, 2026
c2aa09d
still trying to fix the test environment in the CI
jnschmid May 29, 2026
9e60715
still trying to fix the test environment in the CI
jnschmid May 29, 2026
b204260
Trying to fix the test workflow with pixi
jnschmid Jun 17, 2026
6dcfde8
Updates to support pixi
jnschmid Jun 17, 2026
ae62622
Added pixi.lock file
jnschmid Jun 17, 2026
8cc9720
Removed lines in the test_workflow.yml
jnschmid Jun 17, 2026
2b49275
Added steps to the tests_workflow.yml
jnschmid Jun 17, 2026
f967f76
cleanup test workflow
robfalck Jun 25, 2026
fc45d43
added dependency cooldown period to pixi environment
robfalck Jun 25, 2026
4fb951d
removed unused imports
jnschmid Jun 25, 2026
4327ac3
updates for package versions
jnschmid Jun 25, 2026
410cb4f
update pixi.lock file
jnschmid Jun 25, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .github/workflows/docs_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ on:
jobs:

docs_ubuntu:
runs-on: ubuntu-22.04
runs-on: ubuntu-latest

timeout-minutes: 90

Expand Down Expand Up @@ -43,7 +43,7 @@ jobs:
NUMPY: '2.4'
SCIPY: '1.17'
PYYAML: '6.0.3'
JAX: '0.9'
JAX: '0.9.0'
OPENMDAO: 'latest'
DYMOS: 'latest'
MPI4PY: '4.1'
Expand Down
170 changes: 27 additions & 143 deletions .github/workflows/tests_workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,175 +3,59 @@
name: UQPCE Tests

on:
# Trigger on push, pull request
push:
branches: [ main ]
pull_request:
branches: [ main, develop ]

# Trigger via workflow_dispatch event
workflow_dispatch:
inputs:
uqpce_pixi:
type: boolean
description: "Run tests using uqpce's pixi environment"
required: false
default: true

jobs:

test_ubuntu:
runs-on: ubuntu-22.04
test_uqpce_pixi:
runs-on: ${{ matrix.runs-on }}

defaults:
run:
shell: bash

timeout-minutes: 90

strategy:
fail-fast: false
matrix:
include:
# baseline versions except with pyoptsparse but no SNOPT
# build docs to verify those that use pyoptsparse do not use SNOPT
- NAME: baseline
PY: '3.11'
NUMPY: '2.0'
SCIPY: '1.13'
PYYAML: '6.0.2'
JAX: '0.6.1'
OPENMDAO: 'latest'
DYMOS: 'latest'
MPI4PY: '3.1.4'
OPTIONAL: '[docs]'

# make sure the latest versions of things don't break the docs
- NAME: latest
PY: '3.14'
NUMPY: '2.4'
SCIPY: '1.17'
PYYAML: '6.0.3'
JAX: '0.9'
OPENMDAO: 'latest'
DYMOS: 'latest'
MPI4PY: '4.1'
OPTIONAL: '[docs]'
- pixi-env: default
runs-on: ubuntu-latest
- pixi-env: default
runs-on: macos-latest
- pixi-env: default
runs-on: windows-latest

steps:
- name: Display run details
run: |
echo "============================================================="
echo "Run #${GITHUB_RUN_NUMBER}"
echo "Run ID: ${GITHUB_RUN_ID}"
echo "Testing: ${GITHUB_REPOSITORY}"
echo "Triggered by: ${GITHUB_EVENT_NAME}"
echo "Initiated by: ${GITHUB_ACTOR}"
echo "============================================================="

- name: Checkout code
uses: actions/checkout@v4

- name: Setup conda
uses: conda-incubator/setup-miniconda@v3
- name: Install Pixi
uses: prefix-dev/setup-pixi@v0.9.6
with:
python-version: ${{ matrix.PY }}
channels: conda-forge
conda-remove-defaults: true

- name: Install Numpy/Scipy
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install Numpy/Scipy"
echo "============================================================="
conda install numpy=${{ matrix.NUMPY }} scipy=${{ matrix.SCIPY }} -q -y

- name: Install OpenMDAO
if: matrix.OPENMDAO
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install OpenMDAO"
echo "============================================================="
if [[ "${{ matrix.OPENMDAO }}" == "dev" ]]; then
pip install git+https://github.com/OpenMDAO/OpenMDAO
elif [[ "${{ matrix.OPENMDAO }}" == "latest" ]]; then
pip install openmdao
else
pip install openmdao==${{ matrix.OPENMDAO }}
fi

- name: Install Dymos
if: matrix.DYMOS
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install Dymos"
echo "============================================================="
if [[ "${{ matrix.DYMOS }}" == "dev" ]]; then
pip install git+https://github.com/OpenMDAO/dymos
elif [[ "${{ matrix.DYMOS }}" == "latest" ]]; then
pip install dymos
else
pip install dymos==${{ matrix.DYMOS }}
fi
environments: ${{ matrix.pixi-env }}

- name: Install PyYAML
if: matrix.PYYAML
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install PyYAML"
echo "============================================================="
pip install PyYAML==${{ matrix.PYYAML }}

- name: Install JAX
if: matrix.JAX
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install JAX"
echo "============================================================="
pip install jax==${{ matrix.JAX }}

- name: Install mpi4py
if: matrix.MPI4PY
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install mpi4py"
echo "============================================================="
conda install mpi4py==${{ matrix.MPI4PY }} -q -y

- name: Install UQPCE
shell: bash -l {0}
run: |
echo "============================================================="
echo "Install UQPCE"
echo "============================================================="
pip install .${{ matrix.OPTIONAL }}

- name: Display environment info
id: env_info
shell: bash -l {0}
- name: Display run details
run: |
conda info
conda list

echo "============================================================="
echo "Check installed versions of Python, Numpy and Scipy"
echo "Run #${GITHUB_RUN_NUMBER}"
echo "Testing: ${GITHUB_REPOSITORY}"
echo "Pixi environment: ${{ matrix.pixi-env }}"
echo "OS: ${{ matrix.runs-on }}"
echo "============================================================="
python -c "import sys; assert str(sys.version).startswith(str(${{ matrix.PY }})), \
f'Python version {sys.version} is not the requested version (${{ matrix.PY }})'"

python -c "import numpy; assert str(numpy.__version__).startswith(str(${{ matrix.NUMPY }})), \
f'Numpy version {numpy.__version__} is not the requested version (${{ matrix.NUMPY }})'"

python -c "import scipy; assert str(scipy.__version__).startswith(str(${{ matrix.SCIPY }})), \
f'Scipy version {scipy.__version__} is not the requested version (${{ matrix.SCIPY }})'"

- name: Display dependency tree
if: failure() && steps.env_info.outcome == 'failure'
run: |
pip install pipdeptree
pipdeptree

- name: Run tests
shell: bash -l {0}
run: |
echo "============================================================="
echo "Run Tests"
echo "============================================================="
cd $HOME/work/UQPCE/UQPCE
python -m unittest discover uqpce "test*.py"
pixi run -e ${{ matrix.pixi-env }} python -m unittest discover uqpce "test*.py"
4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -103,4 +103,6 @@ venv.bak/
n2.html
*SNOPT_print.out
*SNOPT_summary.out
docs/_autosummary/*
docs/_autosummary/*# pixi environments
.pixi/*
!.pixi/config.toml
Loading
Loading