Commit b643456e authored by Gregory Ashton's avatar Gregory Ashton Committed by Moritz Huebner

Resolve "Create an AUTHORS.md file"

parent bb2f4c95
......@@ -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:
......
# 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
""" 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?")
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment