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