mirror of
https://github.com/markwylde/claude-code-gitea-action.git
synced 2026-07-12 04:59:02 +08:00
fix: skip auth setup for untriggered runs
This commit is contained in:
@@ -37,6 +37,10 @@ inputs:
|
|||||||
description: "Instructions for Claude. Can be a direct prompt or custom template."
|
description: "Instructions for Claude. Can be a direct prompt or custom template."
|
||||||
required: false
|
required: false
|
||||||
default: ""
|
default: ""
|
||||||
|
direct_prompt:
|
||||||
|
description: "Deprecated alias for prompt. Use prompt instead."
|
||||||
|
required: false
|
||||||
|
default: ""
|
||||||
settings:
|
settings:
|
||||||
description: "Claude Code settings as JSON string or path to settings JSON file"
|
description: "Claude Code settings as JSON string or path to settings JSON file"
|
||||||
required: false
|
required: false
|
||||||
@@ -145,6 +149,7 @@ runs:
|
|||||||
env:
|
env:
|
||||||
MODE: ${{ inputs.mode }}
|
MODE: ${{ inputs.mode }}
|
||||||
PROMPT: ${{ inputs.prompt }}
|
PROMPT: ${{ inputs.prompt }}
|
||||||
|
DIRECT_PROMPT: ${{ inputs.direct_prompt }}
|
||||||
TRIGGER_PHRASE: ${{ inputs.trigger_phrase }}
|
TRIGGER_PHRASE: ${{ inputs.trigger_phrase }}
|
||||||
ASSIGNEE_TRIGGER: ${{ inputs.assignee_trigger }}
|
ASSIGNEE_TRIGGER: ${{ inputs.assignee_trigger }}
|
||||||
LABEL_TRIGGER: ${{ inputs.label_trigger }}
|
LABEL_TRIGGER: ${{ inputs.label_trigger }}
|
||||||
@@ -288,7 +293,7 @@ runs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Revoke app token
|
- name: Revoke app token
|
||||||
if: always() && inputs.github_token == '' && steps.prepare.outputs.skipped_due_to_workflow_validation_mismatch != 'true'
|
if: always() && inputs.github_token == '' && steps.prepare.outputs.GITHUB_TOKEN != '' && steps.prepare.outputs.skipped_due_to_workflow_validation_mismatch != 'true'
|
||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
curl -L \
|
curl -L \
|
||||||
|
|||||||
@@ -24,6 +24,23 @@ async function run() {
|
|||||||
// Auto-detect mode based on context
|
// Auto-detect mode based on context
|
||||||
const mode = getMode(context);
|
const mode = getMode(context);
|
||||||
|
|
||||||
|
// Check trigger conditions before token setup so skipped events do not need
|
||||||
|
// OIDC or GitHub App authentication.
|
||||||
|
const containsTrigger = mode.shouldTrigger(context);
|
||||||
|
|
||||||
|
// Debug logging
|
||||||
|
console.log(`Mode: ${mode.name}`);
|
||||||
|
console.log(`Context prompt: ${context.inputs?.prompt || "NO PROMPT"}`);
|
||||||
|
console.log(`Trigger result: ${containsTrigger}`);
|
||||||
|
|
||||||
|
// Set output for action.yml to check
|
||||||
|
core.setOutput("contains_trigger", containsTrigger.toString());
|
||||||
|
|
||||||
|
if (!containsTrigger) {
|
||||||
|
console.log("No trigger found, skipping remaining steps");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Setup GitHub token
|
// Setup GitHub token
|
||||||
const githubToken = await setupGitHubToken();
|
const githubToken = await setupGitHubToken();
|
||||||
const octokit = createOctokit(githubToken);
|
const octokit = createOctokit(githubToken);
|
||||||
@@ -45,24 +62,6 @@ async function run() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Check trigger conditions
|
|
||||||
const containsTrigger = mode.shouldTrigger(context);
|
|
||||||
|
|
||||||
// Debug logging
|
|
||||||
console.log(`Mode: ${mode.name}`);
|
|
||||||
console.log(`Context prompt: ${context.inputs?.prompt || "NO PROMPT"}`);
|
|
||||||
console.log(`Trigger result: ${containsTrigger}`);
|
|
||||||
|
|
||||||
// Set output for action.yml to check
|
|
||||||
core.setOutput("contains_trigger", containsTrigger.toString());
|
|
||||||
|
|
||||||
if (!containsTrigger) {
|
|
||||||
console.log("No trigger found, skipping remaining steps");
|
|
||||||
// Still set github_token output even when skipping
|
|
||||||
core.setOutput("github_token", githubToken);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Step 5: Use the new modular prepare function
|
// Step 5: Use the new modular prepare function
|
||||||
const result = await prepare({
|
const result = await prepare({
|
||||||
context,
|
context,
|
||||||
|
|||||||
@@ -137,7 +137,7 @@ export function parseGitHubContext(): GitHubContext {
|
|||||||
},
|
},
|
||||||
actor: context.actor,
|
actor: context.actor,
|
||||||
inputs: {
|
inputs: {
|
||||||
prompt: process.env.PROMPT || "",
|
prompt: process.env.PROMPT || process.env.DIRECT_PROMPT || "",
|
||||||
triggerPhrase: process.env.TRIGGER_PHRASE ?? "@claude",
|
triggerPhrase: process.env.TRIGGER_PHRASE ?? "@claude",
|
||||||
assigneeTrigger: process.env.ASSIGNEE_TRIGGER ?? "",
|
assigneeTrigger: process.env.ASSIGNEE_TRIGGER ?? "",
|
||||||
labelTrigger: process.env.LABEL_TRIGGER ?? "",
|
labelTrigger: process.env.LABEL_TRIGGER ?? "",
|
||||||
|
|||||||
Reference in New Issue
Block a user