Refactor: pre-commit cleanups 40/71540/1
authorAndrew Grimberg <agrimberg@linuxfoundation.org>
Wed, 12 Apr 2023 14:10:03 +0000 (07:10 -0700)
committerAndrew Grimberg <agrimberg@linuxfoundation.org>
Wed, 12 Apr 2023 14:10:03 +0000 (07:10 -0700)
Cleanup errors being caught by pre-commit that is preventing GitHub
Actions runs of pre-commit (aka pre-commit run -a) from passing

Issue: RELENG-4687
Change-Id: I09636538d1d34e5ab2deeb05c112632540a17368
Signed-off-by: Andrew Grimberg <agrimberg@linuxfoundation.org>
27 files changed:
docs/jjb/lf-docker-jobs.rst
docs/jjb/lf-go-jobs.rst
docs/jjb/lf-info-vote.rst
docs/jjb/lf-maven-jobs.rst
docs/jjb/lf-python-jobs.rst
docs/jjb/lf-release-jobs.rst
jenkins-init-scripts/create-swap-file.sh
jenkins-init-scripts/disable-firewall.sh
jenkins-init-scripts/lf-env.sh
jjb/lf-c-cpp-jobs.yaml
jjb/lf-maven-jobs.yaml
jjb/lf-python-jobs.yaml
releasenotes/notes/Fix-JAVA_HOME-directory-detection-b164f29820d36206.yaml
releasenotes/notes/fix-sbom-file-creation-12eb6bc1d0cdaf36.yaml
releasenotes/notes/refactor-tox-pyenv-f5b3aac7eec3725d.yaml
releasenotes/notes/revert_clm_maven_plugin-db2a239e6aa22f07.yaml
releasenotes/notes/upgrade-git-review-2.3.1-b3cc401a6c8ae58a.yaml
shell/capture-instance-metadata.sh
shell/common-variables.sh
shell/docker-login.sh
shell/maven-sonar.sh
shell/python-tools-install.sh
shell/release-job.sh
shell/sbom-generator.sh
shell/sigul-sign-dir.sh
shell/sigul-sign.sh
shell/update-java-alternatives.sh

index a10624b..0a6fcc9 100644 (file)
@@ -262,7 +262,7 @@ Builds the code, downloads and runs a Snyk CLI scan of the code into the Snyk da
         builder steps. (default: "")
     :post_docker_build_script: Build script to execute after the main verify
         builder steps. (default: "")
-    :snyk-cli-options: Additional Snyk CLI options. (default: '')
+    :snyk-cli-options: Snyk CLI options. (default: '')
     :stream: Keyword that represents a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
index 5dc105c..6cac047 100644 (file)
@@ -49,7 +49,7 @@ Builds the code, downloads and runs a Snyk CLI scan of the code into the Snyk da
     :build-timeout: Timeout in minutes before aborting build. (default: 60)
     :git-url: URL clone project from. (default: $GIT_URL/$PROJECT)
     :java-version: Version of Java to use for the build. (default: openjdk11)
-    :snyk-cli-options: Additional Snyk CLI options. (default: '')
+    :snyk-cli-options: Snyk CLI options. (default: '')
     :stream: Keyword that represents a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
index 733a551..35f2dd8 100644 (file)
@@ -7,9 +7,6 @@ Info Vote Job
 Job counts the votes from the committers against a change
 to the INFO.yaml file
 
-If needed, will also check for a majority of TSC voters
-(not yet implemented)
-
 Auto-merges the change on a majority vote.
 
 
index e9b7dde..00c6313 100644 (file)
@@ -215,7 +215,7 @@ Builds the code, downloads and runs a Snyk CLI scan of the code into the Snyk da
     :mvn-opts: Sets MAVEN_OPTS to start up the JVM running Maven. (default: '')
     :mvn-params: Parameters to pass to the mvn CLI. (default: '')
     :mvn-version: Version of maven to use. (default: mvn35)
-    :snyk-cli-options: Additional Snyk CLI options. (default: '')
+    :snyk-cli-options: Snyk CLI options. (default: '')
     :stream: Keyword that represents a release code-name.
         Often the same as the branch. (default: master)
     :submodule-recursive: Whether to checkout submodules recursively.
@@ -477,7 +477,7 @@ directory is then used later to deploy to Nexus.
         (default: false)
     :sbom-generator-version: SBOM generator version to download and run if using sbom-generator.
         (default: v0.0.10)
