githubcheck

package
v1.7.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package githubcheck 通过 GitHub API 查询某个 Runner 是否已在 GitHub 上登记, 并在从本工具删除 Runner 时把它从 GitHub 一并注销。

凭据只来自各 Runner 目录下的 .github_check_token(可选 PAT),没有就跳过—— 本工具不保管也不要求这个凭据。

Index

Constants

View Source
const (

	// RunnerTokenFile 为各 runner 目录下可选的 PAT 文件,用于 List / Delete runners API
	RunnerTokenFile = ".github_check_token"
)

Variables

This section is empty.

Functions

func Run

func Run(cfg *config.Config)

Run 对每个配置了 PAT 的 runner 查询它是否已在 GitHub 登记,结果写入 .github_status.json。

查不到答案(令牌过期、限流、网络不通)与「确实没登记」是两回事,分别写入: 前者记为未知并附上原因,后者才记为 false。把前者当成后者会在界面上给出 斩钉截铁的「未显示」,让人去排查一个并不存在的注册问题。

func TokenForRunner

func TokenForRunner(installDir string) string

TokenForRunner 读取该 runner 目录下的 PAT,不存在或为空则返回空串

Types

type DeregisterResult

type DeregisterResult struct {
	// Done 为 true 表示 GitHub 上已经没有这个 Runner 了(本次删除的,或本来就没有)
	Done bool
	// Message 面向用户:Done 为 false 时说明为什么没删成、该去哪儿手动删
	Message string
}

DeregisterResult 说明一次注销尝试的结果,供调用方原样展示给用户

func Deregister

func Deregister(ctx context.Context, installDir, targetType, target, runnerName string) DeregisterResult

Deregister 把某个 Runner 从 GitHub 注销。

用该 Runner 目录下的 PAT 调 DELETE .../actions/runners/{id}。没有 PAT 就注销不了: GitHub 侧的删除需要 PAT 或一个新的 removal token,而 config.sh remove 也要 removal token, 二者本工具都拿不到。这种情况下如实说明,让人知道 GitHub 上还留着一个。

必须在删除安装目录之前调用——令牌就放在那个目录里。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL