files:
- file-id: "jenkins-log-archives-settings"
variable: "SETTINGS_FILE"
+ - conditional-step:
+ condition-kind: regex-match
+ regex: "^.*logs-s3.*"
+ label: $S3_BUCKET
+ on-evaluation-failure: dont-run
+ steps:
+ - config-file-provider:
+ files:
+ - file-id: "jenkins-s3-log-ship"
+ target: $HOME/.aws/credentials
- lf-infra-create-netrc:
server-id: logs
- shell: !include-raw:
# Ensure python-tools are installed in case job template does not
# call the lf-infra-pre-build macro.
- ../shell/python-tools-install.sh
+ - shell: !include-raw:
+ - ../shell/sudo-logs.sh
+ - shell: !include-raw:
+ - ../shell/job-cost.sh
- shell: !include-raw:
- ../shell/logs-deploy.sh
- shell: !include-raw:
- ../shell/logs-clear-credentials.sh
- description-setter:
- regexp: "^Build logs: .*"
+ regexp: "(^(Nexus|S3) build logs: .*)"
- builder:
name: lf-infra-package-listing
PACKER_PLATFORM={platform}
PACKER_TEMPLATE={template}
PACKER_VERSION={packer-version}
+ UPDATE_CLOUD_IMAGE={update-cloud-image}
- shell: !include-raw-escape:
- ../shell/packer-install.sh
- ../shell/packer-build.sh
- shell: !include-raw:
- ../shell/packer-clear-credentials.sh
+- builder:
+ name: lf-infra-update-packer-images
+ builders:
+ - shell: !include-raw: ../shell/update-cloud-images.sh
+
- builder:
name: lf-infra-push-gerrit-patch
builders:
- shell: !include-raw-escape: ../shell/maven-central.sh
- lf-provide-maven-settings-cleanup
+- builder:
+ name: lf-packagecloud-file-provider
+ builders:
+ - config-file-provider:
+ files:
+ - file-id: ".packagecloud"
+ target: "$HOME/.packagecloud"
+ - config-file-provider:
+ files:
+ - file-id: "packagecloud_api"
+ target: "$HOME/packagecloud_api"
+
+- builder:
+ name: lf-packagecloud-push
+ builders:
+ - inject:
+ properties-content: |
+ BUILD_DIR={build-dir}
+ PACKAGECLOUD_ACCOUNT={packagecloud-account}
+ PACKAGECLOUD_REPO={packagecloud-repo}
+ DEBIAN_DISTRIBUTION_VERSIONS={debian-distribution-versions}
+ RPM_DISTRIBUTION_VERSIONS={rpm-distribution-versions}
+ - shell: !include-raw-escape: ../shell/packagecloud-push.sh
+
- builder:
name: lf-maven-install
builders:
- file-id: "{settings-file}"
variable: "SETTINGS_FILE"
-- builder:
- name: lf-pip-install
- builders:
- - inject:
- properties-content: PIP_PACKAGES={pip-packages}
- - shell: !include-raw-escape: ../shell/pip-install.sh
-
- builder:
name: lf-provide-maven-settings-cleanup
builders:
name: lf-rtd-verify
builders:
- inject:
- properties-content: DOC_DIR={doc-dir}
+ properties-content: |
+ DOC_DIR={doc-dir}
+ PYTHON={python-version}
- shell: !include-raw-escape: ../shell/tox-install.sh
- shell: !include-raw-escape: ../shell/rtd-verify.sh
+- builder:
+ name: lf-rtdv3-build
+ builders:
+ - inject:
+ properties-content: |
+ DEFAULT_VERSION={default-version}
+ - shell: !include-raw-escape: ../shell/rtdv3.sh
+
- builder:
name: check-info-votes
builders:
sonar-name: Sonar
scanner-name: SonarQubeScanner
task: "{sonar-task}"
- project: "sonar-project.properties"
+ project: "{sonar-project-file}"
+ properties: "{sonar-properties}"
+ java-opts: "{sonar-java-opts}"
+ additional-arguments: "{sonar-additional-args}"
+
+- builder:
+ name: lf-infra-sonar-with-prescan
+ # Run a Sonar Jenkins Plugin
+ builders:
+ - lf-sonar-prescan # Must be defined by caller
+ - sonar:
+ sonar-name: Sonar
+ scanner-name: SonarQubeScanner
+ task: "{sonar-task}"
+ project: "{sonar-project-file}"
properties: "{sonar-properties}"
java-opts: "{sonar-java-opts}"
additional-arguments: "{sonar-additional-args}"
# PARAMETERS #
##############
+- parameter:
+ name: lf-autotools-parameters
+ # Parameters for configure-make builds.
+ parameters:
+ - string:
+ name: CONFIGURE_OPTS
+ default: "{configure-opts}"
+ description: |
+ Options to pass to configure.
+ Example: --build=i686-pc-linux-gnu
+ - string:
+ name: INSTALL_PREFIX
+ default: "{install-prefix}"
+ description: |
+ Install prefix for configure.
+ Usually a workspace subdirectory.
+ - string:
+ name: MAKE_OPTS
+ default: "{make-opts}"
+ description: |
+ Options to pass to make.
+ Example: -j8 all
+
- parameter:
name: lf-clm-parameters
parameters:
- string:
name: VERSION
default: ""
- description: "This is the tag, Example: 1.0.0"
+ description: "Version to release, for example: 1.0.0"
- string:
- name: LOG_DIR
+ name: GIT_TAG
default: ""
- description: "Log dir, example: project-maven-stage-master/17/"
+ description: "Tag to push to git repo; optional, defaults to VERSION"
- string:
- name: DISTRIBUTION_TYPE
+ name: LOG_DIR
default: ""
- description: "Set to maven for build with parametes"
+ description: "Log dir, for example: project-maven-stage-master/17/"
+ - choice:
+ name: DISTRIBUTION_TYPE
+ choices:
+ - None
+ - container
+ - maven
+ description: "Set to maven for build with parameters"
- bool:
name: USE_RELEASE_FILE
default: "{use-release-file}"