Skip to content

Commit

Permalink
Merge branch 'tag_update_3.0.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
jdtournier committed Apr 22, 2020
2 parents cc3600e + af5a673 commit 047e21f
Show file tree
Hide file tree
Showing 1,241 changed files with 59,059 additions and 32,606 deletions.
195 changes: 195 additions & 0 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,195 @@
name: checks

on:
pull_request:
types: [opened, synchronize]
branches:
- master
- dev



jobs:
linux-clang-build:

runs-on: ubuntu-latest

env:
CFLAGS: -Werror
QT_SELECT: qt5

steps:
- uses: actions/checkout@v1

- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install clang-8 libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev
- name: configure
run: ./configure -assert || { cat configure.log; false; }

- name: build
run: ./build -nowarnings -persistent -nopaginate || { cat build.log; false; }

- name: unit tests
run: ./run_tests units || { cat testing_units.log; false; }

- name: binary tests
run: ./run_tests binaries || { cat testing_binaries.log; false; }






linux-gcc-build:

runs-on: ubuntu-latest

env:
CXX: g++-9
CFLAGS: -Werror
QT_SELECT: qt5

steps:
- uses: actions/checkout@v1

- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install g++-9 libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev
- name: configure
run: ./configure -nooptim || { cat configure.log; false; }

- name: build
run: ./build -nowarnings -persistent -nopaginate || { cat build.log; false; }






macos-build:

runs-on: macos-latest

env:
CFLAGS: -Werror

steps:
- uses: actions/checkout@v1

- name: install dependencies
run: |
brew update
brew install qt5 eigen pkg-config libtiff fftw libpng
brew link --force qt5
- name: configure
run: ./configure -assert || { cat configure.log; false; }

- name: build
run: ./build -nowarnings -persistent -nopaginate || { cat build.log; false; }

- name: unit tests
run: ./run_tests units || { cat testing_units.log; false; }

- name: binary tests
run: ./run_tests binaries || { cat testing_binaries.log; false; }

- name: check command documentation
run: ./docs/generate_user_docs.sh && git diff --exit-code docs/





windows-build:

runs-on: windows-latest

env:
CFLAGS: -Werror
MSYSTEM: MINGW64
MSYSCON: defterm
CHERE_INVOKING: enabled_from_arguments
MSYS2_NOSTART: yes

steps:

- uses: actions/checkout@v1

- name: fetch and install MSYS2
run: bash -c 'curl -sL https://github.com/MRtrix3/MinGW/releases/download/1.0/msys2.tar.{0,1} | tar xf -'

- name: run qtbinpatcher
shell: cmd
run: msys64\msys2_shell.cmd -c "qtbinpatcher --qt-dir=$(dirname $(which qmake))"

- name: configure
shell: cmd
run: msys64\msys2_shell.cmd -c "./configure -assert || { cat configure.log; false; }"

- name: build
shell: cmd
run: msys64\msys2_shell.cmd -c "./build -nowarnings -persistent -nopaginate || { cat build.log; false; }"

- name: unit tests
shell: cmd
run: msys64\msys2_shell.cmd -c "./run_tests units || { cat testing_units.log; false; }"

- name: binary tests
shell: cmd
run: msys64\msys2_shell.cmd -c "./run_tests binaries || { cat testing_binaries.log; false; }"




secondary-checks:

runs-on: ubuntu-latest

env:
QT_SELECT: qt5

steps:
- uses: actions/checkout@v1

- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install pylint pylint3 python3-sphinx sphinx-rtd-theme-common python3-recommonmark python3-sphinx-rtd-theme
- name: check syntax
run: ./check_syntax || { cat syntax.log; false; }

- name: pylint (Python 2)
run: |
echo "__version__ = 'pylint testing' #pylint: disable=unused-variable" > ./lib/mrtrix3/_version.py
PYTHON=python2 ./run_pylint || { cat pylint.log; false; }
- name: pylint (Python 3)
run: |
echo "__version__ = 'pylint testing' #pylint: disable=unused-variable" > ./lib/mrtrix3/_version.py
PYTHON=python3 ./run_pylint || { cat pylint.log; false; }
- name: check building of documentation
run: python3 -m sphinx -n -N -W -w sphinx.log docs/ tmp/

- name: install build dependencies
run: sudo apt-get install clang-8 libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev

- name: check configure with Python 2
run: python2 ./configure || { cat configure.log; false; }

- name: check build with Python 2
run: python2 ./build -dryrun || { cat build.log; false; }

- name: check configure with Python 3
run: python3 ./configure || { cat configure.log; false; }

- name: check build with Python 3
run: python3 ./build -dryrun || { cat build.log; false; }
33 changes: 33 additions & 0 deletions .github/workflows/package-linux-anaconda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: package-linux-anaconda

on:
release:
types: [created]

jobs:
package:

runs-on: ubuntu-latest

steps:

