所以我尝试将
docker-compose.yml
文件放入 .github/workflows
目录中,当然它尝试选取该文件并运行它......但这不起作用。但是现在总是显示为工作流程,有什么办法可以删除它吗?
要删除操作页面上的特定工作流程,您需要删除属于该工作流程的所有运行。否则,即使您删除了触发它的 YAML 文件,它也会持续存在。
如果您在某个特定操作中只运行了几次,则手动删除它们会更容易。但如果您运行了一百次,则可能值得运行一个简单的脚本。例如,以下
python
脚本使用 GitHub API:
开始之前,您需要安装
PyGithub
包(如 pip install PyGithub
)并定义三件事:
from github import Github
import requests
token = "ghp_1234567890abcdefghij1234567890123456" # your PAT
repo = "octocat/my_repo"
action = "my_action.yml"
g = Github(token)
headers = {'Accept': 'application/vnd.github.v3',
'Authorization': f'token {token}'}
for run in g.get_repo(repo).get_workflow(id_or_file_name=action).get_runs():
response = requests.delete(url=run.url, headers=headers)
if response.status_code == 204:
print(f"Run {run.id} got deleted")
删除所有运行后,工作流程自动从页面消失。
是的,您可以删除运行结果。请参阅文档了解详细信息。
是的,您可以删除要删除的工作流程中的所有工作流程运行,那么该工作流程就会消失。
https://docs.github.com/en/rest/reference/actions#delete-a-workflow-run
以编程方式删除
示例(来自文档)
curl \
-X DELETE \
-H "Authorization: token <PERSONAL_ACCESS_TOKEN>"
-H "Accept: application/vnd.github.v3+json" \
https://api.github.com/repos/octocat/hello-world/actions/runs/42
GitHub cli
GitHub Actions/管理工作流程运行/删除工作流程运行
# GitHub CLI api
# https://cli.github.com/manual/gh_api
gh api \
--method DELETE \
-H "Accept: application/vnd.github+json" \
-H "X-GitHub-Api-Version: 2022-11-28" \
/repos/OWNER/REPO/actions/runs/RUN_ID/logs