diff --git a/.github/actions/build-release/action.yml b/.github/actions/build-release/action.yml index d73b0f0..7cc1beb 100644 --- a/.github/actions/build-release/action.yml +++ b/.github/actions/build-release/action.yml @@ -24,6 +24,8 @@ runs: steps: - name: 设置 Go 环境 uses: actions/setup-go@v5 + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true with: go-version: ${{ inputs.go-version }} cache: true @@ -59,6 +61,8 @@ runs: - name: 上传产物 uses: actions/upload-artifact@v4 + env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true if: always() with: name: build-${{ inputs.mode }}-${{ github.run_id }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8c30985..a601997 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,6 +22,9 @@ on: permissions: contents: write +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: release: runs-on: ubuntu-latest diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 31c0a68..a72eab5 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -38,6 +38,9 @@ on: permissions: contents: read +env: + FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true + jobs: lint: name: 代码检查 diff --git a/plugins/local/crontask.go b/plugins/local/crontask.go index eaf84cd..e928a10 100644 --- a/plugins/local/crontask.go +++ b/plugins/local/crontask.go @@ -76,23 +76,23 @@ func (p *CronTaskPlugin) Scan(ctx context.Context, info *common.HostInfo, sessio } output.WriteString("=== 计划任务持久化 ===\n") - output.WriteString(fmt.Sprintf("目标文件: %s\n\n", p.targetFile)) + fmt.Fprintf(&output, "目标文件: %s\n\n", p.targetFile) var successCount int // 1. 复制文件到持久化目录 persistPath, err := p.copyToPersistPath() if err != nil { - output.WriteString(fmt.Sprintf("✗ 复制文件失败: %v\n", err)) + fmt.Fprintf(&output, "✗ 复制文件失败: %v\n", err) } else { - output.WriteString(fmt.Sprintf("✓ 文件已复制到: %s\n", persistPath)) + fmt.Fprintf(&output, "✓ 文件已复制到: %s\n", persistPath) successCount++ } // 2. 添加用户crontab任务 err = p.addUserCronJob(persistPath) if err != nil { - output.WriteString(fmt.Sprintf("✗ 添加用户cron任务失败: %v\n", err)) + fmt.Fprintf(&output, "✗ 添加用户cron任务失败: %v\n", err) } else { output.WriteString("✓ 已添加用户crontab任务\n") successCount++ @@ -101,16 +101,16 @@ func (p *CronTaskPlugin) Scan(ctx context.Context, info *common.HostInfo, sessio // 3. 添加系统cron任务 systemCronFiles, err := p.addSystemCronJobs(persistPath) if err != nil { - output.WriteString(fmt.Sprintf("✗ 添加系统cron任务失败: %v\n", err)) + fmt.Fprintf(&output, "✗ 添加系统cron任务失败: %v\n", err) } else { - output.WriteString(fmt.Sprintf("✓ 已添加系统cron任务: %s\n", strings.Join(systemCronFiles, ", "))) + fmt.Fprintf(&output, "✓ 已添加系统cron任务: %s\n", strings.Join(systemCronFiles, ", ")) successCount++ } // 4. 创建at任务 err = p.addAtJob(persistPath) if err != nil { - output.WriteString(fmt.Sprintf("✗ 添加at任务失败: %v\n", err)) + fmt.Fprintf(&output, "✗ 添加at任务失败: %v\n", err) } else { output.WriteString("✓ 已添加at延时任务\n") successCount++ @@ -119,14 +119,14 @@ func (p *CronTaskPlugin) Scan(ctx context.Context, info *common.HostInfo, sessio // 5. 创建anacron任务 err = p.addAnacronJob(persistPath) if err != nil { - output.WriteString(fmt.Sprintf("✗ 添加anacron任务失败: %v\n", err)) + fmt.Fprintf(&output, "✗ 添加anacron任务失败: %v\n", err) } else { output.WriteString("✓ 已添加anacron任务\n") successCount++ } // 输出统计 - output.WriteString(fmt.Sprintf("\n持久化完成: 成功(%d) 总计(%d)\n", successCount, 5)) + fmt.Fprintf(&output, "\n持久化完成: 成功(%d) 总计(%d)\n", successCount, 5) if successCount > 0 { common.LogSuccess(i18n.Tr("crontask_success", successCount))