feat: resolve gitea token sources
This commit is contained in:
+3
-4
@@ -1,10 +1,9 @@
|
|||||||
FROM alpine:latest
|
FROM alpine:latest
|
||||||
|
|
||||||
# 安裝必要的工具
|
RUN apk add --no-cache --no-check-certificate bash curl ca-certificates
|
||||||
RUN apk add --no-cache --no-check-certificate bash
|
|
||||||
|
|
||||||
COPY entrypoint.sh /entrypoint.sh
|
COPY entrypoint.sh /entrypoint.sh
|
||||||
|
|
||||||
RUN chmod +x /entrypoint.sh
|
RUN chmod +x /entrypoint.sh
|
||||||
|
|
||||||
ENTRYPOINT ["/entrypoint.sh"]
|
ENTRYPOINT ["/entrypoint.sh"]
|
||||||
|
|||||||
+7
-11
@@ -1,20 +1,16 @@
|
|||||||
name: 'Docker Action Template'
|
name: 'CLEANUP OLD NUGET'
|
||||||
description: 'Docker Action 範本'
|
description: '清理 Nuget 沒用到的資源'
|
||||||
author: 'Jeffery'
|
author: 'Jeffery'
|
||||||
inputs:
|
inputs:
|
||||||
runner_token:
|
runner_token:
|
||||||
description: 'Gitea Runner Token'
|
description: 'Gitea API token, highest priority source'
|
||||||
required: true
|
required: false
|
||||||
text:
|
|
||||||
description: '輸入的文字'
|
|
||||||
default: "Hello, World!"
|
|
||||||
outputs:
|
|
||||||
text:
|
|
||||||
description: '輸出的文字'
|
|
||||||
runs:
|
runs:
|
||||||
using: 'docker'
|
using: 'docker'
|
||||||
image: 'Dockerfile'
|
image: 'Dockerfile'
|
||||||
env:
|
env:
|
||||||
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
GITEA_SERVER_URL: ${{ gitea.server_url }}
|
||||||
GITEA_REPOSITORY: ${{ gitea.repository }}
|
GITEA_REPOSITORY: ${{ gitea.repository }}
|
||||||
RUNNER_TOKEN: ${{ inputs.runner_token || secrets.GITEA_TOKEN || secrets.RUNNER_TOKEN }}
|
INPUT_RUNNER_TOKEN: ${{ inputs.runner_token }}
|
||||||
|
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
|
||||||
|
RUNNER_TOKEN_SECRET: ${{ secrets.RUNNER_TOKEN }}
|
||||||
|
|||||||
Regular → Executable
+45
-5
@@ -1,11 +1,51 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
echo "Gitea Server Url: $GITEA_SERVER_URL"
|
log() {
|
||||||
|
printf '%s\n' "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
echo "Gitea Repository: $GITEA_REPOSITORY"
|
fail() {
|
||||||
|
log "ERROR: $*"
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
echo "Gitea Runner Token: $RUNNER_TOKEN"
|
resolve_token() {
|
||||||
|
local source_name env_value
|
||||||
|
local sources=(
|
||||||
|
"inputs.RUNNER_TOKEN:INPUT_RUNNER_TOKEN"
|
||||||
|
"secrets.GITEA_TOKEN:GITEA_TOKEN"
|
||||||
|
"secrets.RUNNER_TOKEN:RUNNER_TOKEN_SECRET"
|
||||||
|
)
|
||||||
|
|
||||||
echo "Input Text: $INPUT_TEXT"
|
for source in "${sources[@]}"; do
|
||||||
|
source_name="${source%%:*}"
|
||||||
|
env_value="${source#*:}"
|
||||||
|
log "Trying token from ${source_name}"
|
||||||
|
if [[ -n "${!env_value:-}" ]]; then
|
||||||
|
log "Using token from ${source_name}"
|
||||||
|
printf '%s' "${!env_value}"
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
log "Token not found in ${source_name}, trying next source"
|
||||||
|
done
|
||||||
|
|
||||||
echo "text=$INPUT_TEXT" >> "$GITHUB_OUTPUT"
|
return 1
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
local token
|
||||||
|
|
||||||
|
log "Gitea Server Url: ${GITEA_SERVER_URL:-}"
|
||||||
|
log "Gitea Repository: ${GITEA_REPOSITORY:-}"
|
||||||
|
|
||||||
|
if ! token="$(resolve_token)"; then
|
||||||
|
fail "No Gitea token available, exiting"
|
||||||
|
fi
|
||||||
|
|
||||||
|
export RESOLVED_GITEA_TOKEN="$token"
|
||||||
|
log "Token source resolved successfully"
|
||||||
|
log "Stage 1 complete"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
|
|||||||
Reference in New Issue
Block a user