mirror of
https://github.com/alexhopeoconnor/default.git
synced 2026-10-22 10:42:11 +10:00
Add a check for releases (#3405)
* Add a check for releases * remove print
This commit is contained in:
@@ -104,6 +104,31 @@ jobs:
|
|||||||
- name: Run the check
|
- name: Run the check
|
||||||
run: python3 -m scripts.check.edits
|
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:
|
removed:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
name: Removed repository
|
name: Removed repository
|
||||||
|
|||||||
@@ -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())
|
||||||
Reference in New Issue
Block a user