Skip to content

Commit

Permalink
Remove files and logic tied to old build system
Browse files Browse the repository at this point in the history
  • Loading branch information
daljit46 committed Aug 7, 2023
1 parent 90923ff commit 69012d9
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 645 deletions.
175 changes: 99 additions & 76 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
@@ -1,179 +1,202 @@
name: checks
name: Checks

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





jobs:
linux-clang-build:

runs-on: ubuntu-latest

env:
CFLAGS: -Werror
QT_SELECT: qt5
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"

steps:
- uses: actions/checkout@v1
with:
submodules: true

- name: install dependencies
run: |
sudo apt-get update
sudo apt-get install clang libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev
sudo apt-get install clang libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev ninja-build
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3

- name: configure
run: ./configure -assert || { cat configure.log; false; }
run: cmake --preset ci-release-checks -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ .

- name: build
run: ./build -nowarnings -persistent -nopaginate || { cat build.log; false; }
run: cmake --build ../mrtrix3-build-ci-release-checks

- name: unit tests
run: ./run_tests units || { cat testing_units.log; false; }
run: ctest -R unit --test-dir ../mrtrix3-build-ci-release-checks

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





run: ctest -R bin --test-dir ../mrtrix3-build-ci-release-checks

linux-gcc-build:

runs-on: ubuntu-latest

env:
CXX: g++-9
CFLAGS: -Werror
QT_SELECT: qt5
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"

steps:
- uses: actions/checkout@v1
with:
submodules: true

- 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
sudo apt-get install g++-9 libqt5opengl5-dev libqt5svg5-dev libglvnd-dev libeigen3-dev zlib1g-dev libfftw3-dev ninja-build
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3

- name: configure
run: ./configure -nooptim || { cat configure.log; false; }
run: cmake --preset ci-release-checks

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



run: cmake --build ../mrtrix3-build-ci-release-checks

- name: unit tests
run: ctest -R unit --test-dir ../mrtrix3-build-ci-release-checks

- name: binary tests
run: ctest -R bin --test-dir ../mrtrix3-build-ci-release-checks

macos-build:

runs-on: macos-latest

env:
CFLAGS: -Werror
PACKAGES: "qt5 eigen pkg-config fftw libpng"
PACKAGES: "qt5 eigen pkg-config fftw libpng ninja cmake"
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"

steps:
- uses: actions/checkout@v1
with:
submodules: true

- name: install dependencies
run: |
brew update || brew update # https://github.com/Homebrew/brew/issues/2491#issuecomment-294207661
brew install $PACKAGES || brew install $PACKAGES
brew link --force qt5
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3

- name: configure
run: ./configure -assert || { cat configure.log; false; }
run: |
export PATH=/usr/local/opt/qt5/bin:$PATH
cmake --preset ci-release-checks
- name: build
run: ./build -nowarnings -persistent -nopaginate || { cat build.log; false; }
run: cmake --build ../mrtrix3-build-ci-release-checks

- name: unit tests
run: ./run_tests units || { cat testing_units.log; false; }
run: ctest -R unit --test-dir ../mrtrix3-build-ci-release-checks

- 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/




run: ctest -R bin --test-dir ../mrtrix3-build-ci-release-checks

windows-build:

runs-on: windows-latest
defaults:
run:
shell: msys2 {0}

env:
CFLAGS: -Werror
MSYSTEM: MINGW64
MSYSCON: defterm
# CFLAGS: -Werror
CHERE_INVOKING: enabled_from_arguments
MSYS2_NOSTART: yes
MINGW_PACKAGE_PREFIX: mingw-w64-ucrt-x86_64
SCCACHE_GHA_ENABLED: "true"
SCCACHE_CACHE_SIZE: "2G"
SCCACHE_DIR: ${{ github.workspace }}/.sccache

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; }"



- uses: actions/checkout@v1
with:
submodules: true

- uses: msys2/setup-msys2@v2
with:
msystem: UCRT64
release: false
install: |
git
python
${{env.MINGW_PACKAGE_PREFIX}}-bc
${{env.MINGW_PACKAGE_PREFIX}}-cmake
${{env.MINGW_PACKAGE_PREFIX}}-diffutils
${{env.MINGW_PACKAGE_PREFIX}}-eigen3
${{env.MINGW_PACKAGE_PREFIX}}-fftw
${{env.MINGW_PACKAGE_PREFIX}}-gcc
${{env.MINGW_PACKAGE_PREFIX}}-libtiff
${{env.MINGW_PACKAGE_PREFIX}}-ninja
${{env.MINGW_PACKAGE_PREFIX}}-pkg-config
${{env.MINGW_PACKAGE_PREFIX}}-qt5-base
${{env.MINGW_PACKAGE_PREFIX}}-qt5-svg
${{env.MINGW_PACKAGE_PREFIX}}-zlib
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3

- name: export sccache to msys2 shell
run: |
export SCCACHE_UNIX_PATH=$(cygpath -u "$SCCACHE_PATH")
echo "SCCACHE_UNIX_PATH=$SCCACHE_UNIX_PATH" >> $GITHUB_ENV
- name: configure
run: cmake --preset ci-release-checks -DCMAKE_CXX_COMPILER_LAUNCHER=${{env.SCCACHE_UNIX_PATH}} .

- name: build
run: cmake --build ../mrtrix3-build-ci-release-checks

- name: unit tests
run: ctest -R unit --test-dir ../mrtrix3-build-ci-release-checks

- name: binary tests
run: ctest -R bin --test-dir ../mrtrix3-build-ci-release-checks

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 python3-sphinx sphinx-rtd-theme-common python3-recommonmark python3-sphinx-rtd-theme python3-pip python3-sphinx-notfound-page
sudo apt-get update
sudo apt-get install pylint python3-sphinx sphinx-rtd-theme-common python3-recommonmark python3-sphinx-rtd-theme python3-pip python3-sphinx-notfound-page
- name: check syntax
run: ./check_syntax || { cat syntax.log; false; }

- name: pylint
run: |
echo "__version__ = 'pylint testing' #pylint: disable=unused-variable" > ./lib/mrtrix3/_version.py
echo "__version__ = 'pylint testing' #pylint: disable=unused-variable" > ./python/lib/mrtrix3/_version.py
./run_pylint || { cat pylint.log; false; }
- name: check copyright headers
run: ./update_copyright && git diff --exit-code

- name: check building of documentation
run: python3 -m sphinx -n -N -W -w sphinx.log docs/ tmp/
run: python3 -m sphinx -n -N -W -w sphinx.log docs/ tmp/
Loading

0 comments on commit 69012d9

Please sign in to comment.