-    :sbom-path: Path where SBOM is going to be executed from.
+    :sbom-path: SBOM execution path.
         (default: $WORKSPACE)
     :sign-artifacts: Sign artifacts with Sigul. (default: false)
     :stream: Keyword that represents a release code-name.
@@ -583,7 +583,7 @@ multi-branch configuration.
     :sonarcloud-project-organization: SonarCloud project organization.
         (default: '')
     :sonarcloud-api-token-cred-id: Jenkins credential ID which has the SonarCloud API Token.
-        This one SHOULDN'T be overwritten as per we are standarizing the credential ID for all
+        This one SHOULDN'T be overwritten as we are standarizing the credential ID for all
         projects (default: 'sonarcloud-api-token')
     :sonarcloud-java-version: Version of Java to use for the Sonar scan. (default: openjdk11)
     :stream: Keyword that represents a release code-name.
@@ -648,7 +648,7 @@ This job runs on dev branches and its triggered on new patchsets.
     :sonarcloud-project-organization: SonarCloud project organization.
         (default: '')
     :sonarcloud-api-token-cred-id: Jenkins credential ID which has the SonarCloud API Token.
-        This one SHOULDN'T be overwritten as per we are standarizing the credential ID for all
+        This one SHOULDN'T be overwritten as we are standarizing the credential ID for all
         projects (default: 'sonarcloud-api-token')
     :sonarcloud-java-version: Version of Java to use for the Sonar scan. (default: openjdk11)
     :sonarcloud-qualitygate-wait: SonarCloud flag that forces the analysis step to
index 6a3e338..5aeb921 100644 (file)
@@ -112,7 +112,7 @@ does not support multi-branch.
         share a Nexus IQ system to avoid project name collision. We recommend
         inserting a trailing - dash if using this parameter.
         For example 'odl-'. (default: '')
-    :nexus-target-build: Target directory or file to be scanned by Nexus IQ CLI
+    :nexus-target-build: Target directory or file for scanning by Nexus IQ CLI
         (default: "\*\*/\*")
     :pre-build-script: Shell script to run before tox. Useful for setting up
         dependencies. (default: a string with a shell comment)
index f872808..98bc153 100644 (file)
@@ -9,16 +9,15 @@ staging area to a release area. A release yaml file controls the
 process, and Jenkins promotes the artifact when a project committer
 merges the release yaml file in Gerrit.
 
-To use the self-release process, create a releases/ or .releases/
-directory at the root of the project repository, add one release yaml
-file to it, and submit a change set with that release yaml file.  The
-required contents of the release yaml file are different for each type
-of release, see the schemas and examples shown below.  The version
-string in the release yaml file should be a valid Semantic Versioning
-(SemVer) string, matching the pattern "#.#.#" where "#" is one or more
-digits. A version string matching the pattern "v#.#.#" is also
-accepted. Upon merge of the change, a Jenkins job promotes the
-artifact and pushes a gpg-signed tag to the repository.
+To use the self-release process, create a releases/ or .releases/ directory at
+the root of the project repository, add one release yaml file to it, and submit
+a change set with that release yaml file.  The required contents of the release
+yaml file are different for each release, see the schemas and examples shown
+below.  The version string in the release yaml file should be a valid Semantic
+Versioning (SemVer) string, matching the pattern "#.#.#" where "#" is one or
+more digits. A version string matching the pattern "v#.#.#" is also accepted.
+Upon merge of the change, a Jenkins job promotes the artifact and pushes a
+gpg-signed tag to the repository.
 
 .. note::
 
index 6f07738..8090bce 100755 (executable)
@@ -19,7 +19,7 @@ blockCount=${SWAP_SIZE-''}
 # Else:    No Swap
 case $blockCount in
     '')      blockCount=1 ;;
-    [0-9]*)  blockCount=$blockCount ;;
+    [0-9]*)  ;;
     *)       exit ;;
 esac
 [[ $blockCount == 0 ]] && exit
index b3efb22..13ae8cf 100755 (executable)
@@ -16,7 +16,7 @@ case "$OS" in
         systemctl stop firewalld
     ;;
     CentOS|RedHat)
-        os_release_ver = "$(facter operatingsystemrelease | cut -d '.' -f1)"
+        os_release_ver="$(facter operatingsystemrelease | cut -d '.' -f1)"
         if [ "${os_release_ver}" -lt "7" ]; then
             service iptables stop
         else
