Add a check for releases (#3405)

* Add a check for releases

* remove print
This commit is contained in:
Joakim Sørensen
2025-05-14 07:39:58 +02:00
committed by GitHub
parent 6cd0d501f3
commit 787b1c23fd
2 changed files with 50 additions and 0 deletions
+25
View File
@@ -104,6 +104,31 @@ jobs:
- name: Run the check
run: python3 -m scripts.check.edits
releases:
runs-on: ubuntu-latest
name: Releases
needs: preflight
if: needs.preflight.outputs.removal != 'true'
steps:
- name: Check out repository
uses: actions/checkout@v4.2.2
- name: Set up Python
uses: actions/setup-python@v5.6.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.releases
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPOSITORY: ${{needs.preflight.outputs.repository}}
removed:
runs-on: ubuntu-latest
name: Removed repository
+25
View File
@@ -0,0 +1,25 @@
import asyncio
import os
from aiogithubapi import GitHub, AIOGitHubAPIException
TOKEN = os.getenv("GITHUB_TOKEN")
async def check():
repo = os.environ["REPOSITORY"]
print("Information: https://hacs.xyz/docs/publish/include#check-releases")
try:
async with GitHub(TOKEN) as github:
request = await github.client.get(f"/repos/{repo}/releases", headers={})
if isinstance(request.data, list) and len(request.data) > 0:
print(f"'{repo}' has releases")
return
except AIOGitHubAPIException as e:
exit(f"::error::{e}")
exit(f"::error::'{repo}' has no releases")
if __name__ == "__main__":
asyncio.get_event_loop().run_until_complete(check())