From ca3466759fb6af1f69a4da97a53f04db0cff1901 Mon Sep 17 00:00:00 2001 From: Simon L Date: Wed, 27 Sep 2023 16:29:20 +0200 Subject: [PATCH] add community-container validator Signed-off-by: Simon L --- .github/workflows/community-containers.yml | 37 ++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/community-containers.yml diff --git a/.github/workflows/community-containers.yml b/.github/workflows/community-containers.yml new file mode 100644 index 00000000..2df5173d --- /dev/null +++ b/.github/workflows/community-containers.yml @@ -0,0 +1,37 @@ +name: Validate community containers + +on: + pull_request: + paths: + - 'community-containers/**' + push: + branches: + - main + paths: + - 'community-containers/**' + +jobs: + validator-community-containers: + name: Validate community containers + runs-on: ubuntu-latest + steps: + - name: Checkout code + uses: actions/checkout@v4 + - name: Validate structure + run: | + CONTAINERS="$(find ./community-containers -mindepth 1 -maxdepth 1 -type d)" + mapfile -t CONTAINERS <<< "$CONTAINERS" + for container in "${CONTAINERS[@]}"; do + container="$(echo "$container" | sed 's|./community-containers/||')" + if ! [ -f ./community-containers/"$container"/"$container.json" ]; then + echo ".json file must be named like its parent folder $container" + FAIL=1 + fi + if ! [ -f ./community-containers/"$container"/readme.md ]; then + echo "There must be a readme.md file in the folder!" + FAIL=1 + fi + if [ -n "$FAIL" ]; then + exit 1 + fi + done