index f80dc79..16bf810 100644 (file)
@@ -209,6 +209,7 @@ lf-activate-venv () {
             pyenv versions
             if command -v pyenv 1>/dev/null 2>&1; then
                 eval "$(pyenv init - --no-rehash)"
+                # shellcheck disable=SC2046
                 pyenv local $(lf-pyver "${python}")
             fi
         fi
index 92057b7..1b448de 100644 (file)
     wrappers:
       - credentials-binding:
           - text:
-              credential-id: '{sonarcloud-api-token-cred-id}'
+              credential-id: "{sonarcloud-api-token-cred-id}"
               variable: API_TOKEN
 
 - job-template:
index 5519862..99ab313 100644 (file)
     wrappers:
       - credentials-binding:
           - text:
-              credential-id: '{sonarcloud-api-token-cred-id}'
+              credential-id: "{sonarcloud-api-token-cred-id}"
               variable: API_TOKEN
 
     triggers:
index 4e1dcf9..bb123f4 100644 (file)
     wrappers:
       - credentials-binding:
           - text:
-              credential-id: '{sonarcloud-api-token-cred-id}'
+              credential-id: "{sonarcloud-api-token-cred-id}"
               variable: API_TOKEN
 
     builders:
index e5540f1..c586661 100644 (file)
@@ -1,12 +1,12 @@
 ---
 prelude: >
-    OpenDaylight jenkins maven jobs with jdk17 and CentOS7 currently fails
-    with a confusing message stating that the JAVA_HOME variable is not
-    correctly set.
-    This can happen in various cases, usually when there is a mismatch
-    between the jdk used by maven and the folder pointed by JAVA_HOME.
-    It appears that openjdk17 is not available with CentOS7 and that
-    the folder indeed does not exist
+  OpenDaylight jenkins maven jobs with jdk17 and CentOS7 currently fails
+  with a confusing message stating that the JAVA_HOME variable is not
+  correctly set.
+  This can happen in various cases, usually when there is a mismatch
+  between the jdk used by maven and the folder pointed by JAVA_HOME.
+  It appears that openjdk17 is not available with CentOS7 and that
+  the folder indeed does not exist
 issues:
   - |
     Current message (JAVA_HOME variable is not set) is confusing and can lead
@@ -21,4 +21,3 @@ other:
   - |
     Adapt and refactor code consequently to be more agnostic to  distribution
     and jdk installation specificities
-
index 650d8a6..5486e77 100644 (file)
@@ -1,7 +1,7 @@
 ---
 prelude: >
-    The SBOM generator script creates an spdx file in the root level.
-    When the artifacts are staged the file gets overwritten.
+  The SBOM generator script creates an spdx file in the root level.
+  When the artifacts are staged the file gets overwritten.
 fixes:
   - |
     Create the spdx file as ${PROJECT}-sbom-${release_version}.spdx
index 7d1304c..8eb472d 100644 (file)
@@ -1,7 +1,7 @@
 ---
 prelude: >
-    PyPI verify jobs requires Python 3.x. The tox run picks up default version
-    of python instead of the version made available through pyenv.
+  PyPI verify jobs requires Python 3.x. The tox run picks up default version
+  of python instead of the version made available through pyenv.
 issues:
   - |
     Re-factor lf-activate-venv() to skip a return, while the venv is
index a310a0c..bf2f9ae 100644 (file)
@@ -1,7 +1,7 @@
 ---
 fixes:
   - |
-    The latest (2.42.0.01) clm-maven-plugin introduced an error in our 
+    The latest (2.42.0.01) clm-maven-plugin introduced an error in our
     environment.
 
     Failed to execute goal com.sonatype.clm:clm-maven-plugin:2.42.0-01:index
index 0c38563..3144bb1 100644 (file)
@@ -1,7 +1,7 @@
 ---
 prelude: >
-    Update openstack images with the auto update image requires more recent
-    version of git-review > 2.2.
+  Update openstack images with the auto update image requires more recent
+  version of git-review > 2.2.
 upgrade:
   - |
     The previous version of git-review is incompatible with the latest version of
index 172ed10..a5e0051 100644 (file)
@@ -15,7 +15,7 @@ echo "---> capture-instance-metadata.sh"
 source ~/lf-env.sh
 
 if [[ "${PYTHON:-}" -ne "" ]]; then
-    lf-activate-venv --python $PYTHON lftools
+    lf-activate-venv --python "$PYTHON" lftools
 elif python3; then
     lf-activate-venv --python python3 lftools
 else
index b7aa52a..0001ac8 100644 (file)
@@ -13,6 +13,7 @@ echo "---> common-variables.sh"
 # scripts. It is meant to be sourced in other scripts so that the variables can
 # be called.
 
+# shellcheck disable=SC2140
 MAVEN_OPTIONS="$(echo --show-version \
     --batch-mode \
     -Djenkins \
index 97e030b..73d0603 100644 (file)
@@ -79,7 +79,7 @@ set_creds() {
 do_login() {
     docker_version=$( docker -v | awk '{print $3}')
     if version_lt "$docker_version" "17.06.0" && \
-       "$DOCKERHUB_REGISTRY" == "docker.io" && \
+       [ "$DOCKERHUB_REGISTRY" == "docker.io" ] && \
        "$DOCKERHUB_EMAIL:-none" != 'none'
     then
         docker login -u "$USER" -p "$PASS" -e "$2" "$1"
index 9c82633..a2de475 100644 (file)
@@ -25,6 +25,7 @@ params+=("--settings $SETTINGS_FILE")
 
 # Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
 # shellcheck disable=SC2086
+# shellcheck disable=SC2048
 _JAVA_OPTIONS="$JAVA_OPTS" $MVN $MAVEN_GOALS \
     -e -Dsonar \
     ${params[*]} \
@@ -51,11 +52,13 @@ fi
 if [ -n "$SONARCLOUD_JAVA_VERSION" ] && [ "$SET_JDK_VERSION" != "$SONARCLOUD_JAVA_VERSION" ]; then
     export SET_JDK_VERSION="$SONARCLOUD_JAVA_VERSION"
     bash <(curl -s https://raw.githubusercontent.com/lfit/releng-global-jjb/master/shell/update-java-alternatives.sh)
+    # shellcheck source=/dev/null
     source /tmp/java.env
 fi
 
 # Disable SC2086 because we want to allow word splitting for $MAVEN_* parameters.
 # shellcheck disable=SC2086
+# shellcheck disable=SC2048
 "$MVN" $SONAR_MAVEN_GOAL \
     -e -Dsonar -Dsonar.host.url="$SONAR_HOST_URL" \
     ${params[*]} \
index 4c528d2..65702b7 100644 (file)
@@ -15,9 +15,11 @@ set -eufo pipefail
 # Souce the python version from lf-env.sh if available.
 python="python3"
 if [[ -f ~/lf-env.sh ]]; then
+    # shellcheck source=/dev/null
     source ~/lf-env.sh
     lf-activate-venv --python "$python" lftools
     # Save the virtualenv path
+    # shellcheck disable=SC2154
     echo "$lf_venv" > "/tmp/.os_lf_venv"
 elif [[ -d /opt/pyenv ]]; then
     echo "Setup up pyenv"
index 24bb0d6..792cbdd 100644 (file)
@@ -404,6 +404,7 @@ artifact_release_file(){
             wget "${path}"/"${name}" -o artifacts/"${name}"
             if [[ "$JOB_NAME" =~ "merge" ]] && [[ "$DRY_RUN" = false ]]; then
                 #lftools sign sigul artifacts
+                # shellcheck disable=SC2261
                 curl -v -u <NEXUSUSER>:<NEXUSPASS> --upload-file \
                     "${NEXUS_URL}"/content/repositories/releases/org/"${ORG}"/"${VERSION}"/"${name}" \;
             fi
@@ -469,7 +470,8 @@ maven_release_file(){
     # forward from the tagging point, then a spur commit is created
     # for the tag
     taghash="$(awk '{print $NF}' "$PATCH_DIR/taglist.log")"
-    if [ "${taghash}" = $(git rev-parse origin/${GERRIT_BRANCH}) ]; then
+    # shellcheck disable=SC2046
+    if [ "${taghash}" = $(git rev-parse "origin/${GERRIT_BRANCH}") ]; then
         git checkout "origin/${GERRIT_BRANCH}"
         # sentinal file
         touch .testhash
index c63efd6..2ffca28 100644 (file)
@@ -28,8 +28,10 @@ fi
 # Extract SBOM bin in SBOM_PATH
 # This is a workaround until the --path flag works
 # https://github.com/opensbom-generator/spdx-sbom-generator/issues/227
+# shellcheck disable=SC2086
 tar -xzf "${SBOM_LOCATION}" -C ${SBOM_PATH}
 echo "INFO: running spdx-sbom-generator"
+# shellcheck disable=SC2086
 cd ${SBOM_PATH}
 ./spdx-sbom-generator "${SBOM_FLAGS:-}" -g "$GLOBAL_SETTINGS_FILE" -o "${WORKSPACE}"/archives
 
index 724f190..d3995ac 100644 (file)
@@ -22,14 +22,16 @@ OS=$(facter operatingsystem | tr '[:upper:]' '[:lower:]')
 OS_RELEASE=$(facter lsbdistrelease | tr '[:upper:]' '[:lower:]')
 if [[ "$OS_RELEASE" == "8" && "$OS" == 'centos' ]]; then
     # Get Dockerfile and the enterpoint to build the docker image.
+    # shellcheck disable=SC2140
     wget -O "${WORKSPACE}/sigul-sign.sh" "https://raw.githubusercontent.com/"\
 "lfit/releng-global-jjb/master/shell/sigul-sign.sh"
+    # shellcheck disable=SC2140
     wget -O "${WORKSPACE}/Dockerfile" "https://raw.githubusercontent.com/"\
 "lfit/releng-global-jjb/master/docker/Dockerfile"
 
     # Setup the docker environment for jenkins user
-    docker build -f ${WORKSPACE}/Dockerfile \
-        --build-arg SIGN_DIR=${SIGN_DIR} \
+    docker build -f "${WORKSPACE}/Dockerfile" \
+        --build-arg SIGN_DIR="${SIGN_DIR}" \
         -t sigul-sign .
 
     docker volume create --driver local \
@@ -40,16 +42,17 @@ if [[ "$OS_RELEASE" == "8" && "$OS" == 'centos' ]]; then
 
     docker volume inspect wrkspc_vol
 
+    # shellcheck disable=SC2140
     docker run -e SIGUL_KEY="${SIGUL_KEY}" \
         -e SIGUL_PASSWORD="${SIGUL_PASSWORD}" \
-        -e SIGUL_CONFIG=${SIGUL_CONFIG} \
-        -e SIGN_DIR=${SIGN_DIR} \
-        -e WORKSPACE=${WORKSPACE} \
+        -e SIGUL_CONFIG="${SIGUL_CONFIG}" \
+        -e SIGN_DIR="${SIGN_DIR}" \
+        -e WORKSPACE="${WORKSPACE}" \
         --name sigul-sign \
         --security-opt label:disable \
         --mount type=bind,source="/w/workspace",target="/w/workspace" \
         --mount type=bind,source="/home/jenkins",target="/home/jenkins" \
-        -u root:root -w $(pwd) sigul-sign
+        -u root:root -w "$(pwd)" sigul-sign
 
     # change the .asc files owner permissions back to jenkins
     sudo chown -R jenkins:jenkins "${SIGN_DIR}"
index d5c674f..ca476ea 100644 (file)
@@ -20,9 +20,9 @@ find "${SIGN_DIR}" -type f ! -name "*.asc" \
         ! -name "_remote.repositories" \
         ! -name "*.lastUpdated" \
         ! -name "maven-metadata-local.xml" \
-        ! -name "maven-metadata.xml" > ${WORKSPACE}/sign.lst
+        ! -name "maven-metadata.xml" > "${WORKSPACE}/sign.lst"
 
-if [ -s ${WORKSPACE}/sign.lst ]; then
+if [ -s "${WORKSPACE}/sign.lst" ]; then
     echo "Sign list is not empty"
 fi
 
@@ -30,7 +30,7 @@ files_to_sign=()
 while IFS= read -rd $'\n' line; do
     files_to_sign+=("$line")
     sigul --batch -c "${SIGUL_CONFIG}" sign-data -a -o "${line}.asc" "${SIGUL_KEY}" "${line}" < "${SIGUL_PASSWORD}"
-done < ${WORKSPACE}/sign.lst
+done < "${WORKSPACE}/sign.lst"
 
 if [ "${#files_to_sign[@]}" -eq 0 ]; then
     echo "ERROR: No files to sign. Quitting..."
index d6c069e..01b972b 100644 (file)
@@ -51,6 +51,7 @@ esac
 if ! [ -d "$JAVA_HOME" ]; then
     echo "$JAVA_HOME directory not found - trying to find an approaching one"
     if ls -d "$JAVA_HOME"*; then
+    # shellcheck disable=SC2012
        JAVA_HOME=$(ls -d "$JAVA_HOME"* | head -1)
         export JAVA_HOME
     else