From 2da9e2e32ceefaef8f39cabf5b6b8165efb65243 Mon Sep 17 00:00:00 2001 From: Ryan Delaney Date: Fri, 24 Nov 2023 11:41:25 -0500 Subject: [PATCH 1/2] Transcode duplicate test to python --- tests/find_dupes | 26 ++++++++++++++++++++++++++ tests/no_dupes | 8 -------- 2 files changed, 26 insertions(+), 8 deletions(-) create mode 100755 tests/find_dupes delete mode 100755 tests/no_dupes diff --git a/tests/find_dupes b/tests/find_dupes new file mode 100755 index 0000000..b269ef1 --- /dev/null +++ b/tests/find_dupes @@ -0,0 +1,26 @@ +#!/usr/bin/env python3 +# +"""Check the compiled lscolors.sh file for duplicate extensions.""" +import sys +import re +from collections import Counter + + +def main() -> int: + with open("../lscolors.sh", "r") as f: + data = next(f) + + extensions = re.findall(r"\*\.(.*?)=", data) + + if duplicates := [ext for ext, count in Counter(extensions) if count > 1]: + print(f"Duplicates found: {', '.join(duplicates)}") + return 1 + else: + print("No duplicates found.") + return 0 + + +if __name__ == "__main__": + sys.exit(main()) + +# EOF diff --git a/tests/no_dupes b/tests/no_dupes deleted file mode 100755 index 3b5826f..0000000 --- a/tests/no_dupes +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# - -exts="$(dircolors LS_COLORS | head -n1 | sed 's/=[^:]*//g ; s/:/\n/g')" -exts_sorted="$(sort <<< "$exts")" -exts_uniq="$(sort -u <<< "$exts")" - -diff --color=auto --text --report-identical-files <(echo "$exts_uniq") <(echo "$exts_sorted") From 451b32f3f1e086f82bd76c2c7c43ffc6c63e3fff Mon Sep 17 00:00:00 2001 From: Ryan Delaney Date: Fri, 24 Nov 2023 11:51:16 -0500 Subject: [PATCH 2/2] Don't run the build until tests passed --- .github/workflows/build.yaml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 4a3992a..936ff55 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -2,8 +2,10 @@ name: 'Release' on: - push: - branches: [master] + workflow_run: + workflows: ["pre-commit"] + types: + - completed jobs: release: