Skip to content

Commit

Permalink
Merge branch 'release-0.3.1'
Browse files Browse the repository at this point in the history
  • Loading branch information
LourensVeen committed Apr 24, 2020
2 parents 1d82e8c + 75482fd commit ad31d4b
Show file tree
Hide file tree
Showing 133 changed files with 35,885 additions and 10,105 deletions.
4 changes: 4 additions & 0 deletions .coveragerc
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,7 @@ source =
omit =
# Generated code
muscle_manager_protocol/muscle_manager_protocol_pb2*

[xml]

output = cobertura.xml
32 changes: 32 additions & 0 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Run Continuous Integration on every push
name: continuous_integration
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Set up Python 3.6
uses: actions/setup-python@v1
with:
python-version: 3.6

- name: Install dependencies
run: |
sudo apt-get install -y build-essential cmake gfortran libopenmpi-dev pkg-config wget
sudo apt-get install -y libssl-dev zlib1g-dev
pip install ymmsl==0.10.1
- name: Build and run the test suite
env:
MUSCLE_ENABLE_MPI: 1
run: |
cd $GITHUB_WORKSPACE
make test
- name: Upload coverage report to Codacy
uses: codacy/codacy-coverage-reporter-action@master
with:
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.5.1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.5.1
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.5.1 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.5.1-eggs

- name: Run Python tests on 3.5.1 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.5.1 /bin/bash -c 'cd /home/muscle3 && pip install -U pip setuptools wheel ymmsl==0.10.1 && make test_python_only'
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.5.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.5
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.5 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.5-eggs

- name: Run Python tests on 3.5 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.5 /bin/bash -c 'cd /home/muscle3 && pip install ymmsl==0.10.1 && make test_python_only'
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.6.1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.6.1
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.6.1 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.6.1-eggs

- name: Run Python tests on 3.6.1 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.6.1 /bin/bash -c 'cd /home/muscle3 && pip install -U pip setuptools wheel ymmsl==0.10.1 && make test_python_only'
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.6.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.6
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.6 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.6-eggs

- name: Run Python tests on 3.6 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.6 /bin/bash -c 'cd /home/muscle3 && pip install ymmsl==0.10.1 && make test_python_only'
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.7.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.7
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.7 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.7-eggs

- name: Run Python tests on 3.7 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.7 /bin/bash -c 'cd /home/muscle3 && pip install ymmsl==0.10.1 && make test_python_only'
19 changes: 19 additions & 0 deletions .github/workflows/ci_python3.8.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Run Continuous Integration on every push
# This version tests only Python, but on all supported versions of it.
name: python_compatibility_3.8
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Cache Python 3.8 eggs
uses: actions/cache@v1
with:
path: ${{ github.workspace }}/.eggs
key: python-compatibility-3.8-eggs

- name: Run Python tests on 3.8 latest
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" python:3.8 /bin/bash -c 'cd /home/muscle3 && pip install ymmsl==0.10.1 && make test_python_only'
15 changes: 15 additions & 0 deletions .github/workflows/ci_ubuntu16.04.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Run Continuous Integration for the latest Ubuntu release
# This mainly checks for issues/regressions in the native build
name: native_compatibility_ubuntu16.04
on:
schedule:
- cron: '0 1 * * 0'
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Run tests on Ubuntu 16.04
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" --env LC_ALL=C.UTF-8 --env LANG=C.UTF-8 --env DEBIAN_FRONTEND=noninteractive ubuntu:16.04 /bin/bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install build-essential cmake gfortran libopenmpi-dev pkg-config python3 python3-pip python3-venv curl && apt-get -y remove libssl-dev zlib1g-dev && pip3 install -U pip setuptools wheel && cd /home/muscle3 && pip3 install ymmsl==0.10.1 && make test_examples'
15 changes: 15 additions & 0 deletions .github/workflows/ci_ubuntu18.04.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Run Continuous Integration for the latest Ubuntu release
# This mainly checks for issues/regressions in the native build
name: native_compatibility_ubuntu18.04
on:
schedule:
- cron: '0 2 * * 0'
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Run tests on Ubuntu 18.04
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" --env LC_ALL=C.UTF-8 --env LANG=C.UTF-8 --env DEBIAN_FRONTEND=noninteractive ubuntu:18.04 /bin/bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install build-essential cmake gfortran libopenmpi-dev pkg-config python3 python3-pip python3-venv curl && apt-get -y remove libssl-dev zlib1g-dev && pip3 install -U pip setuptools wheel && cd /home/muscle3 && pip3 install ymmsl==0.10.1 && make test_examples'
15 changes: 15 additions & 0 deletions .github/workflows/ci_ubuntu19.10.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Run Continuous Integration for the latest Ubuntu release
# This mainly checks for issues/regressions in the native build
name: native_compatibility_ubuntu19.10
on:
schedule:
- cron: '0 3 * * 0'
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Run tests on Ubuntu 19.10
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" --env LC_ALL=C.UTF-8 --env LANG=C.UTF-8 --env DEBIAN_FRONTEND=noninteractive ubuntu:19.10 /bin/bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install build-essential cmake gfortran libopenmpi-dev pkg-config python3 python3-pip python3-venv curl && apt-get -y remove libssl-dev zlib1g-dev && pip3 install -U pip setuptools wheel && cd /home/muscle3 && pip3 install ymmsl==0.10.1 && make test_examples'
15 changes: 15 additions & 0 deletions .github/workflows/ci_ubuntu20.04.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Run Continuous Integration for the latest Ubuntu release
# This mainly checks for issues/regressions in the native build
name: native_compatibility_ubuntu20.04
on:
schedule:
- cron: '0 4 * * 0'
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2

