From a8d7d972f1134632c367c6f86d6c39d71265b83a Mon Sep 17 00:00:00 2001 From: ludeeus Date: Tue, 26 May 2020 17:31:50 +0000 Subject: [PATCH] Add archived check --- .github/workflows/check-archived.yml | 30 ++++++++++++++++++++++++++++ scripts/check/archived.py | 23 +++++++++++++++++++++ 2 files changed, 53 insertions(+) create mode 100644 .github/workflows/check-archived.yml create mode 100644 scripts/check/archived.py diff --git a/.github/workflows/check-archived.yml b/.github/workflows/check-archived.yml new file mode 100644 index 0000000..bab37d4 --- /dev/null +++ b/.github/workflows/check-archived.yml @@ -0,0 +1,30 @@ +name: "Check Archived" +on: + pull_request: + types: unlabeled + +jobs: + check: + if: github.event.label.name == 'Not finished' + runs-on: ubuntu-latest + steps: + - name: Check out repository + uses: actions/checkout@v2 + + - name: Clone origin + run: git clone --depth 1 https://github.com/hacs/default /tmp/default + + - name: Clone new addition + run: | + repo=$(python3 -m scripts.changed.repo) + git clone --depth 1 "https://github.com/$repo" /tmp/addition + + - name: Install dependencies + run: | + python3 -m pip install setuptools wheel + python3 -m pip install aiogithubapi + + - name: Check archived + run: python3 -m scripts.check.archived + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} \ No newline at end of file diff --git a/scripts/check/archived.py b/scripts/check/archived.py new file mode 100644 index 0000000..4b7bbae --- /dev/null +++ b/scripts/check/archived.py @@ -0,0 +1,23 @@ +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-archived") + repo = get_repo() + async with GitHub(TOKEN) as github: + repository = await github.get_repo(repo) + repo = repository.attributes + + if repo["archived"]: + exit(1) + +if __name__ == "__main__": + asyncio.get_event_loop().run_until_complete(check())