Skip to content

Commit

Permalink
add an action to enforce consistency in GNUmakefiles
Browse files Browse the repository at this point in the history
  • Loading branch information
zingale committed Oct 19, 2023
1 parent ec8279a commit 90bd998
Show file tree
Hide file tree
Showing 6 changed files with 89 additions and 4 deletions.
38 changes: 38 additions & 0 deletions .github/workflows/check-makefiles.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: check makefiles

on:
push:
branches:
- development
- main
pull_request:
branches:
- development

jobs:
check-ifdefs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0

- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: '3.10'

- name: Cache pip
uses: actions/cache@v3
with:
# this path is specific to Ubuntu
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Run check-ifdefs
run: |
python .github/workflows/check_makefiles.py
47 changes: 47 additions & 0 deletions .github/workflows/check_makefiles.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import sys
from pathlib import Path

correct_params = {
"DEBUG": "FALSE",
"USE_MPI": "TRUE",
"COMP": "gnu",
"USE_CUDA": "FALSE",
"USE_HIP": "FALSE",
"PRECISION": "DOUBLE",
"PROFILE": "FALSE"}


def find_source_files():
p = Path("./Exec")
files = list(p.glob(r"**/GNUmakefile"))
return files

def check_makefile(makefile):

with open(makefile) as mf:
for _line in mf:
if idx := _line.find("#") >= 0:
line = _line[:idx]
else:
line = _line

for key in correct_params:
if key in line:
try:
_, v = line.split(":=")
except ValueError:
try:
_, v = line.split("=")
except ValueError:
sys.exit(f"invalid line: {line}")

if not v.strip() == correct_params[key]:
sys.exit(f"invalid param {key} in {makefile}")

if __name__ == "__main__":

for f in find_source_files():
check_makefile(f)



2 changes: 1 addition & 1 deletion Exec/mhd_tests/Alfven/GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PRECISION = DOUBLE
PROFILE = FALSE

DEBUG = TRUE
DEBUG = FALSE

DIM = 3

Expand Down
2 changes: 1 addition & 1 deletion Exec/mhd_tests/BrioWu/GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PRECISION = DOUBLE
PROFILE = FALSE

DEBUG = TRUE
DEBUG = FALSE

DIM = 3

Expand Down
2 changes: 1 addition & 1 deletion Exec/mhd_tests/species/GNUmakefile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
PRECISION = DOUBLE
PROFILE = FALSE

DEBUG = TRUE
DEBUG = FALSE

DIM = 3

Expand Down
2 changes: 1 addition & 1 deletion Exec/science/nova/GNUmakefile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ COMP = gnu

USE_MPI = TRUE
USE_OMP = FALSE
USE_CUDA = TRUE
USE_CUDA = FALSE

USE_REACT = TRUE
USE_DIFFUSION = TRUE
Expand Down

0 comments on commit 90bd998

Please sign in to comment.