#!/usr/bin/env python3 """Trigger workflows that build QMK packages. """ from os import environ from pathlib import Path import requests # Pull in environment vars gh_user = environ.get('GH_USERNAME', 'qmk-bot') gh_pat = environ.get('QMK_BOT_TOKEN', '') gh_repo_owner = environ.get('REPO_OWNER', 'qmk') gh_repo_name = environ.get('REPO_NAME', 'qmk_fpm') gh_ref = environ.get('BRANCH_NAME', 'main') gh_workflow_ids = environ.get('WORKFLOW_IDS', 'debian-buster-publish.yml,fedora-32-publish.yml,ubuntu-focal-publish.yml').split(',') gh_api_url = environ.get('GITHUB_API_URL', 'https://api.github.com') gh_workflow_args = {'ref': gh_ref} gh_workflow_headers = {'Accept': 'application/vnd.github.v3+json'} for gh_workflow_id in gh_workflow_ids: gh_workflow_endpoint = f'{gh_api_url}/repos/{gh_repo_owner}/{gh_repo_name}/actions/workflows/{gh_workflow_id}/dispatches' print(f'Triggering {gh_workflow_id} workflow at: {gh_workflow_endpoint}') workflow_dispatch = requests.post(gh_workflow_endpoint, headers=gh_workflow_headers, json=gh_workflow_args, auth=(gh_user, gh_pat)) if workflow_dispatch.status_code != 204: print(f'Error from GitHub API, status_code {workflow_dispatch.status_code}!') print(workflow_dispatch.text) exit(1) exit(0)