Pyproject: fix setuptools and add pixi tool #2325
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: build | |
on: [push, pull_request, workflow_dispatch] | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
# runs-on: macos-latest | |
strategy: | |
matrix: | |
#python-version: [3.5, 3.6, 3.7, 3.8] | |
#os: [ubuntu-latest, macos-latest, windows-latest] | |
os: [ubuntu-latest] | |
#os: [ubuntu-latest] | |
#os: [windows-latest] | |
python-version: [3.12] | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies (Linux) | |
env: | |
MMS_AUTH_U: ${{ secrets.MMS_AUTH_U }} | |
MMS_AUTH_P: ${{ secrets.MMS_AUTH_P }} | |
VIRES_TOKEN: ${{ secrets.VIRES_AUTH }} | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install spacepy # required for MMS qcotrans tests | |
pip install coveralls | |
pip install basemap | |
pip install 'mth5>=0.4.9' | |
python -m pyspedas.projects.mms.tests.setup_tests | |
if: matrix.os == 'ubuntu-latest' | |
- name: Install dependencies (Windows) | |
env: | |
MMS_AUTH_U: ${{ secrets.MMS_AUTH_U }} | |
MMS_AUTH_P: ${{ secrets.MMS_AUTH_P }} | |
VIRES_TOKEN: ${{ secrets.VIRES_AUTH }} | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install spacepy # required for MMS qcotrans tests | |
pip install coveralls | |
pip install basemap | |
pip install 'mth5>=0.4.9' | |
python -m pyspedas.projects.mms.tests.setup_tests | |
if: matrix.os == 'windows-latest' | |
- name: Install dependencies (macOS) | |
env: | |
MMS_AUTH_U: ${{ secrets.MMS_AUTH_U }} | |
MMS_AUTH_P: ${{ secrets.MMS_AUTH_P }} | |
VIRES_TOKEN: ${{ secrets.VIRES_AUTH }} | |
run: | | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
pip install spacepy # required for MMS qcotrans tests | |
pip install coveralls | |
pip install basemap | |
pip install 'mth5>=0.4.9' | |
python -m pyspedas.projects.mms.tests.setup_tests | |
if: matrix.os == 'macos-latest' | |
- name: Lint with flake8 | |
run: | | |
pip install flake8 | |
# stop the build if there are Python syntax errors or undefined names | |
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --max-line-length=127 --exclude 'erg' | |
# exit-zero treats all errors as warnings. | |
flake8 . --count --exit-zero --max-complexity=10 --statistics --max-line-length=127 | |
- name: Test with unittest | |
if: (github.event_name == 'pull_request' && github.base_ref == 'master') || github.ref == 'refs/heads/master' || github.ref == 'refs/heads/refactor_projects' | |
env: | |
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }} | |
VIRES_TOKEN: ${{ secrets.VIRES_AUTH }} | |
SPEDAS_DATA_DIR: data | |
ACE_DATA_DIR: ace_data/ | |
BARREL_DATA_DIR: barrel_data/ | |
CLUSTER_DATA_DIR: cluster_data/ | |
DSC_DATA_DIR: dsc_data/ | |
CSSWE_DATA_DIR: csswe_data/ | |
EQUATORS_DATA_DIR: eqs_data/ | |
FAST_DATA_DIR: fast_data/ | |
GEOTAIL_DATA_DIR: geotail_data/ | |
GOES_DATA_DIR: goes_data/ | |
IMAGE_DATA_DIR: img_data/ | |
MICA_DATA_DIR: mica_data/ | |
MMS_DATA_DIR: mms_data/ | |
OMNI_DATA_DIR: omni_data/ | |
POES_DATA_DIR: poes_data/ | |
POLAR_DATA_DIR: polar_data/ | |
PSP_DATA_DIR: psp_data/ | |
RBSP_DATA_DIR: rbsp_data/ | |
SOLO_DATA_DIR: solo_data/ | |
STEREO_DATA_DIR: stereo_data/ | |
THM_DATA_DIR: themis_data/ | |
TWINS_DATA_DIR: twins_data/ | |
ULY_DATA_DIR: uly_data/ | |
WIND_DATA_DIR: wind_data/ | |
LANL_DATA_DIR: lanl_data/ | |
CNOFS_DATA_DIR: cnofs_data/ | |
ST5_DATA_DIR: st5_data/ | |
PYTPLOT_LOGGING_LEVEL: error | |
run: | | |
echo "=========================================================" | |
# Show the free disk space on this filesystem | |
echo "Disk space prior to starting tests:" | |
df -h . | |
# Show the IP address the test suite is running from (useful for troubleshooting data server access issues) | |
echo "=========================================================" | |
echo IP address for this test: | |
coverage run -a -m pyspedas.utilities.tests.test_find_ip_address | |
echo Starting akebono tests at `date` | |
coverage run -a -m pyspedas.projects.akebono.tests.tests | |
echo Starting maven tests at `date` | |
coverage run -a -m pyspedas.projects.maven.tests.tests | |
echo Starting ace tests at `date` | |
coverage run -a -m pyspedas.projects.ace.tests.tests | |
echo Starting erg tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.tests | |
echo Starting erg cotrans tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.cotrans_tests | |
echo Starting erg ground data tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.ground_tests | |
echo Starting erg mepe particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.mepe_part_products | |
echo Starting erg mepi particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.mepi_part_products | |
echo Starting erg lepe particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.lepe_part_products | |
echo Starting erg lepi particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.lepi_part_products | |
echo Starting erg xep particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.xep_part_products | |
echo Starting erg hep particle tests at `date` | |
coverage run -a -m pyspedas.projects.erg.tests.hep_part_products | |
echo "=========================================================" | |
# Show the free disk space on this filesystem | |
echo "Disk space after ERG tests:" | |
df -h . | |
# Clean up files downloaded so far | |
/bin/rm -rf data/* | |
echo "Disk space after cleanup:" | |
df -h . | |
echo "=========================================================" | |
echo Starting VIRES client tests at `date` | |
coverage run -a -m pyspedas.vires.tests.tests | |
echo Starting secs tests at `date` | |
coverage run -a -m pyspedas.projects.secs.tests.tests | |
echo Starting MTH5 import test at `date` | |
coverage run -a -m pyspedas.mth5.tests.test_mth5_import | |
echo Starting MTH5 load_fdsn test at `date` | |
coverage run -a -m pyspedas.mth5.tests.test_load_fdsn | |
echo Starting cluster tests at `date` | |
coverage run -a -m pyspedas.projects.cluster.tests.tests | |
echo Starting CDAWeb tests at `date` | |
coverage run -a -m pyspedas.cdagui_tools.tests.tests | |
echo Starting themis tplot_time tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_tplot_time | |
echo Starting barrel tests at `date` | |
coverage run -a -m pyspedas.projects.barrel.tests.tests | |
echo Starting elfin epd_l1 tests at `date` | |
coverage run -a -m pyspedas.projects.elfin.tests.test_epd_l1 | |
echo Starting elfin epd_l2 tests at `date` | |
coverage run -a -m pyspedas.projects.elfin.tests.test_epd_l2 | |
echo Starting elfin state tests at `date` | |
coverage run -a -m pyspedas.projects.elfin.tests.test_state | |
echo Starting elfin tests at `date` | |
coverage run -a -m pyspedas.projects.elfin.tests.tests | |
echo Starting elfin epd calibration tests at `date` | |
coverage run -a -m pyspedas.projects.elfin.tests.test_epd_calibration | |
echo Starting soho tests at `date` | |
coverage run -a -m pyspedas.projects.soho.tests.tests | |
echo Starting de2 tests at `date` | |
coverage run -a -m pyspedas.projects.de2.tests.tests | |
echo Starting st5 tests at `date` | |
coverage run -a -m pyspedas.projects.st5.tests.tests | |
echo Starting lanl tests at `date` | |
coverage run -a -m pyspedas.projects.lanl.tests.tests | |
echo Starting cotrans quaternion tests at `date` | |
coverage run -a -m pyspedas.cotrans_tools.tests.quaternions | |
echo Starting cnofs tests at `date` | |
coverage run -a -m pyspedas.projects.cnofs.tests.tests | |
echo Starting kompsat tests at `date` | |
coverage run -a -m pyspedas.projects.kompsat.tests.tests | |
echo Starting hapi tests at `date` | |
coverage run -a -m pyspedas.hapi_tools.tests.tests | |
echo Starting noaa tests at `date` | |
coverage run -a -m pyspedas.projects.noaa.tests.tests | |
echo Starting particles tests at `date` | |
coverage run -a -m pyspedas.particles.tests.tests | |
echo Starting mms cotrans tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.cotrans | |
echo Starting mms events tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.events | |
echo Starting mms orbit_plots tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.orbit_plots | |
echo Starting mms overview_plots tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.overview_plots | |
echo Starting mms neutral sheet tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.neutral_sheet | |
echo Starting mms ql_lib_sitl tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.ql_l1b_sitl_tests | |
echo Starting mms_part_getspec tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.mms_part_getspec | |
echo Starting mms load routine tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.load_routine_tests | |
echo Starting mms feeps tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.feeps | |
echo Starting mms eis tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.eis | |
echo Starting mms fpi tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.fpi_tests | |
echo Starting mms file_filter tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.file_filter | |
echo Starting mms data_rate_segments tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.data_rate_segments | |
echo Starting mms curlometer tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.curlometer | |
echo Starting mms wavpol tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.wavpol | |
echo Starting mms slice2d tests at `date` | |
coverage run -a -m pyspedas.projects.mms.tests.slice2d | |
echo "=========================================================" | |
# Show the free disk space on this filesystem | |
echo "Disk space after MMS tests:" | |
df -h . | |
# Clean up MMS data | |
/bin/rm -rf mms_data/* | |
echo "Disk space after MMS cleanup:" | |
df -h . | |
echo "=========================================================" | |
echo Starting dscovr tests at `date` | |
coverage run -a -m pyspedas.projects.dscovr.tests.tests | |
echo Starting utilities download tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.download_tests | |
echo Starting utilities misc tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.misc_tests | |
echo Starting tplot wildcard tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.tplot_wildcard_tests | |
echo Starting plotting tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.plot_tests | |
echo Starting utilities time_tests tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.time_tests | |
echo Starting utilities libs_tests tests at `date` | |
coverage run -a -m pyspedas.utilities.tests.libs_tests | |
echo Starting cotrans tests at `date` | |
coverage run -a -m pyspedas.cotrans_tools.tests.cotrans | |
echo Starting cotrans minvar tests at `date` | |
coverage run -a -m pyspedas.cotrans_tools.tests.test_minvar | |
echo Starting csswe tests at `date` | |
coverage run -a -m pyspedas.projects.csswe.tests.tests | |
echo Starting equator_s tests at `date` | |
coverage run -a -m pyspedas.projects.equator_s.tests.tests | |
echo Starting image tests at `date` | |
coverage run -a -m pyspedas.projects.image.tests.tests | |
echo Starting psp tests at `date` | |
coverage run -a -m pyspedas.projects.psp.tests.tests | |
echo Starting rbsp tests at `date` | |
coverage run -a -m pyspedas.projects.rbsp.tests.tests | |
echo Starting stereo tests at `date` | |
coverage run -a -m pyspedas.projects.stereo.tests.tests | |
echo Starting twins tests at `date` | |
coverage run -a -m pyspedas.projects.twins.tests.tests | |
echo Starting wind tests at `date`from pyspedas.poes.load import load | |
coverage run -a -m pyspedas.projects.wind.tests.tests | |
echo Starting poes tests at `date` | |
coverage run -a -m pyspedas.projects.poes.tests.tests | |
echo Starting polar tests at `date` | |
coverage run -a -m pyspedas.projects.polar.tests.tests | |
echo Starting geopack tests at `date` | |
coverage run -a -m pyspedas.geopack.tests.tests | |
echo Starting geopack-IDL validation tests at `date` | |
coverage run -a -m pyspedas.geopack.tests.geopack_idl_validation_tests | |
echo Starting geotail tests at `date` | |
coverage run -a -m pyspedas.projects.geotail.tests.tests | |
echo Starting analysis tests at `date` | |
coverage run -a -m pyspedas.analysis.tests.tests | |
echo Starting analysis wavpol tests at `date` | |
coverage run -a -m pyspedas.analysis.tests.test_twavpol | |
echo Starting analysis magnetic nulls tests at `date` | |
coverage run -a -m pyspedas.analysis.tests.test_magnetic_nulls | |
echo Starting fast tests at `date` | |
coverage run -a -m pyspedas.projects.fast.tests.tests | |
echo Starting omni tests at `date` | |
coverage run -a -m pyspedas.projects.omni.tests.tests | |
echo Starting themis tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests | |
echo Starting goes tests at `date` | |
coverage run -a -m pyspedas.projects.goes.tests.tests | |
echo Starting mica tests at `date` | |
coverage run -a -m pyspedas.projects.mica.tests.tests | |
echo Starting ulysses tests at `date` | |
coverage run -a -m pyspedas.projects.ulysses.tests.tests | |
echo Starting solo tests at `date` | |
coverage run -a -m pyspedas.projects.solo.tests.tests | |
echo Starting kyoto tests at `date` | |
coverage run -a -m pyspedas.projects.kyoto.tests.tests | |
echo Starting swarm tests at `date` | |
coverage run -a -m pyspedas.projects.swarm.tests.tests | |
echo Starting themis_check_args tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_themis_check_args | |
echo Starting themis autoload support tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.autoload_support_tests | |
echo Starting themis cal_fit tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_cal_fit | |
echo Starting themis dsl_cotrans tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_dsl_cotrans | |
echo Starting themis lunar_cotrans tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_lunar_cotrans | |
echo Starting themis spinmodel tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_spinmodel | |
echo Starting themis state tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_state | |
echo Starting themis scpot2dens tests at `date` | |
coverage run -a -m pyspedas.projects.themis.tests.tests_scpot2dens | |
echo "=========================================================" | |
# Show the free disk space on this filesystem | |
echo "Disk space after all tests:" | |
df -h . | |
echo "=========================================================" | |
echo Done with tests at `date` | |
coveralls |