cooked I Am
This commit is contained in:
@@ -31,7 +31,20 @@ EOF
|
||||
}
|
||||
|
||||
ensure_dirs() {
|
||||
mkdir -p "$RUNNER_HOME" "$(dirname "$RUNNER_BIN")"
|
||||
mkdir -p "$RUNNER_HOME" "$(dirname "$RUNNER_BIN")"
|
||||
}
|
||||
|
||||
ensure_runner_bin() {
|
||||
if [[ ! -x "$RUNNER_BIN" ]]; then
|
||||
echo "Runner binary not found or not executable at $RUNNER_BIN" >&2
|
||||
exit 2
|
||||
fi
|
||||
}
|
||||
|
||||
runner_pids() {
|
||||
ps -eo pid=,args= | awk -v bin="$RUNNER_BIN" -v config="$CONFIG_PATH" '
|
||||
$2 == bin && $3 == "daemon" && $4 == "--config" && $5 == config { print $1 }
|
||||
'
|
||||
}
|
||||
|
||||
update_runner() {
|
||||
@@ -62,6 +75,7 @@ PY
|
||||
|
||||
register_runner() {
|
||||
ensure_dirs
|
||||
ensure_runner_bin
|
||||
|
||||
if [[ -z "$SERVER_URL" || -z "$TOKEN" ]]; then
|
||||
echo "register requires SERVER_URL and TOKEN (or --server-url/--token)" >&2
|
||||
@@ -79,6 +93,7 @@ register_runner() {
|
||||
start_runner() {
|
||||
local mode="${1:-daemon}"
|
||||
ensure_dirs
|
||||
ensure_runner_bin
|
||||
|
||||
if [[ ! -f "$CONFIG_PATH" ]]; then
|
||||
echo "Runner config not found at $CONFIG_PATH" >&2
|
||||
@@ -104,14 +119,21 @@ start_runner() {
|
||||
}
|
||||
|
||||
stop_runner() {
|
||||
pkill -f "$RUNNER_BIN" || true
|
||||
local pids
|
||||
pids="$(runner_pids)"
|
||||
if [[ -z "$pids" ]]; then
|
||||
return 0
|
||||
fi
|
||||
kill $pids
|
||||
}
|
||||
|
||||
status_runner() {
|
||||
if pgrep -f "$RUNNER_BIN" >/dev/null; then
|
||||
ensure_runner_bin
|
||||
|
||||
if [[ -n "$(runner_pids)" ]]; then
|
||||
echo "act_runner is running"
|
||||
else
|
||||
echo "act_runner is not running"
|
||||
echo "act_runner is off"
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@@ -1,57 +0,0 @@
|
||||
param(
|
||||
[Parameter(Mandatory = $true)][string]$Tag,
|
||||
[Parameter(Mandatory = $true)][string]$AssetPattern,
|
||||
[string]$ServerUrl,
|
||||
[string]$Token,
|
||||
[string]$Owner,
|
||||
[string]$Repo
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
# Resolve token
|
||||
if (-not $Token) { $Token = $env:GITEA_TOKEN }
|
||||
if (-not $Token) { throw 'Missing Gitea token. Set -Token or $env:GITEA_TOKEN' }
|
||||
|
||||
# Resolve repo owner/name
|
||||
if (-not $Owner -or -not $Repo) {
|
||||
if ($env:GITHUB_REPOSITORY) {
|
||||
$parts = $env:GITHUB_REPOSITORY -split '/'
|
||||
if (-not $Owner -and $parts.Length -ge 1) { $Owner = $parts[0] }
|
||||
if (-not $Repo -and $parts.Length -ge 2) { $Repo = $parts[1] }
|
||||
}
|
||||
else {
|
||||
throw 'Missing Owner/Repo and GITHUB_REPOSITORY not set'
|
||||
}
|
||||
}
|
||||
|
||||
# Resolve API base
|
||||
$api = $env:GITHUB_API_URL
|
||||
if (-not $api -and $env:GITHUB_SERVER_URL) { $api = "$($env:GITHUB_SERVER_URL)/api/v1" }
|
||||
if (-not $api -and $ServerUrl) { $api = "$ServerUrl/api/v1" }
|
||||
if (-not $api) { throw 'Could not determine Gitea API URL. Provide -ServerUrl or set GITHUB_SERVER_URL/GITHUB_API_URL' }
|
||||
|
||||
# Find asset
|
||||
$asset = Get-ChildItem -Path $AssetPattern -ErrorAction Stop | Select-Object -First 1
|
||||
if (-not $asset) { throw "No asset matches pattern: $AssetPattern" }
|
||||
|
||||
$headers = @{ Authorization = "token $Token" }
|
||||
$body = @{ tag_name = $Tag; name = $Tag; draft = $false; prerelease = $false } | ConvertTo-Json
|
||||
|
||||
Write-Host "Creating release $Tag for $Owner/$Repo"
|
||||
try {
|
||||
$release = Invoke-RestMethod -Headers $headers -Uri "$api/repos/$Owner/$Repo/releases" -Method Post -Body $body -ContentType 'application/json'
|
||||
}
|
||||
catch {
|
||||
# If already exists, fetch by tag
|
||||
Write-Host "Create failed; trying to fetch existing release for tag $Tag" -ForegroundColor Yellow
|
||||
$release = Invoke-RestMethod -Headers $headers -Uri "$api/repos/$Owner/$Repo/releases/tags/$Tag" -Method Get
|
||||
}
|
||||
|
||||
$rid = $release.id
|
||||
if (-not $rid) { throw "Failed to resolve release id: $($release | ConvertTo-Json -Depth 5)" }
|
||||
|
||||
$uploadUri = "$api/repos/$Owner/$Repo/releases/$rid/assets?name=$($asset.Name)"
|
||||
Write-Host "Uploading asset $($asset.Name)"
|
||||
Invoke-WebRequest -UseBasicParsing -Headers $headers -Uri $uploadUri -Method Post -InFile $asset.FullName -ContentType 'application/octet-stream' | Out-Null
|
||||
Write-Host "Release published: tag $Tag with asset $($asset.Name)"
|
||||
+1
-1
@@ -13,7 +13,7 @@ param(
|
||||
[string]$Registry,
|
||||
[ValidateSet('wsl', 'windows', 'none')]
|
||||
[string]$RunnerMode = 'wsl',
|
||||
[string]$WslDistro = $(if ($env:WAKEY_WSL_DISTRO) { $env:WAKEY_WSL_DISTRO } else { 'FedoraLinux' })
|
||||
[string]$WslDistro = $(if ($env:WAKEY_WSL_DISTRO) { $env:WAKEY_WSL_DISTRO } else { 'FedoraLinux-43' })
|
||||
)
|
||||
|
||||
$ErrorActionPreference = 'Stop'
|
||||
|
||||
Reference in New Issue
Block a user