mirror of
https://github.com/alexhopeoconnor/default.git
synced 2026-10-16 07:51:37 +10:00
Add existing repository check to workflow and implement check script
This commit is contained in:
@@ -153,6 +153,30 @@ jobs:
|
||||
env:
|
||||
REPOSITORY: ${{needs.preflight.outputs.repository}}
|
||||
|
||||
existing:
|
||||
runs-on: ubuntu-latest
|
||||
name: Existing repository
|
||||
needs: preflight
|
||||
if: needs.preflight.outputs.removal != 'true'
|
||||
steps:
|
||||
- name: Check out repository
|
||||
uses: actions/checkout@v5.0.0
|
||||
|
||||
- name: Set up Python
|
||||
uses: actions/setup-python@v6.0.0
|
||||
with:
|
||||
python-version-file: ".python-version"
|
||||
cache: "pip"
|
||||
cache-dependency-path: "requirements.txt"
|
||||
|
||||
- name: Install dependencies if needed
|
||||
run: scripts/setup
|
||||
|
||||
- name: Run the check
|
||||
run: python3 -m scripts.check.existing
|
||||
env:
|
||||
REPOSITORY: ${{needs.preflight.outputs.repository}}
|
||||
|
||||
hassfest:
|
||||
runs-on: ubuntu-latest
|
||||
name: Hassfest
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import asyncio
|
||||
import os
|
||||
import requests
|
||||
|
||||
CHECKURL = "https://data-v2.hacs.xyz/removed/repositories.json"
|
||||
|
||||
CATEGORIES = [
|
||||
"appdaemon",
|
||||
"integration",
|
||||
"netdaemon",
|
||||
"plugin",
|
||||
"python_script",
|
||||
"template",
|
||||
"theme",
|
||||
]
|
||||
|
||||
|
||||
async def check():
|
||||
repo = os.environ["REPOSITORY"].lower()
|
||||
|
||||
for category in CATEGORIES:
|
||||
checkurl = f"https://data-v2.hacs.xyz/{category}/repositories.json"
|
||||
try:
|
||||
category_repositories = set(x.lower() for x in requests.get(checkurl).json())
|
||||
if repo in category_repositories:
|
||||
exit(f"::error::'{repo}' alredy exist as a {category} in HACS")
|
||||
except Exception as e:
|
||||
exit(f"::error::{e}")
|
||||
|
||||
print("Repository does not exist in HACS")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
asyncio.get_event_loop().run_until_complete(check())
|
||||
Reference in New Issue
Block a user