diff --git a/ci/jenkins/KT-NapCatQQ-Runtime-Release.Jenkinsfile b/ci/jenkins/KT-NapCatQQ-Runtime-Release.Jenkinsfile index 1ee9863..0621ba9 100644 --- a/ci/jenkins/KT-NapCatQQ-Runtime-Release.Jenkinsfile +++ b/ci/jenkins/KT-NapCatQQ-Runtime-Release.Jenkinsfile @@ -2,6 +2,8 @@ pipeline { agent any options { + buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '30')) + disableConcurrentBuilds() skipDefaultCheckout(true) timestamps() timeout(time: 60, unit: 'MINUTES') @@ -86,6 +88,18 @@ pipeline { } } } + + post { + always { + sh ''' + set +e + rm -rf "$WORKSPACE/artifacts" + mkdir -p "$WORKSPACE/artifacts/napcat-runtime-release" + cp -a "$KT_ARTIFACT_ROOT/napcat-runtime-release/." "$WORKSPACE/artifacts/napcat-runtime-release/" 2>/dev/null || true + ''' + archiveArtifacts artifacts: 'artifacts/napcat-runtime-release/**/*', allowEmptyArchive: true, fingerprint: false + } + } } /** diff --git a/ci/jenkins/KT-NapCatQQ-Upstream-Sync.Jenkinsfile b/ci/jenkins/KT-NapCatQQ-Upstream-Sync.Jenkinsfile index bd13476..a29052d 100644 --- a/ci/jenkins/KT-NapCatQQ-Upstream-Sync.Jenkinsfile +++ b/ci/jenkins/KT-NapCatQQ-Upstream-Sync.Jenkinsfile @@ -2,6 +2,8 @@ pipeline { agent any options { + buildDiscarder(logRotator(numToKeepStr: '30', artifactNumToKeepStr: '30')) + disableConcurrentBuilds() skipDefaultCheckout(true) timestamps() timeout(time: 30, unit: 'MINUTES') @@ -48,4 +50,16 @@ pipeline { } } } + + post { + always { + sh ''' + set +e + rm -rf "$WORKSPACE/artifacts" + mkdir -p "$WORKSPACE/artifacts/napcat-upstream-sync" + cp -a "$KT_ARTIFACT_ROOT/napcat-upstream-sync/." "$WORKSPACE/artifacts/napcat-upstream-sync/" 2>/dev/null || true + ''' + archiveArtifacts artifacts: 'artifacts/napcat-upstream-sync/**/*', allowEmptyArchive: true, fingerprint: false + } + } } diff --git a/src/selfTest.ts b/src/selfTest.ts index 8283bd5..23402bb 100644 --- a/src/selfTest.ts +++ b/src/selfTest.ts @@ -475,6 +475,9 @@ export async function runSelfTest(): Promise { "RUN_CODEX_AUDIT", "CONFIRM_CODEX_WORKSPACE_WRITE", "RUN_CODEX_WORKSPACE_WRITE_AUDIT", + "buildDiscarder(logRotator", + "disableConcurrentBuilds()", + "archiveArtifacts artifacts: 'artifacts/napcat-upstream-sync/**/*'", ]) { if (!upstreamSyncJenkinsTemplate.includes(expected)) { throw new Error(`NapCat upstream Jenkins template missing: ${expected}`); @@ -558,6 +561,9 @@ export async function runSelfTest(): Promise { "choice(name: 'API_PROMOTION_JOB'", "CONFIRM_API_PROMOTION_TARGET", "PROMOTE_KT_TEMPLATE_API_MAIN", + "buildDiscarder(logRotator", + "disableConcurrentBuilds()", + "archiveArtifacts artifacts: 'artifacts/napcat-runtime-release/**/*'", ]) { if (!runtimeReleaseJenkinsTemplate.includes(expected)) { throw new Error(`NapCat runtime Jenkins template missing: ${expected}`);