diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index 317ba03e38..8d40e5c1a4 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -332,6 +332,158 @@ jobs: + ci_ubuntu22: + runs-on: 'ubuntu-22.04' + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v2 + + - name: Install libraries + run: | + sudo apt-get update + sudo apt-get install netcdf-bin libnetcdf-dev libgtk2.0-0 libgtk2.0-dev + + - name: Create conda environment + uses: conda-incubator/setup-miniconda@v2 + with: + python-version: 2.7.18 + activate-environment: mdanse + + - name: Install python netCDF4 package + run: conda install netCDF4 -n mdanse + + - name: Install python packages + run: | + $CONDA/envs/mdanse/bin/python -m pip install numpy matplotlib Cython Pyro sphinx==1.6.7 stdeb docutils==0.17.1 pyyaml h5py psutil + + - name: Install ScientificPython + run: | + cd $HOME + git clone https://code.ill.fr/scientific-software/scientific-python.git + cd scientific-python/ + sudo $CONDA/envs/mdanse/bin/python setup.py install + + - name: Install MMTK + run: | + cd $HOME + git clone https://code.ill.fr/scientific-software/mmtk.git + cd mmtk + sudo cp -fv $GITHUB_WORKSPACE/BuildServer/Unix/setup.py ~/mmtk + sudo $CONDA/envs/mdanse/bin/python setup.py install + + - name: Install MDANSE + run: | + cd $GITHUB_WORKSPACE + $CONDA/envs/mdanse/bin/python setup.py install + + - name: Run unit tests + run: | + cd $GITHUB_WORKSPACE/Tests/UnitTests + $CONDA/envs/mdanse/bin/python AllTests.py + + - name: Run dependency tests + run: | + cd $GITHUB_WORKSPACE/Tests/DependenciesTests + $CONDA/envs/mdanse/bin/python AllTests.py + + - name: Run functional tests + run: | + cd $GITHUB_WORKSPACE/Tests/FunctionalTests/Jobs + $CONDA/envs/mdanse/bin/python BuildJobTests.py + $CONDA/envs/mdanse/bin/python AllTests.py + + - name: Tar python + if: | + contains( github.ref, 'main' ) || + contains( github.ref, 'develop' ) || + contains( github.ref, 'release-' ) || + contains( github.ref, 'hotfix-' ) || + contains( github.ref, 'build-' ) || + contains( github.ref, 'tags' ) || + contains( github.ref, 'web' ) + run: | + cd $CONDA/envs + tar -czf python.tar.gz mdanse + + - name: Upload artifacts + if: | + contains( github.ref, 'main' ) || + contains( github.ref, 'develop' ) || + contains( github.ref, 'release-' ) || + contains( github.ref, 'hotfix-' ) || + contains( github.ref, 'build-' ) || + contains( github.ref, 'tags' ) || + contains( github.ref, 'web' ) + uses: actions/upload-artifact@v2 + with: + name: ubuntu-22.04_artifacts + path: /usr/share/miniconda/envs/python.tar.gz + retention-days: 1 + + deploy_ubuntu22: + needs: ci_ubuntu22 + runs-on: 'ubuntu-22.04' + strategy: + fail-fast: false + if: | + contains( github.ref, 'main' ) || + contains( github.ref, 'develop' ) || + contains( github.ref, 'release-' ) || + contains( github.ref, 'hotfix-' ) || + contains( github.ref, 'build-' ) || + contains( github.ref, 'tags' ) || + contains( github.ref, 'web' ) + steps: + - uses: actions/checkout@v2 + + - name: Initialise conda environment + uses: conda-incubator/setup-miniconda@v2 + with: + python-version: 2.7.18 + activate-environment: mdanse + + - name: Download artifacts + uses: actions/download-artifact@v2 + with: + name: ubuntu-22.04_artifacts + path: /usr/share/miniconda/envs + + - name: Untar python + run: | + cd $CONDA/envs + tar -xzf python.tar.gz + + - name: Install netcdf + run: | + sudo apt-get update + sudo apt-get install netcdf-bin libnetcdf-dev + + - name: Install wxPython and VTK python packages + run: | + sudo conda install -n mdanse -c daf wxpython + sudo conda install -n mdanse -c ccordoba12 vtk + + - run: sudo apt-get install dos2unix + + - name: Deploy + run: | + sed -i 's|PYTHONEXE=$HOME/python|PYTHONEXE=$CONDA/envs/mdanse|' $GITHUB_WORKSPACE/BuildServer/Unix/Debian/deploy.sh + source $GITHUB_WORKSPACE/BuildServer/Unix/Debian/definitions.sh + source $GITHUB_WORKSPACE/BuildServer/Unix/setup_ci.sh + source $GITHUB_WORKSPACE/BuildServer/Unix/Debian/deploy.sh + + - name: Upload artifacts + uses: actions/upload-artifact@v2 + with: + name: ubuntu-22.04_installer + path: ${{ github.workspace }}/*.deb + retention-days: 90 + + + + + # OSX ci_osx: runs-on: ${{ matrix.os }} @@ -593,7 +745,8 @@ jobs: contains( github.ref, 'release-' ) || contains( github.ref, 'hotfix-' ) || contains( github.ref, 'build-' ) || - contains( github.ref, 'tags' ) + contains( github.ref, 'tags' ) || + run: | cd /D %CONDA%\envs tar -czf mdanse.tar.gz mdanse @@ -606,7 +759,9 @@ jobs: contains( github.ref, 'release-' ) || contains( github.ref, 'hotfix-' ) || contains( github.ref, 'build-' ) || - contains( github.ref, 'tags' ) + contains( github.ref, 'tags' ) || + + uses: actions/upload-artifact@v2 with: name: windows_artifacts diff --git a/BuildServer/Unix/setup_ci.sh b/BuildServer/Unix/setup_ci.sh index 0f56d43f76..84a9eea9ab 100755 --- a/BuildServer/Unix/setup_ci.sh +++ b/BuildServer/Unix/setup_ci.sh @@ -50,12 +50,15 @@ MDANSE_VERSION=`sed -n 's/__version__.*=.*\"\(.*\)\"/\1/p' ${PKG_INFO}` # Check if branch is main if [[ $GITHUB_REF == "refs/heads/main" ]] + then VERSION_NAME=${MDANSE_VERSION} "${SED_I_COMMAND[@]}" "s/.*__beta__.*/__beta__ = None/" ${PKG_INFO} else # Check if branch is release* + if [[ $GITHUB_REF == "refs/heads/release-next" ]] + then VERSION_NAME=${MDANSE_VERSION}-rc-${CI_COMMIT_ID} "${SED_I_COMMAND[@]}" "s/.*__beta__.*/__beta__ = \"rc\"/" ${PKG_INFO} diff --git a/BuildServer/Windows/deploy.bat b/BuildServer/Windows/deploy.bat index 592130c02a..90536d2ff9 100755 --- a/BuildServer/Windows/deploy.bat +++ b/BuildServer/Windows/deploy.bat @@ -49,8 +49,10 @@ rem copy CHANGELOG to CHANGELOG.txt (compulsory to be opened by nsis through an copy "%GITHUB_WORKSPACE%\CHANGELOG" "%GITHUB_WORKSPACE%\BuildServer\Windows\Resources\nsis\CHANGELOG.txt" rem Copy site.py + copy /y "%GITHUB_WORKSPACE%\\BuildServer\\Windows\\Resources\\mdanse.pth" "%MDANSE_TEMPORARY_INSTALLATION_DIR%\\Lib\\site-packages\\" + rem create the MDANSE installer echo "Creating nsis installer for target %MDANSE_TEMPORARY_INSTALLATION_DIR%..." makensis /V4 /ONSISlog.txt /DVERSION=%VERSION_NAME% /DARCH=%BUILD_TARGET% /DTARGET_DIR=%MDANSE_TEMPORARY_INSTALLATION_DIR% %GITHUB_WORKSPACE%\\BuildServer\\Windows\\Resources\\nsis\\MDANSE_installer.nsi diff --git a/CHANGELOG b/CHANGELOG index 831e6df6d5..62253943fc 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,4 @@ + version 1.5.2 -------------- * CHANGED issue #191 Extended and improved the text output of Analysis @@ -12,6 +13,7 @@ version 1.5.2 * FIXED issue #147 MDANSE installed with the installer can now be started on MacOS 11 and MacOS 12. However, Molecular Viewer, Animation, and the Elevation, Iso-Surface, and Scalar-Field plotters continue to crash MDANSE, which will not be fixed until MDANSE 2.0.0 * CHANGED (internal) issue #136 MDANSE is now tested only on MacOS 11 and MacOS 12 (for MacOS) + version 1.5.1 -------------- * ADDED issue #129 Installers for Ubuntu 22.x are now automatically generated and available for download diff --git a/README.md b/README.md index fae82d138e..4d191204e1 100644 --- a/README.md +++ b/README.md @@ -7,6 +7,7 @@ be directly compared with neutron scattering experiments, particularly inelastic spectroscopies. To do this, it interfaces with a variety of MD simulation software such as CASTEP, VASP, DMOL, Gromacs, DL_POLY, CHARMM, LAMMPS, PBD, DFTB etc., + and provides both a graphical user interface (GUI) and a command line interface. This project is built on the development published previously: \ @@ -24,7 +25,9 @@ any other software on that OS. After that, we recommend starting by using the GU 3. Perform an analysis of choice (through the Plugins panel) 4. Check the results with the plotter + The most complete user documentation of MDANSE can be found on [our Read the Docs page](https://mdanse.readthedocs.io). At the same time, it is still possible to access the original **[MDANSE User Guide](https://epubs.stfc.ac.uk/work/51935555)** \ + Other information including example scripts can be found on the MDANSE website [mdanse.org](https://mdanse.org/) ## Installing from source @@ -122,6 +125,7 @@ G. Goret, B. Aoun, E. Pellegrini. J Chem Inf Model. (2017) 57(1):1-5. MDANSE is licensed under GPL-3.0. See [LICENSE](https://github.com/ISISNeutronMuon/MDANSE/blob/develop/LICENSE) for more information. + ## Acknowledgements MDANSE started as a fork of [version 3 of the nMOLDYN program](https://github.com/khinsen/nMOLDYN3). diff --git a/Src/__pkginfo__.py b/Src/__pkginfo__.py index 72604b0f6b..6fd1149fa2 100644 --- a/Src/__pkginfo__.py +++ b/Src/__pkginfo__.py @@ -41,6 +41,7 @@ __license__ = "GPL 3" + __version__ = "1.5.2" __date__ = "01-01-1970"