From 3ab5a2552673c328197fbdab2cdd5fe1f3937873 Mon Sep 17 00:00:00 2001 From: Ludeeus Date: Sat, 21 Nov 2020 19:42:05 +0000 Subject: [PATCH] Add back fork check --- .github/workflows/checks.yml | 22 ++++++++++++++++++++++ scripts/check/fork.py | 24 ++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 scripts/check/fork.py diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 1ceb71d..035058d 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -59,6 +59,28 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + fork: + runs-on: ubuntu-latest + name: Check Fork + needs: preflight + steps: + - name: Check out repository + uses: actions/checkout@v2 + + - name: Download shared artifacts + uses: actions/download-artifact@master + with: + name: repositories + path: /tmp/repositories + + - name: Install dependencies if needed + run: make init + + - name: Run the check + run: python3 -m scripts.check.fork + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + hassfest: runs-on: ubuntu-latest name: "Check hassfest" diff --git a/scripts/check/fork.py b/scripts/check/fork.py new file mode 100644 index 0000000..8d2020c --- /dev/null +++ b/scripts/check/fork.py @@ -0,0 +1,24 @@ +import asyncio +import json +import os +from glob import glob + +from aiogithubapi import GitHub +from scripts.changed.repo import get_repo + +TOKEN = os.getenv("GITHUB_TOKEN") + + +async def check(): + print("Information: https://hacs.xyz/docs/publish/include#check-fork") + repo = get_repo() + async with GitHub(TOKEN) as github: + repository = await github.get_repo(repo) + repo = repository.attributes + + if repo["fork"]: + exit("::warning:: {repo} is a fork") + + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(check()) \ No newline at end of file