| --- |
| # CORD documentation verification and publish tasks |
| |
| - project: |
| name: verify-docs |
| |
| jobs: |
| - 'verify-documentation': |
| other-docs-repos-regexp: '{cord-guide-projects-regexp}' |
| branch-regexp: '{modern-branches-regexp}' |
| |
| - project: |
| name: publish-docs |
| |
| jobs: |
| - 'publish-documentation': |
| other-docs-repos-regexp: '{cord-guide-projects-regexp}' |
| branch-regexp: '{modern-branches-regexp}' |
| |
| - project: |
| name: publish-xos-docs |
| |
| jobs: |
| - 'publish-xos-documentation': |
| branch-regexp: '{modern-branches-regexp}' |
| |
| - job-template: |
| id: verify-documentation |
| name: "verify-documentation" |
| |
| triggers: |
| - gerrit: |
| server-name: '{gerrit-server-name}' |
| dependency-jobs: '{dependency-jobs}' |
| silent-start: true |
| trigger-on: |
| - patchset-created-event: |
| exclude-drafts: true |
| exclude-trivial-rebase: false |
| exclude-no-code-change: true |
| - draft-published-event |
| - comment-added-contains-event: |
| comment-contains-value: '(?i)^.*recheck$' |
| projects: |
| - project-compare-type: PLAIN |
| project-pattern: 'docs' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{branch-regexp}' |
| file-paths: |
| - compare-type: REG_EXP |
| pattern: '{all-files-regexp}' |
| - project-compare-type: REG_EXP |
| project-pattern: '{other-docs-repos-regexp}' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{branch-regexp}' |
| file-paths: |
| - compare-type: REG_EXP |
| pattern: '{doc-files-regexp}' |
| - compare-type: REG_EXP |
| pattern: '.*\.md' |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '20' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| scm: |
| - cord-infra-gerrit-repo-scm: |
| manifest-url: '{gerrit-server-url}/{cord-repo-manifest}' |
| branch: '$GERRIT_BRANCH' |
| destination-dir: 'cord' |
| |
| node: 'ubuntu16.04-basebuild-1c-2g' |
| project-type: freestyle |
| concurrent: false |
| |
| builders: |
| - cord-infra-gerrit-repo-patch: |
| destination-dir: 'cord' |
| project: '$GERRIT_PROJECT' |
| change-number: '$GERRIT_CHANGE_NUMBER' |
| patchset-number: '$GERRIT_PATCHSET_NUMBER' |
| - shell: | |
| #!/usr/bin/env bash |
| |
| # checkout is under cord |
| cd cord |
| |
| # make repos checkout directory |
| mkdir -p docs/repos |
| |
| # Find path to the repo, copy into docs |
| PROJECT_PATH=$(xmllint --xpath "string(//project[@name=\"$GERRIT_PROJECT\"]/@path)" .repo/manifest.xml) |
| cp -r "$PROJECT_PATH" "docs/repos/$GERRIT_PROJECT" |
| |
| # build docs, don't touch checkout under test, capture test result |
| cd docs |
| SKIP_CHECKOUT="$GERRIT_PROJECT" make test |
| test_result=$? |
| |
| # cleanup |
| make clean |
| |
| exit $test_result |
| |
| publishers: |
| - email: |
| recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org' |
| |
| - job-template: |
| id: publish-documentation |
| name: 'publish-documentation' |
| |
| triggers: |
| - gerrit: |
| server-name: '{gerrit-server-name}' |
| dependency-jobs: '{dependency-jobs}' |
| silent-start: true |
| trigger-on: |
| - change-merged-event |
| projects: |
| - project-compare-type: PLAIN |
| project-pattern: 'docs' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{branch-regexp}' |
| file-paths: |
| - compare-type: REG_EXP |
| pattern: '{all-files-regexp}' |
| - project-compare-type: REG_EXP |
| project-pattern: '{other-docs-repos-regexp}' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{branch-regexp}' |
| file-paths: |
| - compare-type: REG_EXP |
| pattern: '{doc-files-regexp}' |
| - compare-type: REG_EXP |
| pattern: '.*\.md' |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '20' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| scm: |
| - cord-infra-gerrit-repo-scm: |
| manifest-url: '{gerrit-server-url}/{cord-repo-manifest}' |
| branch: '$GERRIT_BRANCH' |
| destination-dir: 'cord' |
| |
| node: 'ubuntu16.04-basebuild-1c-2g' |
| project-type: freestyle |
| concurrent: false |
| |
| builders: |
| - shell: | |
| #!/usr/bin/env bash |
| set -e -o pipefail |
| |
| # Set up the ssh host keys for the docs host |
| mkdir -p ~/.ssh |
| echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts |
| |
| # build gitbook docs |
| cd $WORKSPACE/cord/docs |
| |
| make build |
| rsync -rvzh --delete _book/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH |
| |
| # build swagger docs |
| cd $WORKSPACE/cord/orchestration/xos/docs |
| make swagger_docs |
| rsync -rvzh --delete swagger/ {docs-ssh-host}:/var/www/guide/$GERRIT_BRANCH/swagger |
| |
| publishers: |
| - email: |
| recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org' |
| |
| - job-template: |
| id: publish-xos-documentation |
| name: 'publish-xos-documentation' |
| |
| triggers: |
| - gerrit: |
| server-name: '{gerrit-server-name}' |
| dependency-jobs: '{dependency-jobs}' |
| silent-start: true |
| trigger-on: |
| - change-merged-event |
| projects: |
| - project-compare-type: PLAIN |
| project-pattern: 'xos' |
| branches: |
| - branch-compare-type: REG_EXP |
| branch-pattern: '{branch-regexp}' |
| file-paths: |
| - compare-type: REG_EXP |
| pattern: '{doc-files-regexp}' |
| - compare-type: REG_EXP |
| pattern: '.*\.md' |
| |
| properties: |
| - cord-infra-properties: |
| build-days-to-keep: '{build-days-to-keep}' |
| artifact-num-to-keep: '{artifact-num-to-keep}' |
| |
| wrappers: |
| - lf-infra-wrappers: |
| build-timeout: '20' |
| jenkins-ssh-credential: '{jenkins-ssh-credential}' |
| |
| scm: |
| - cord-infra-gerrit-repo-scm: |
| manifest-url: '{gerrit-server-url}/xos-manifest.git' |
| branch: '$GERRIT_BRANCH' |
| destination-dir: 'cord' |
| |
| node: 'ubuntu16.04-basebuild-1c-2g' |
| project-type: freestyle |
| concurrent: false |
| |
| builders: |
| - shell: | |
| #!/usr/bin/env bash |
| set -e -o pipefail |
| |
| # Set up the ssh host keys for the docs host |
| mkdir -p ~/.ssh |
| echo '{docs-ssh-host-key}' >> ~/.ssh/known_hosts |
| |
| # build gitbook docs |
| cd $WORKSPACE/cord/xos-core/docs |
| |
| make build |
| rsync -rvzh --delete _book/ guide.opencord.org:/var/www/xos-guide |
| |
| publishers: |
| - email: |
| recipients: 'teo@opennetworking.org,smbaker@opennetworking.org,andy@opennetworking.org,zdw@opennetworking.org' |