Build with LFortran #57
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build and Test | |
on: | |
push: | |
branches: [master] | |
pull_request: | |
branches: [master, lf] | |
jobs: | |
build_fortran: | |
name: Fortran build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Build dftatom manual | |
run: | | |
set -ex | |
make -f Makefile.manual | |
./tests/atom_U/F_atom_U | |
git clean -dfx | |
- name: Build dftatom cmake | |
run: | | |
set -ex | |
cmake \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DCMAKE_INSTALL_PREFIX="inst" \ | |
-DWITH_PYTHON=NO \ | |
-DWITH_LAPACK=NO \ | |
-DCMAKE_INSTALL_RPATH:STRING="inst/lib" \ | |
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \ | |
. | |
make | |
make install | |
./tests/atom_U/F_atom_U | |
ctest -E "conv_lda|conv_rlda|fd" | |
git clean -dfx | |
- name: Build dftatom cmake lapack | |
run: | | |
set -ex | |
cmake \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DCMAKE_INSTALL_PREFIX="inst" \ | |
-DWITH_PYTHON=NO \ | |
-DWITH_LAPACK=YES \ | |
-DCMAKE_INSTALL_RPATH:STRING="inst/lib" \ | |
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \ | |
. | |
make | |
make install | |
./tests/atom_U/F_atom_U | |
ctest -E "conv_lda|conv_rlda|fd|rmin_conv|N_conv" | |
build_lfortran: | |
name: LFortran build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Uninstall gfortran | |
run: | | |
set -ex | |
sudo apt-get purge gfortran | |
- uses: mamba-org/setup-micromamba@v1 | |
with: | |
environment-name: lf | |
create-args: >- | |
lfortran=0.26.0 | |
- name: Print installed packages information | |
shell: bash -l {0} | |
run: | | |
set -ex | |
! which lfortran | |
micromamba env list | |
micromamba activate lf | |
micromamba list | |
which lfortran | |
- name: Build dftatom manual | |
shell: bash -l {0} | |
run: | | |
set -ex | |
make -f Makefile.manual F90=lfortran F90FLAGS="-I../../src" | |
./tests/atom_U/F_atom_U | |
#make -f Makefile.manual test | |
git clean -dfx | |
make -f Makefile.manual F90="lfortran --skip-pass=inline_function_calls,fma --fast" F90FLAGS="-I../../src" | |
./tests/atom_U/F_atom_U | |
#make -f Makefile.manual test | |
git clean -dfx | |
- name: Build dftatom cmake | |
shell: bash -l {0} | |
run: | | |
set -ex | |
cmake . | |
make | |
ctest -E "conv_lda|conv_rlda" | |
build_python: | |
name: Python build | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v2 | |
- name: Install packages | |
run: | | |
set -ex | |
sudo apt-get update | |
sudo apt-get install -y python3-numpy cython3 python3-pytest | |
sudo ln -s /usr/bin/cython3 /usr/bin/cython | |
sudo ln -s /usr/bin/pytest-3 /usr/bin/pytest | |
- name: Build dftatom cmake python | |
run: | | |
set -ex | |
cmake \ | |
-DCMAKE_BUILD_TYPE=Debug \ | |
-DCMAKE_INSTALL_PREFIX="inst" \ | |
-DWITH_PYTHON=YES \ | |
-DWITH_LAPACK=NO \ | |
-DCMAKE_INSTALL_RPATH:STRING="inst/lib" \ | |
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=ON \ | |
. | |
make | |
PYTHONPATH=. pytest -v |