diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index fcedccb4..b49b05fe 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,9 @@ name: CI -on: [push] +on: + push: + schedule: + - cron: '0 0 1,15 * *' # JST 9:00 on 1st and 15th every month jobs: ctest: @@ -8,11 +11,17 @@ jobs: strategy: matrix: - os: ["ubuntu-22.04", "macos-11", "ubuntu-20.04"] + os: ["ubuntu-22.04", "ubuntu-20.04", "macos-latest"] + ompsize: [1, 4] + exclude: + - os: "macos-latest" + ompsize: 4 # OMP on macOS is too slow fail-fast: false + env: + OMP_NUM_THREADS: ${{ matrix.ompsize }} steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: apt if: ${{ runner.os == 'Linux' }} @@ -25,9 +34,13 @@ jobs: run: | brew install openmpi scalapack libomp + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.11" + - name: pip run: | - python -m pip install numpy python3 -m pip install numpy - name: make workspace @@ -40,10 +53,12 @@ jobs: if [ ${{ runner.os }} = "macOS" ] ; then # CONFIG=apple requires gfortran but macOS runner has not, but gfortran-11, 12, ... ln -s `which gfortran-11` gfortran - env PATH=`pwd`:$PATH HOMEBREW_PREFIX=/usr/local cmake -DCONFIG=apple -DCMAKE_VERBOSE_MAKEFILE=ON $GITHUB_WORKSPACE + env PATH=`pwd`:$PATH cmake -DCONFIG=apple -DCMAKE_VERBOSE_MAKEFILE=ON $GITHUB_WORKSPACE else cmake -DCMAKE_VERBOSE_MAKEFILE=ON $GITHUB_WORKSPACE fi + env: + HOMEBREW_PREFIX: /opt/homebrew - name: build working-directory: ${{runner.workspace}}/build diff --git a/config/apple.cmake b/config/apple.cmake index 69a9a5e0..7467c52f 100644 --- a/config/apple.cmake +++ b/config/apple.cmake @@ -10,8 +10,6 @@ set(CMAKE_C_COMPILER "clang" CACHE STRING "" FORCE) set(CMAKE_CXX_COMPILER "clang++" CACHE STRING "" FORCE) set(CMAKE_C_FLAGS_DEBUG "-g -O0 -Wall -Wformat -Werror=format-security") set(CMAKE_C_FLAGS_RELEASE "-O3 -Wno-unknown-pragmas -Wno-logical-not-parentheses") -set(CMAKE_Fortran_COMPILER "gfortran" CACHE STRING "" FORCE) -add_definitions(-DF77_COMPLEX_RET_INTEL) # OpenMP with libomp set(CMAKE_EXE_LINKER_FLAGS "-L$ENV{HOMEBREW_PREFIX}/opt/libomp/lib -lomp")