diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4d0343f47985fc802d4dc855f63ac40dd2b5bd9a..9c6d0878810b7d8955aeb118e9a0286f27fbb1b0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -138,6 +138,12 @@ plotting: - pytest test/gw/plot_test.py +authors: + stage: test + image: bilbydev/bilby-test-suite-python37 + script: + - python test/check_author_list.py + pages: stage: deploy dependencies: diff --git a/AUTHORS.md b/AUTHORS.md new file mode 100644 index 0000000000000000000000000000000000000000..bfd80a6e9bf73780d29bc0a133324434cd4eba1c --- /dev/null +++ b/AUTHORS.md @@ -0,0 +1,71 @@ +# Authors + +This file lists all the authors in first-name alphabetical order who have +contributed (either by code contribution or indirectly). If your name is not +listed here, please contact anyone on this list and raise your concern. + +Abhirup Ghosh +Aditya Vijaykumar +Andrew Kim +Andrew Miller +Antoni Ramos-Buades +Avi Vajpeyi +Bruce Edelman +Carl-Johan Haster +Cecilio Garcia-Quiros +Charlie Hoy +Christopher Berry +Christos Karathanasis +Colm Talbot +Daniel Williams +David Keitel +Duncan Macleod +Eric Thrane +Ethan Payne +Francisco Javier Hernandez +Gregory Ashton +Hector Estelles +Ignacio Magaña Hernandez +Isobel Marguarethe Romero-Shaw +Jade Powell +James A Clark +John Veitch +Katerina Chatziioannou +Kaylee de Soto +Khun Sang Phukon +Kshipraa Athar +Liting Xiao +Maite Mateu-Lucena +Marc Arene +Marcus Edward Lower +Margaret Millhouse +Marta Colleoni +Matthew Carney +Matthew David Pitkin +Michael Puerrer +Michael Williams +Monica Rizzo +Moritz Huebner +Nicola De Lillo +Nikhil Sarin +Nirban Bose +Paul Easter +Paul Lasky +Philip Relton +Rhys Green +Roberto Cotesta +Rory Smith +S. H. Oh +Sacha Husa +Scott Coughlin +Serguei Ossokine +Shanika Galaudage +Sharan Banagiri +Shichao Wu +Simon Stevenson +Soichiro Morisaki +Sumeet Kulkarni +Sylvia Biscoveanu +Tathagata Ghosh +Virginia d'Emilio +Vivien Raymond diff --git a/test/check_author_list.py b/test/check_author_list.py new file mode 100644 index 0000000000000000000000000000000000000000..1b082e219da9e6105185cd47f0a9bd3b03e4287d --- /dev/null +++ b/test/check_author_list.py @@ -0,0 +1,28 @@ +""" A script to verify that the .AUTHOR.md file is up to date """ + +import re +import subprocess + +special_cases = ["plasky", "thomas", "mj-will"] +AUTHORS_list = [] +with open("AUTHORS.md", "r") as f: + AUTHORS_list = " ".join([line for line in f]).lower() + + +lines = subprocess.check_output(["git", "shortlog", "HEAD", "-sn"]).decode("utf-8").split("\n") + +if len(lines) == 0: + raise Exception("No authors to check against") + +fail_test = False +for line in lines: + line = line.replace(".", " ") + line = re.sub('([A-Z][a-z]+)', r' \1', re.sub('([A-Z]+)', r' \1', line)) + for element in line.split()[1:]: + element = element.lower() + if element not in AUTHORS_list and element not in special_cases: + print("Failure: {} not in AUTHOR.md".format(element)) + fail_test += True + +if fail_test: + raise Exception("Author check list failed.. have you added your name to the .AUTHOR file?")