From 480602ad57206b0d047b880124e0eead0b7a6a39 Mon Sep 17 00:00:00 2001 From: Ed Kern Date: Thu, 20 Sep 2018 10:25:57 -0600 Subject: [PATCH] VPP: docs breakout In preperation for new sphinx based docs in pulling both docs and test-docs out of main vpp file. Adding in new sphinx-docs jobs for john to tinker with on sandbox Change-Id: Id8916f8ee9cff7c6617d14a676069f9777e8fdb7 Signed-off-by: Ed Kern --- jjb/vpp/docs.yaml | 488 +++++++++++++++++++++++++++++++++ jjb/vpp/include-raw-vpp-sphinx-docs.sh | 50 ++++ jjb/vpp/vpp.yaml | 312 --------------------- 3 files changed, 538 insertions(+), 312 deletions(-) create mode 100644 jjb/vpp/docs.yaml create mode 100644 jjb/vpp/include-raw-vpp-sphinx-docs.sh diff --git a/jjb/vpp/docs.yaml b/jjb/vpp/docs.yaml new file mode 100644 index 000000000..1ab4ae7e7 --- /dev/null +++ b/jjb/vpp/docs.yaml @@ -0,0 +1,488 @@ +--- +- project: + name: docs + jobs: + - 'vpp-sphinx-docs-merge-{stream}' + - 'vpp-sphinx-docs-verify-{stream}' + - 'vpp-docs-merge-{stream}' + - 'vpp-docs-verify-{stream}' + - 'vpp-make-test-docs-merge-{stream}' + - 'vpp-make-test-docs-verify-{stream}' + + project: 'vpp' + os: + - ubuntu1604: + repo-os-part: 'ubuntu.xenial.main' + + stream: + - master: + branch: 'master' + repo-stream-part: 'master' + - '1801': + branch: 'stable/1801' + repo-stream-part: 'stable.1801' + - '1804': + branch: 'stable/1804' + repo-stream-part: 'stable.1804' + - '1807': + branch: 'stable/1807' + repo-stream-part: 'stable.1807' + type: + - short + - long + + +- job-template: + name: 'vpp-docs-verify-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: false + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-checkstyle: + name: '{project}' + branch: '{branch}' + + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-docs.sh + publishers: + - archive: + artifacts: 'build-root/docs/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 + +- job-template: + name: 'vpp-docs-merge-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: true + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '' + choosing-strategy: 'default' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - reverse: + jobs: 'vpp-merge-{stream}-ubuntu1604' + result: 'success' + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'run-docs' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-docs.sh + publishers: + - archive: + artifacts: 'build-root/docs/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 + + +- job-template: + name: 'vpp-sphinx-docs-verify-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: false + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'run-sphinx-docs-verify' + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-sphinx-docs.sh + publishers: + - archive: + artifacts: 'build-root/docs/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 + +- job-template: + name: 'vpp-sphinx-docs-merge-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: true + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '' + choosing-strategy: 'default' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'run-sphinx-docs-merged' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-sphinx-docs.sh + publishers: + - archive: + artifacts: 'build-root/docs/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 + +- job-template: + name: 'vpp-make-test-docs-verify-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: true + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '$GERRIT_REFSPEC' + choosing-strategy: 'gerrit' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - gerrit-trigger-checkstyle: + name: '{project}' + branch: '{branch}' + + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-make-test-docs.sh + publishers: + - archive: + artifacts: 'build-root/test-doc/build/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 + +- job-template: + name: 'vpp-make-test-docs-merge-{stream}' + + project-type: freestyle + node: ubuntu1604-us + concurrent: true + + logrotate: + daysToKeep: '{build-days-to-keep}' + numToKeep: '{build-num-to-keep}' + artifactDaysToKeep: '{build-artifact-days-to-keep}' + artifactNumToKeep: '{build-artifact-num-to-keep}' + + parameters: + - project-parameter: + project: '{project}' + - gerrit-parameter: + branch: '{branch}' + - os-parameter: + os: 'ubuntu1604' + - maven-exec: + maven-version: 'mvn33-new' + - stream-parameter: + stream: '{stream}' + + scm: + - gerrit-trigger-scm: + credentials-id: 'jenkins-gerrit-credentials' + refspec: '' + choosing-strategy: 'default' + + wrappers: + - fdio-infra-wrappers: + build-timeout: '{build-timeout}' + + triggers: + - reverse: + jobs: 'vpp-merge-{stream}-ubuntu1604' + result: 'success' + - gerrit: + server-name: 'Primary' + trigger-on: + - comment-added-contains-event: + comment-contains-value: 'run-docs' + projects: + - project-compare-type: 'ANT' + project-pattern: '{project}' + branches: + - branch-compare-type: 'ANT' + branch-pattern: '**/{branch}' + skip-vote: + successful: true + failed: true + unstable: true + notbuilt: true + + builders: + - maven-target: + maven-version: 'mvn33-new' + goals: '--version' + settings: 'vpp-settings' + settings-type: cfp + global-settings: 'global-settings' + global-settings-type: cfp + - provide-maven-settings: + settings-file: 'vpp-settings' + global-settings-file: 'global-settings' + - shell: + !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh + - shell: + !include-raw-escape: include-raw-vpp-make-test-docs.sh + publishers: + - archive: + artifacts: 'build-root/test-doc/build/html/*' + allow-empty: 'true' + fingerprint: false + only-if-success: true + default-excludes: false + - fdio-infra-shiplogs: + maven-version: 'mvn33-new' + - naginator: + rerun-unstable-builds: false + max-failed-builds: 1 + fixed-delay: 90 diff --git a/jjb/vpp/include-raw-vpp-sphinx-docs.sh b/jjb/vpp/include-raw-vpp-sphinx-docs.sh new file mode 100644 index 000000000..5ab0df27e --- /dev/null +++ b/jjb/vpp/include-raw-vpp-sphinx-docs.sh @@ -0,0 +1,50 @@ +#!/bin/bash +set -xe -o pipefail +[ "$DOCS_REPO_URL" ] || DOCS_REPO_URL="https://nexus.fd.io/content/sites/site" +[ "$PROJECT_PATH" ] || PROJECT_PATH=io/fd/vpp +[ "$DOC_FILE" ] || DOC_FILE=vpp.docs.zip +[ "$DOC_DIR" ] || DOC_DIR=build-root/docs/html +[ "$SITE_DIR" ] || SITE_DIR=build-root/docs/deploy-site/ +[ "$RESOURCES_DIR" ] || RESOURCES_DIR=${SITE_DIR}/src/site/resources +[ "$MVN" ] || MVN="/opt/apache/maven/bin/mvn" +[ "$VERSION" ] || VERSION=$(./build-root/scripts/version rpm-version) + +make doxygen + +if [[ ${JOB_NAME} == *merge* ]]; then + mkdir -p $(dirname ${RESOURCES_DIR}) + mv -f ${DOC_DIR} ${RESOURCES_DIR} + cd ${SITE_DIR} + find . -type f '(' -name '*.md5' -o -name '*.dot' -o -name '*.map' ')' -delete + cat > pom.xml << EOF + + 4.0.0 + io.fd.vpp + docs + 1.0.0 + pom + + + false + + + + + + org.apache.maven.wagon + wagon-webdav-jackrabbit + 2.9 + + + + + + fdio-site + dav:${DOCS_REPO_URL}/${PROJECT_PATH}/${VERSION} + + + +EOF + ${MVN} site:site site:deploy -gs "${GLOBAL_SETTINGS_FILE}" -s "${SETTINGS_FILE}" -T 4C + cd - +fi \ No newline at end of file diff --git a/jjb/vpp/vpp.yaml b/jjb/vpp/vpp.yaml index cb795f033..9bdac1b3f 100644 --- a/jjb/vpp/vpp.yaml +++ b/jjb/vpp/vpp.yaml @@ -4,10 +4,6 @@ jobs: - 'vpp-verify-{stream}-{os}' - 'vpp-merge-{stream}-{os}' - - 'vpp-docs-merge-{stream}' - - 'vpp-docs-verify-{stream}' - - 'vpp-make-test-docs-merge-{stream}' - - 'vpp-make-test-docs-verify-{stream}' project: 'vpp' os: @@ -875,311 +871,3 @@ default: '{type}' description: "TYPE parameter if not given by trigger" -- job-template: - name: 'vpp-docs-verify-{stream}' - - project-type: freestyle - node: ubuntu1604-us - concurrent: false - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - os-parameter: - os: 'ubuntu1604' - - maven-exec: - maven-version: 'mvn33-new' - - stream-parameter: - stream: '{stream}' - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - wrappers: - - fdio-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - gerrit-trigger-checkstyle: - name: '{project}' - branch: '{branch}' - - builders: - - maven-target: - maven-version: 'mvn33-new' - goals: '--version' - settings: 'vpp-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - provide-maven-settings: - settings-file: 'vpp-settings' - global-settings-file: 'global-settings' - - shell: - !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh - - shell: - !include-raw-escape: include-raw-vpp-docs.sh - publishers: - - archive: - artifacts: 'build-root/docs/html/*' - allow-empty: 'true' - fingerprint: false - only-if-success: true - default-excludes: false - - fdio-infra-shiplogs: - maven-version: 'mvn33-new' - - naginator: - rerun-unstable-builds: false - max-failed-builds: 1 - fixed-delay: 90 - -- job-template: - name: 'vpp-docs-merge-{stream}' - - project-type: freestyle - node: ubuntu1604-us - concurrent: true - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - os-parameter: - os: 'ubuntu1604' - - maven-exec: - maven-version: 'mvn33-new' - - stream-parameter: - stream: '{stream}' - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - fdio-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - reverse: - jobs: 'vpp-merge-{stream}-ubuntu1604' - result: 'success' - - gerrit: - server-name: 'Primary' - trigger-on: - - comment-added-contains-event: - comment-contains-value: 'run-docs' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true - - builders: - - maven-target: - maven-version: 'mvn33-new' - goals: '--version' - settings: 'vpp-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - provide-maven-settings: - settings-file: 'vpp-settings' - global-settings-file: 'global-settings' - - shell: - !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh - - shell: - !include-raw-escape: include-raw-vpp-docs.sh - publishers: - - archive: - artifacts: 'build-root/docs/html/*' - allow-empty: 'true' - fingerprint: false - only-if-success: true - default-excludes: false - - fdio-infra-shiplogs: - maven-version: 'mvn33-new' - - naginator: - rerun-unstable-builds: false - max-failed-builds: 1 - fixed-delay: 90 - - -- job-template: - name: 'vpp-make-test-docs-verify-{stream}' - - project-type: freestyle - node: ubuntu1604-us - concurrent: true - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - os-parameter: - os: 'ubuntu1604' - - maven-exec: - maven-version: 'mvn33-new' - - stream-parameter: - stream: '{stream}' - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '$GERRIT_REFSPEC' - choosing-strategy: 'gerrit' - - wrappers: - - fdio-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - gerrit-trigger-checkstyle: - name: '{project}' - branch: '{branch}' - - builders: - - maven-target: - maven-version: 'mvn33-new' - goals: '--version' - settings: 'vpp-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - provide-maven-settings: - settings-file: 'vpp-settings' - global-settings-file: 'global-settings' - - shell: - !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh - - shell: - !include-raw-escape: include-raw-vpp-make-test-docs.sh - publishers: - - archive: - artifacts: 'build-root/test-doc/build/html/*' - allow-empty: 'true' - fingerprint: false - only-if-success: true - default-excludes: false - - fdio-infra-shiplogs: - maven-version: 'mvn33-new' - - naginator: - rerun-unstable-builds: false - max-failed-builds: 1 - fixed-delay: 90 - -- job-template: - name: 'vpp-make-test-docs-merge-{stream}' - - project-type: freestyle - node: ubuntu1604-us - concurrent: true - - logrotate: - daysToKeep: '{build-days-to-keep}' - numToKeep: '{build-num-to-keep}' - artifactDaysToKeep: '{build-artifact-days-to-keep}' - artifactNumToKeep: '{build-artifact-num-to-keep}' - - parameters: - - project-parameter: - project: '{project}' - - gerrit-parameter: - branch: '{branch}' - - os-parameter: - os: 'ubuntu1604' - - maven-exec: - maven-version: 'mvn33-new' - - stream-parameter: - stream: '{stream}' - - scm: - - gerrit-trigger-scm: - credentials-id: 'jenkins-gerrit-credentials' - refspec: '' - choosing-strategy: 'default' - - wrappers: - - fdio-infra-wrappers: - build-timeout: '{build-timeout}' - - triggers: - - reverse: - jobs: 'vpp-merge-{stream}-ubuntu1604' - result: 'success' - - gerrit: - server-name: 'Primary' - trigger-on: - - comment-added-contains-event: - comment-contains-value: 'run-docs' - projects: - - project-compare-type: 'ANT' - project-pattern: '{project}' - branches: - - branch-compare-type: 'ANT' - branch-pattern: '**/{branch}' - skip-vote: - successful: true - failed: true - unstable: true - notbuilt: true - - builders: - - maven-target: - maven-version: 'mvn33-new' - goals: '--version' - settings: 'vpp-settings' - settings-type: cfp - global-settings: 'global-settings' - global-settings-type: cfp - - provide-maven-settings: - settings-file: 'vpp-settings' - global-settings-file: 'global-settings' - - shell: - !include-raw-escape: ../scripts/setup_vpp_ubuntu_docker_test.sh - - shell: - !include-raw-escape: include-raw-vpp-make-test-docs.sh - publishers: - - archive: - artifacts: 'build-root/test-doc/build/html/*' - allow-empty: 'true' - fingerprint: false - only-if-success: true - default-excludes: false - - fdio-infra-shiplogs: - maven-version: 'mvn33-new' - - naginator: - rerun-unstable-builds: false - max-failed-builds: 1 - fixed-delay: 90 -- 2.16.6