- name: install conda-build # and anaconda-client
run: $CONDA/bin/conda install -y conda-build #anaconda-client

- name: fetch recipe
run: |
git clone https://github.com/MRtrix3/conda-build.git
mv conda-build/* .
- name: build package
run: ./run.sh ${GITHUB_REF#refs/*/} ${GITHUB_REPOSITORY%/*} conda-linux

# - name: upload package to Anaconda.org
# run: $CONDA/bin/anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u MRtrix3 $(sudo $CONDA/bin/conda build conda-build/ --output)

- name: Upload package to GitHub Release
uses: AButler/upload-release-assets@v2.0
with:
files: '*.tar.bz2'
repo-token: ${{ secrets.GITHUB_TOKEN }}

38 changes: 38 additions & 0 deletions .github/workflows/package-macos-anaconda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: package-macos-anaconda

on:
release:
types: [created]

jobs:
package:

runs-on: macos-latest

steps:

- name: fetch MacOSX 10.11 SDK
run: curl -L https://github.com/phracker/MacOSX-SDKs/releases/download/MacOSX10.11.sdk/MacOSX10.11.sdk.tar.xz | sudo tar xf - -C /opt/

- name: install conda-build # and anaconda-client
run: sudo $CONDA/bin/conda install -y conda-build # anaconda-client

- name: fetch recipe
run: |
git clone https://github.com/MRtrix3/conda-build.git
mv conda-build/* .
{ echo "CONDA_BUILD_SYSROOT:"; echo " - /opt/MacOSX10.11.sdk # [osx]"; } > conda_build_config.yaml
- name: build package
run: sudo CONDA="$CONDA" ./run.sh ${GITHUB_REF#refs/*/} ${GITHUB_REPOSITORY%/*} conda-macos

# - name: upload package
# run: $CONDA/bin/anaconda -t ${{ secrets.ANACONDA_TOKEN }} upload -u MRtrix3 $(sudo $CONDA/bin/conda build conda-build/ --output)

- name: Upload package to GitHub Release
uses: AButler/upload-release-assets@v2.0
with:
files: '*.tar.bz2'
repo-token: ${{ secrets.GITHUB_TOKEN }}


27 changes: 27 additions & 0 deletions .github/workflows/package-macos-native.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: package-macos-native

on:
release:
types: [created]

jobs:
package:

runs-on: macos-latest

steps:

- name: fetch recipe
run: git clone https://github.com/MRtrix3/macos-installer.git

- name: build packages
run: ./build ${GITHUB_REF#refs/*/}
working-directory: ./macos-installer

- name: Upload package to GitHub Release
uses: AButler/upload-release-assets@v2.0
with:
files: 'macos-installer/mrtrix3-macos-*.tar.gz'
repo-token: ${{ secrets.GITHUB_TOKEN }}


40 changes: 40 additions & 0 deletions .github/workflows/package-windows-msys2.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: package-windows-msys2

on:
release:
types: [created]


jobs:
package:

runs-on: windows-latest

env:
MSYSTEM: MINGW64
MSYSCON: defterm
CHERE_INVOKING: enabled_from_arguments
MSYS2_NOSTART: yes

steps:

- name: fetch and install MSYS2
run: bash -c 'curl -sL https://github.com/MRtrix3/MinGW/releases/download/1.0/msys2.tar.{0,1} | tar xf -'

- name: run qtbinpatcher
shell: cmd
run: msys64\msys2_shell.cmd -c "qtbinpatcher --qt-dir=$(dirname $(which qmake))"

- name: fetch PKGBUILD
shell: cmd
run: msys64\msys2_shell.cmd -c "git clone https://github.com/MRtrix3/MinGW.git && mv MinGW/* ."

- name: run makepkg
shell: cmd
run: msys64\msys2_shell.cmd -c "./run.sh ${GITHUB_REF#refs/*/} ${GITHUB_REPOSITORY%%/*}"

- name: Upload package to GitHub Release
uses: AButler/upload-release-assets@v2.0
with:
files: '*.tar.xz'
repo-token: ${{ secrets.GITHUB_TOKEN }}
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ build.*
/dev/
/bin/
/tmp/
/.vscode/
.cproject
.idea
.project
Expand All @@ -43,6 +44,7 @@ build.*
*.creator.user
*.files
*.includes
*.code-workspace
/debug/
/assert/
testing.log
Expand All @@ -51,3 +53,5 @@ testing/bin/
testing/src/project_version.cpp
testing/src/project_version.h
.__tmp.log
.check_syntax.tmp
.check_syntax2.tmp
5 changes: 4 additions & 1 deletion .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "testing/data"]
path = testing/data
path = testing/binaries/data
url = https://github.com/MRtrix3/test_data
[submodule "testing/script_data"]
path = testing/scripts/data
url = https://github.com/MRtrix3/script_test_data.git
Loading

0 comments on commit 047e21f

Please sign in to comment.