forked from 3rdparty/wrf-python
Browse Source
* Restructured folders and env files and some docs in regards * Additional refactoring to file names * Github actions configured fully * Corrected ubuntu vs win64 bug in CI * Windows build fix * Trying to fix Windows build tests * Continue fixing windows build tests * ANother fixing attempt on windows build tests * Stil attempting to fix * Another attempt to fix * Little correction in config * Still trying to get windows build tests done * Maybe this time * try a different windows build bat * Another attempt * Trying vs2015 installation * again * Gave up windows build tests * Remove CircleCI config * Corrected env namein docs * Sorted env files alphabeticallymain
9 changed files with 93 additions and 188 deletions
@ -1,12 +0,0 @@ |
|||||||
name: wrf-python |
|
||||||
channels: |
|
||||||
- conda-forge |
|
||||||
dependencies: |
|
||||||
- gcc_linux-64 |
|
||||||
- gfortran_linux-64 |
|
||||||
- setuptools |
|
||||||
- python |
|
||||||
- numpy |
|
||||||
- wrapt |
|
||||||
- xarray |
|
||||||
- netcdf4 |
|
@ -1,99 +0,0 @@ |
|||||||
# Python CircleCI 2.0 configuration file |
|
||||||
# |
|
||||||
# Check https://circleci.com/docs/2.0/language-python/ for more details |
|
||||||
# |
|
||||||
version: 2 |
|
||||||
jobs: |
|
||||||
lint: |
|
||||||
docker: |
|
||||||
- image: circleci/python:3.6.1 |
|
||||||
|
|
||||||
working_directory: ~/repo |
|
||||||
|
|
||||||
steps: |
|
||||||
- checkout |
|
||||||
- run: |
|
||||||
name: install pycodestyle |
|
||||||
command: | |
|
||||||
sudo pip install pycodestyle |
|
||||||
- run: |
|
||||||
name: run pycodestyle |
|
||||||
command: | |
|
||||||
pycodestyle src test |
|
||||||
|
|
||||||
build: |
|
||||||
docker: |
|
||||||
# specify the version you desire here |
|
||||||
# use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers` |
|
||||||
- image: circleci/python:3.6.1 |
|
||||||
|
|
||||||
# Specify service dependencies here if necessary |
|
||||||
# CircleCI maintains a library of pre-built images |
|
||||||
# documented at https://circleci.com/docs/2.0/circleci-images/ |
|
||||||
# - image: circleci/postgres:9.4 |
|
||||||
|
|
||||||
working_directory: ~/repo |
|
||||||
|
|
||||||
steps: |
|
||||||
- checkout |
|
||||||
|
|
||||||
# Download and cache dependencies |
|
||||||
- restore_cache: |
|
||||||
keys: |
|
||||||
- v1-dependencies-{{ checksum ".circleci/conda_env.yml" }} |
|
||||||
|
|
||||||
- run: |
|
||||||
name: install conda and dependencies |
|
||||||
command: | |
|
||||||
test -d ~/miniconda3 && exit 0 |
|
||||||
echo "Installing a fresh version of Miniconda." |
|
||||||
MINICONDA_URL="https://repo.continuum.io/miniconda" |
|
||||||
MINICONDA_FILE="Miniconda3-latest-Linux-x86_64.sh" |
|
||||||
curl -L -O "${MINICONDA_URL}/${MINICONDA_FILE}" |
|
||||||
bash $MINICONDA_FILE -b |
|
||||||
source ~/miniconda3/bin/activate root |
|
||||||
conda env create -f .circleci/conda_env.yml |
|
||||||
|
|
||||||
- save_cache: |
|
||||||
paths: |
|
||||||
- ~/miniconda3 |
|
||||||
key: v1-dependencies-{{ checksum ".circleci/conda_env.yml" }} |
|
||||||
|
|
||||||
- run: |
|
||||||
name: build wrf-python |
|
||||||
command: | |
|
||||||
source ~/miniconda3/bin/activate wrf-python |
|
||||||
unset FFLAGS |
|
||||||
unset LDFLAGS |
|
||||||
unset CFLAGS |
|
||||||
cd fortran/build_help |
|
||||||
$FC -o sizes -fopenmp omp_sizes.f90 |
|
||||||
LD_LIBRARY_PATH=~/miniconda3/envs/wrf-python/lib python sub_sizes.py |
|
||||||
cd .. |
|
||||||
$FC -E ompgen.F90 -fopenmp -cpp -o omp.f90 |
|
||||||
cd .. |
|
||||||
python setup.py config_fc --f90flags="-mtune=generic -fopenmp" build_ext --libraries="gomp" build |
|
||||||
python setup.py install --single-version-externally-managed --record=record.txt |
|
||||||
|
|
||||||
|
|
||||||
# run tests! |
|
||||||
# this example uses Django's built-in test-runner |
|
||||||
# other common Python testing frameworks include pytest and nose |
|
||||||
# https://pytest.org |
|
||||||
# https://nose.readthedocs.io |
|
||||||
- run: |
|
||||||
name: run tests |
|
||||||
command: | |
|
||||||
source ~/miniconda3/bin/activate wrf-python |
|
||||||
cd test/ci_tests |
|
||||||
python utests.py |
|
||||||
|
|
||||||
- store_artifacts: |
|
||||||
path: test-reports |
|
||||||
destination: test-reports |
|
||||||
workflows: |
|
||||||
version: 2 |
|
||||||
build_and_lint: |
|
||||||
jobs: |
|
||||||
- build |
|
||||||
- lint |
|
@ -0,0 +1,56 @@ |
|||||||
|
name: CI |
||||||
|
on: |
||||||
|
push: |
||||||
|
pull_request: |
||||||
|
workflow_dispatch: |
||||||
|
# schedule: |
||||||
|
# - cron: '0 0 * * *' # Daily “At 00:00” |
||||||
|
|
||||||
|
jobs: |
||||||
|
test: |
||||||
|
# if: | |
||||||
|
# github.repository == 'NCAR/wrf-python' |
||||||
|
name: Python (${{ matrix.python-version }}, ${{ matrix.os }}) |
||||||
|
runs-on: ${{ matrix.os }} |
||||||
|
defaults: |
||||||
|
run: |
||||||
|
shell: bash -l {0} |
||||||
|
|
||||||
|
strategy: |
||||||
|
fail-fast: false |
||||||
|
matrix: |
||||||
|
os: [ "ubuntu-latest", "macos-latest"] |
||||||
|
python-version: [ "3.6", "3.7", "3.8", "3.9" ] |
||||||
|
|
||||||
|
steps: |
||||||
|
- name: Cancel previous runs |
||||||
|
uses: styfle/cancel-workflow-action@0.9.0 |
||||||
|
with: |
||||||
|
access_token: ${{ github.token }} |
||||||
|
- name: Checkout |
||||||
|
uses: actions/checkout@v2 |
||||||
|
with: |
||||||
|
token: ${{ github.token }} |
||||||
|
- name: Conda setup |
||||||
|
uses: conda-incubator/setup-miniconda@v2 |
||||||
|
with: |
||||||
|
activate-environment: wrf_python_build |
||||||
|
python-version: ${{ matrix.python-version }} |
||||||
|
channels: conda-forge, ncar |
||||||
|
- name: Conda install (Darwin) |
||||||
|
if: matrix.os == 'macos-latest' |
||||||
|
run: | |
||||||
|
conda env update --file build_envs/Darwin.yml --prune |
||||||
|
- name: Conda install (Linux) |
||||||
|
if: matrix.os == 'ubuntu-latest' |
||||||
|
run: | |
||||||
|
conda env update --file build_envs/Linux.yml --prune |
||||||
|
- name: Build WRF-Python |
||||||
|
run: | |
||||||
|
cd build_scripts |
||||||
|
./gnu_omp.sh |
||||||
|
cd .. |
||||||
|
- name: Run tests |
||||||
|
run: | |
||||||
|
cd test/ci_tests |
||||||
|
python utests.py |
@ -1,20 +1,21 @@ |
|||||||
# Create full conda environment for development, including some useful tools |
# Create full conda environment for development, including some useful tools |
||||||
name: develop |
name: wrf_python_build |
||||||
channels: |
channels: |
||||||
- conda-forge |
- conda-forge |
||||||
dependencies: |
dependencies: |
||||||
- python=3 |
- python=3 |
||||||
- wrapt |
- basemap |
||||||
- numpy |
- cartopy |
||||||
|
- clang_osx-64 |
||||||
|
- gfortran_osx-64 |
||||||
|
- jupyter |
||||||
- matplotlib |
- matplotlib |
||||||
- netcdf4 |
- netcdf4 |
||||||
- xarray |
- numpy |
||||||
- jupyter |
- pycodestyle |
||||||
|
- setuptools |
||||||
- sphinx |
- sphinx |
||||||
- sphinx_rtd_theme |
- sphinx_rtd_theme |
||||||
- pycodestyle |
- wrapt |
||||||
- cartopy |
- xarray |
||||||
- basemap |
|
||||||
- clang_osx-64 |
|
||||||
- gfortran_osx-64 |
|
||||||
|
|
@ -1,20 +1,21 @@ |
|||||||
# Create full conda environment for development, including some useful tools |
# Create full conda environment for development, including some useful tools |
||||||
name: develop |
name: wrf_python_build |
||||||
channels: |
channels: |
||||||
- conda-forge |
- conda-forge |
||||||
dependencies: |
dependencies: |
||||||
- python=3 |
- python=3 |
||||||
- wrapt |
- basemap |
||||||
- numpy |
- cartopy |
||||||
|
- gcc_linux-64 |
||||||
|
- gfortran_linux-64 |
||||||
|
- jupyter |
||||||
- matplotlib |
- matplotlib |
||||||
- netcdf4 |
- netcdf4 |
||||||
- xarray |
- numpy |
||||||
- jupyter |
- pycodestyle |
||||||
|
- setuptools |
||||||
- sphinx |
- sphinx |
||||||
- sphinx_rtd_theme |
- sphinx_rtd_theme |
||||||
- pycodestyle |
- wrapt |
||||||
- cartopy |
- xarray |
||||||
- basemap |
|
||||||
- gcc_linux-64 |
|
||||||
- gfortran_linux-64 |
|
||||||
|
|
@ -1,19 +1,21 @@ |
|||||||
# Create full conda environment for development, including some useful tools |
# Create full conda environment for development, including some useful tools |
||||||
name: develop |
name: wrf_python_build |
||||||
channels: |
channels: |
||||||
- conda-forge |
- conda-forge |
||||||
|
- msys2 |
||||||
dependencies: |
dependencies: |
||||||
- python=3 |
- python=3 |
||||||
- wrapt |
- basemap |
||||||
- numpy |
- cartopy |
||||||
|
- jupyter |
||||||
|
- m2w64-toolchain |
||||||
- matplotlib |
- matplotlib |
||||||
- netcdf4 |
- netcdf4 |
||||||
- xarray |
- numpy |
||||||
- jupyter |
- pycodestyle |
||||||
|
- setuptools |
||||||
- sphinx |
- sphinx |
||||||
- sphinx_rtd_theme |
- sphinx_rtd_theme |
||||||
- pycodestyle |
- wrapt |
||||||
- cartopy |
- xarray |
||||||
- basemap |
|
||||||
- m2w64-toolchain |
|
||||||
|
|
@ -1,22 +0,0 @@ |
|||||||
# Create full conda environment for development, including some useful tools |
|
||||||
name: testenv2 |
|
||||||
channels: |
|
||||||
- conda-forge |
|
||||||
dependencies: |
|
||||||
- python=2 |
|
||||||
- wrapt |
|
||||||
- numpy |
|
||||||
- matplotlib |
|
||||||
- netcdf4 |
|
||||||
- xarray |
|
||||||
- jupyter |
|
||||||
- sphinx |
|
||||||
- sphinx_rtd_theme |
|
||||||
- pycodestyle |
|
||||||
- cartopy |
|
||||||
- basemap |
|
||||||
- clang_osx-64 |
|
||||||
- gfortran_osx-64 |
|
||||||
- pynio |
|
||||||
- ncl |
|
||||||
|
|
@ -1,22 +0,0 @@ |
|||||||
# Create full conda environment for development, including some useful tools |
|
||||||
name: testenv3 |
|
||||||
channels: |
|
||||||
- conda-forge |
|
||||||
dependencies: |
|
||||||
- python=3 |
|
||||||
- wrapt |
|
||||||
- numpy |
|
||||||
- matplotlib |
|
||||||
- netcdf4 |
|
||||||
- xarray |
|
||||||
- jupyter |
|
||||||
- sphinx |
|
||||||
- sphinx_rtd_theme |
|
||||||
- pycodestyle |
|
||||||
- cartopy |
|
||||||
- basemap |
|
||||||
- clang_osx-64 |
|
||||||
- gfortran_osx-64 |
|
||||||
- pynio |
|
||||||
- ncl |
|
||||||
|
|
Loading…
Reference in new issue