- name: Run tests on Ubuntu 20.04
run: docker run -v "${GITHUB_WORKSPACE}:/home/muscle3" --env LC_ALL=C.UTF-8 --env LANG=C.UTF-8 --env DEBIAN_FRONTEND=noninteractive ubuntu:20.04 /bin/bash -c 'apt-get update && apt-get -y dist-upgrade && apt-get -y install build-essential cmake gfortran libopenmpi-dev pkg-config python3 python3-pip python3-venv curl && apt-get -y remove libssl-dev zlib1g-dev && pip3 install -U pip setuptools wheel && cd /home/muscle3 && pip3 install ymmsl==0.10.1 && make test_examples'
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

htmlcov
.coverage
coverage.xml
cobertura.xml

docs/doxygen
docs/apidocs
Expand Down
21 changes: 0 additions & 21 deletions .travis.yml

This file was deleted.

24 changes: 24 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,30 @@ Change Log
All notable changes to this project will be documented in this file.
This project adheres to `Semantic Versioning <http://semver.org/>`_.

0.3.1
*****

Added
-----

* Support for sending and receiving multidimensional grids/arrays
* Support for Python 3.8

Improved
--------

* Python 3.5.1 support
* Build compatibility on more operating systems

Thanks
------

* Olivier for testing, reporting and fixing build issues
* Pavel for testing and reporting build issues
* Hamid for testing and reporting build issues
* Ben for testing and reporting build issues


0.3.0
*****

Expand Down
2 changes: 1 addition & 1 deletion CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ authors:
-
family-names: Veen
given-names: Lourens
orcid: "https://orcid.org/000-0002-6311-1168"
orcid: "https://orcid.org/0000-0002-6311-1168"
cff-version: "1.1.0"
doi: "10.5281/zenodo.3258864"
keywords:
Expand Down
2 changes: 1 addition & 1 deletion Doxyfile
Original file line number Diff line number Diff line change
Expand Up @@ -2099,7 +2099,7 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.

PREDEFINED = MUSCLE_ENABLE_MPI
PREDEFINED = MUSCLE_ENABLE_MPI DOXYGEN_SHOULD_SKIP_THIS

# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
Expand Down
36 changes: 33 additions & 3 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,4 +1,11 @@
cpp_test_files := libmuscle/cpp/build/ymmsl/tests/test_* libmuscle/cpp/build/libmuscle/tests/test_*
export TOOLDIR := $(CURDIR)/scripts/gmake

version_file := $(CURDIR)/VERSION
export muscle_version := $(shell cat $(version_file))
export major_version := $(shell sed -e 's/^\([0-9]*\)\..*/\1/' $(version_file))
export minor_version := $(shell sed -e 's/^[0-9]*\.\([0-9]*\)\..*/\1/' $(version_file))
export patch_version := $(shell sed -e 's/^[0-9]*\.[0-9]*\.\([0-9]*\).*/\1/' $(version_file))


.PHONY: all
all: cpp fortran
Expand All @@ -11,22 +18,35 @@ all: cpp fortran
.PHONY: test
test: test_python test_scripts test_cpp test_fortran

.PHONY: test_python_only
test_python_only:
MUSCLE_TEST_PYTHON_ONLY=1 python3 setup.py test

.PHONY: test_python
test_python: cpp_tests fortran_tests
python3 setup.py test

.PHONY: test_cpp
test_cpp:
test_cpp: cpp
cd libmuscle/cpp && $(MAKE) test

.PHONY: test_fortran
test_fortran:
test_fortran: fortran_tests
cd libmuscle/fortran && $(MAKE) test

.PHONY: test_scripts
test_scripts:
cd scripts && $(MAKE) test

.PHONY: test_install
test_install:
PREFIX=$(CURDIR)/libmuscle/build/test_install $(MAKE) install

.PHONY: test_examples
test_examples: test_install
export MUSCLE3_HOME=$(CURDIR)/libmuscle/build/test_install && $(MAKE) -C docs/source/examples test


.PHONY: install
install: all
cd libmuscle/cpp && $(MAKE) install
Expand Down Expand Up @@ -61,6 +81,12 @@ install: all
@echo " Linking: -L$(PREFIX)/lib -lymmsl_fortran"
@echo " -lmuscle_mpi_fortran -lymmsl -lmuscle_mpi"
@echo '* *'
@echo '* *'
@echo " You can also use pkg-config. Add $(PREFIX)/lib/pkgconfig"
@echo '* to your PKG_CONFIG_PATH environment variable and use module *'
@echo '* names libmuscle, libmuscle_mpi, libmuscle_fortran or *'
@echo '* libmuscle_mpi_fortran. *'
@echo '* *'
@echo '* If the directory you installed MUSCLE 3 in is not in your *'
@echo "* system's library search path, then you have to set *"
@echo '* LD_LIBRARY_PATH before compiling, linking or running: *'
Expand Down Expand Up @@ -88,12 +114,16 @@ clean:
cd libmuscle/cpp && $(MAKE) clean
cd libmuscle/fortran && $(MAKE) clean
cd scripts && $(MAKE) clean
cd docs/source/examples && $(MAKE) clean
rm -rf ./build

.PHONY: distclean
distclean:
cd libmuscle/cpp && $(MAKE) distclean
cd libmuscle/fortran && $(MAKE) distclean
cd scripts && $(MAKE) distclean
cd docs/source/examples && $(MAKE) clean
rm -rf ./build

.PHONY: fortran
fortran: cpp
Expand Down
Loading

0 comments on commit ad31d4b

Please sign in to comment.