| Ed Tanous | d5cea14 | 2021-09-09 11:42:05 -0700 | [diff] [blame] | 1 | #!/bin/bash -e | 
|  | 2 | # | 
|  | 3 |  | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 4 | script_dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" | 
|  | 5 | obmc_dir=${script_dir}/../../ | 
|  | 6 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 7 | cd "$obmc_dir" | 
|  | 8 |  | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 9 | # openbmc doesn't control what upstream poky, or any of the other layers do, | 
|  | 10 | # which do use patches as part of their upstreaming process. | 
|  | 11 | # meta-phosphor is also included such that patches that the community agrees to | 
|  | 12 | # hold onto will be allowed in that layer. | 
|  | 13 |  | 
|  | 14 | patch_files_tmp=$(mktemp) | 
|  | 15 | allowed_patches_tmp=$(mktemp) | 
| Patrick Williams | 693d3db | 2021-10-26 16:10:20 -0500 | [diff] [blame] | 16 | trap 'rm $patch_files_tmp $allowed_patches_tmp' exit | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 17 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 18 | git ls-files -- \ | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 19 | '*.patch' \ | 
|  | 20 | ':!:poky/**' \ | 
| Brad Bishop | bec4ebc | 2022-08-03 09:55:16 -0400 | [diff] [blame] | 21 | ':!:meta-arm/**' \ | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 22 | ':!:meta-security/**' \ | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 23 | ':!:meta-raspberrypi/**' \ | 
|  | 24 | ':!:meta-openembedded/**' \ | 
|  | 25 | ':!:meta-phosphor/**' \ | 
| Patrick Williams | 693d3db | 2021-10-26 16:10:20 -0500 | [diff] [blame] | 26 | | sort > "$patch_files_tmp" | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 27 |  | 
|  | 28 |  | 
|  | 29 | # The following patches were present on master at the time this test was | 
|  | 30 | # written.  Their presence in this list should not be acknowlegement that they | 
|  | 31 | # are now allowed, but ignoring them is required in the intermediate time | 
|  | 32 | # between when this test was created, and when the maintainers of these repos | 
|  | 33 | # clean them up. | 
|  | 34 | # | 
|  | 35 | # https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md | 
|  | 36 | echo "\ | 
|  | 37 | meta-amd/meta-ethanolx/recipes-x86/chassis/x86-power-control/0001-Amd-power-control-modifications-for-EthanolX.patch | 
|  | 38 | meta-ampere/meta-common/recipes-devtools/mtd/mtd-utils/0001-flashcp-support-offset-option.patch | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 39 | meta-aspeed/recipes-bsp/u-boot/files/default-gcc.patch | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 40 | meta-bytedance/meta-g220a/recipes-kernel/linux/linux-aspeed/0005-ARM-dts-aspeed-Enable-g220a-uart-route.patch | 
|  | 41 | meta-bytedance/meta-g220a/recipes-phosphor/ipmi/phosphor-node-manager-proxy/0001-Remove-Total_Power-sensor.patch | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 42 | meta-facebook/meta-tiogapass/recipes-bsp/u-boot/u-boot-aspeed/0001-configs-ast-common-use-57600-baud-rate-to-match-Tiog.patch | 
| Logananth Sundararaj | 971257a | 2022-03-23 17:34:12 +0530 | [diff] [blame] | 43 | meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed-sdk/0001-board-aspeed-Add-Mux-for-yosemitev2.patch | 
|  | 44 | meta-facebook/meta-yosemitev2/recipes-bsp/u-boot/u-boot-aspeed-sdk/0002-spl-host-console-handle.patch | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 45 | meta-google/dynamic-layers/nuvoton-layer/recipes-bsp/images/npcm7xx-igps/0001-Set-FIU0_DRD_CFG-and-FIU_Clk_divider-for-gbmc-hoth.patch | 
|  | 46 | meta-google/recipes-extended/libconfig/files/0001-conf2struct-Use-the-right-perl.patch | 
|  | 47 | meta-google/recipes-extended/libconfig/files/0001-makefile-Add-missing-LDFLAGS.patch | 
|  | 48 | meta-google/recipes-phosphor/initrdscripts/obmc-phosphor-initfs/rwfs-clean-dev.patch | 
|  | 49 | meta-ingrasys/meta-zaius/recipes-bsp/u-boot/u-boot-aspeed/0001-board-aspeed-Add-reset_phy-for-Zaius.patch | 
|  | 50 | meta-nuvoton/recipes-bsp/images/npcm7xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch | 
| Tim Lee | 1c9c10a | 2022-07-05 17:14:18 +0800 | [diff] [blame] | 51 | meta-nuvoton/recipes-bsp/images/npcm8xx-igps/0001-Adjust-paths-for-use-with-Bitbake.patch | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 52 | meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0001-Add-system-reset-status-support.patch | 
|  | 53 | meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0002-config-ast-common-set-fieldmode-to-true.patch | 
|  | 54 | meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0003-aspeed-add-gpio-support.patch | 
|  | 55 | meta-yadro/meta-nicole/recipes-bsp/u-boot/files/0004-aspeed-add-bmc-position-support.patch | 
|  | 56 | meta-yadro/meta-nicole/recipes-kernel/linux/linux-aspeed/0001-Add-NCSI-channel-selector.patch | 
|  | 57 | meta-yadro/meta-nicole/recipes-phosphor/host/op-proc-control/0001-Stop-and-send-SRESET-for-one-thread-only.patch | 
|  | 58 | meta-yadro/recipes-phosphor/dbus/phosphor-dbus-interfaces/0001-Add-boot-initiator-mailbox-interface.patch | 
|  | 59 | meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0001-Add-support-for-persistent-only-settings.patch | 
|  | 60 | meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0002-Add-support-for-boot-initiator-mailbox.patch | 
|  | 61 | meta-yadro/recipes-phosphor/ipmi/phosphor-ipmi-host/0003-Fix-version-parsing-update-AUX-revision-info.patch | 
| Patrick Williams | 693d3db | 2021-10-26 16:10:20 -0500 | [diff] [blame] | 62 | " | sort > "$allowed_patches_tmp" | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 63 |  | 
| Patrick Williams | 693d3db | 2021-10-26 16:10:20 -0500 | [diff] [blame] | 64 | files_diff=$(comm -23 "$patch_files_tmp" "$allowed_patches_tmp") | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 65 |  | 
| Ed Tanous | 4734c22 | 2021-09-20 11:11:34 -0700 | [diff] [blame] | 66 | files_count=$(echo -n "$files_diff" | grep -c '^' || true) | 
| Ed Tanous | 7f8954e | 2021-09-09 11:46:43 -0700 | [diff] [blame] | 67 | if [[ $files_count -ne 0 ]]; then | 
|  | 68 | echo "Patch files found not in allow list" | 
|  | 69 | echo "$files_diff" | 
|  | 70 | echo "Patches are not allowed on OpenBMC in these layers.  Please upstream your changes and see \ | 
|  | 71 | https://github.com/openbmc/docs/blob/master/meta-layer-guidelines.md" | 
|  | 72 | exit 1 | 
|  | 73 | fi | 
|  | 74 |  | 
| Andrew Geissler | fc32817 | 2022-01-21 09:37:06 -0600 | [diff] [blame] | 75 | # Now verify there are no kernel dts files being added in a patch | 
|  | 76 | # All dts files should be sent upstream and can be carried in the openbmc/linux | 
|  | 77 | # tree until they are accepted upstream | 
|  | 78 | dts_files_tmp=$(mktemp) | 
|  | 79 | allowed_dts_tmp=$(mktemp) | 
|  | 80 | trap 'rm $dts_files_tmp $allowed_dts_tmp' exit | 
|  | 81 |  | 
|  | 82 | git ls-files -- \ | 
|  | 83 | '*.dts' \ | 
|  | 84 | ':!:poky/**' \ | 
| Brad Bishop | bec4ebc | 2022-08-03 09:55:16 -0400 | [diff] [blame] | 85 | ':!:meta-arm/**' \ | 
| Andrew Geissler | fc32817 | 2022-01-21 09:37:06 -0600 | [diff] [blame] | 86 | ':!:meta-security/**' \ | 
|  | 87 | ':!:meta-raspberrypi/**' \ | 
|  | 88 | ':!:meta-openembedded/**' \ | 
|  | 89 | | sort > "$dts_files_tmp" | 
|  | 90 |  | 
|  | 91 | # There is a single dts currently in the tree that we will exempt for now | 
|  | 92 | echo "\ | 
|  | 93 | meta-hpe/meta-dl360poc/recipes-kernel/linux/linux-obmc/gxp.dts | 
|  | 94 | " | sort > "$allowed_dts_tmp" | 
|  | 95 |  | 
|  | 96 | files_diff=$(comm -23 "$dts_files_tmp" "$allowed_dts_tmp") | 
|  | 97 |  | 
|  | 98 | files_count=$(echo -n "$files_diff" | grep -c '^' || true) | 
|  | 99 | if [[ $files_count -ne 0 ]]; then | 
|  | 100 | echo "Dts files found not in allow list" | 
|  | 101 | echo "$files_diff" | 
|  | 102 | echo "Dts files are not allowed on OpenBMC in these layers. Please upstream your changes and see \ | 
|  | 103 | https://github.com/openbmc/docs/blob/master/kernel-development.md" | 
|  | 104 | exit 1 | 
|  | 105 | fi | 
|  | 106 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 107 | lint_exempt="\ | 
|  | 108 | meta-amd/recipes-amd/amd-fpga/files/ethanolx/fpgardu.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 109 | meta-bytedance/meta-g220a/recipes-network/network/static-mac-addr/mac-check | 
|  | 110 | meta-bytedance/meta-g220a/recipes-phosphor/datetime/me-time-sync/me-time-sync.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 111 | meta-google/recipes-google/gpio/gpio-ctrl/lib.sh | 
|  | 112 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_isoff.sh | 
|  | 113 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_powercycle.sh | 
|  | 114 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_poweroff.sh | 
|  | 115 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_poweron.sh | 
|  | 116 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/host_reset.sh | 
|  | 117 | meta-google/recipes-google/host-power-ctrl/gpio-host-pwr/lib.sh | 
|  | 118 | meta-google/recipes-google/ipmi/ipmi-fru-sh/lib.sh | 
|  | 119 | meta-google/recipes-google/ncsi/files/gbmc-ncsi-ip-from-ra.sh.in | 
|  | 120 | meta-google/recipes-google/networking/files/gbmc-ip-monitor-test.sh | 
|  | 121 | meta-google/recipes-google/networking/files/gbmc-ip-monitor.sh | 
|  | 122 | meta-google/recipes-google/networking/files/gbmc-mac-config.sh.in | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 123 | meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-from-ra.sh | 
|  | 124 | meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-gw-src.sh | 
|  | 125 | meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-nft.sh | 
|  | 126 | meta-google/recipes-google/networking/gbmc-bridge/gbmc-br-ula.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 127 | meta-google/recipes-google/networking/google-usb-network/usb_network.sh | 
|  | 128 | meta-google/recipes-google/networking/google-usb-network/usb_network_test.sh | 
|  | 129 | meta-google/recipes-google/networking/network-sh/lib.sh | 
|  | 130 | meta-google/recipes-google/networking/network-sh/test.sh | 
|  | 131 | meta-google/recipes-google/nftables/files/nft-configure.sh | 
|  | 132 | meta-google/recipes-google/ssh/authorized-keys-comp/authorized-keys-comp.sh | 
|  | 133 | meta-google/recipes-google/test/test-sh/test.sh | 
|  | 134 | meta-google/recipes-phosphor/flash/google-key/verify-bmc-image.sh | 
|  | 135 | meta-google/recipes-phosphor/flash/inplace-gbmc-update/inplace-gbmc-verify.sh | 
|  | 136 | meta-hpe/meta-common/recipes-hpe/host/host-boot-enable/host-boot-enable.sh | 
|  | 137 | meta-hpe/meta-common/recipes-phosphor/initrdscripts/files/gxp-obmc-init.sh | 
|  | 138 | meta-hpe/meta-dl360poc/recipes-hpe/host/host-boot-enable/host-boot-enable.sh | 
|  | 139 | meta-ibm/meta-romulus/recipes-phosphor/chassis/vrm-control/vrm-control.sh | 
|  | 140 | meta-ibm/meta-romulus/recipes-phosphor/gpio/id-button/toggle_identify_led.sh | 
|  | 141 | meta-ibm/recipes-phosphor/chassis/power-workarounds/witherspoon/power-workarounds.sh | 
|  | 142 | meta-ibm/recipes-phosphor/chassis/vrm-control/ibm-ac-server/ir35221-unbind-bind.sh | 
|  | 143 | meta-ibm/recipes-phosphor/chassis/vrm-control/mihawk/ir35221-unbind-bind.sh | 
|  | 144 | meta-ibm/recipes-phosphor/chassis/vrm-control/vrm-control.sh | 
|  | 145 | meta-ibm/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/ibm_elogall | 
|  | 146 | meta-ibm/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/pels | 
|  | 147 | meta-ibm/recipes-phosphor/gpio/id-button/toggle_identify_led.sh | 
|  | 148 | meta-ibm/recipes-phosphor/mboxd/mboxd/check_pnor_format.sh | 
|  | 149 | meta-ingrasys/meta-zaius/recipes-phosphor/chassis/avsbus-control/zaius_avsbus.sh | 
|  | 150 | meta-ingrasys/meta-zaius/recipes-phosphor/chassis/vcs-control/zaius_vcs.sh | 
|  | 151 | meta-inventec/meta-transformers/recipes-phosphor/init/transformers-init/transformers-init.sh | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 152 | meta-openpower/recipes-bsp/pdata/files/power-target.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 153 | meta-openpower/recipes-phosphor/dump/phosphor-debug-collector/plugins.d/guard | 
|  | 154 | meta-openpower/recipes-phosphor/network/first-boot-set-hostname/first-boot-set-hostname.sh | 
|  | 155 | meta-openpower/recipes-phosphor/network/first-boot-set-mac/first-boot-set-mac.sh | 
|  | 156 | meta-openpower/recipes-phosphor/occ/openpower-occ-control/occ-active.sh | 
|  | 157 | meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-init.sh | 
|  | 158 | meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-shutdown.sh | 
|  | 159 | meta-phosphor/recipes-phosphor/initrdscripts/files/obmc-update.sh | 
|  | 160 | meta-phosphor/recipes-phosphor/initrdscripts/phosphor-mmc-init/mmc-init.sh | 
|  | 161 | meta-phosphor/recipes-phosphor/interfaces/bmcweb/run-ptest | 
|  | 162 | meta-phosphor/recipes-phosphor/preinit-mounts/preinit-mounts/init | 
|  | 163 | meta-phosphor/recipes-support/nss-pam-ldapd/files/nslcd.init | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 164 | meta-quanta/meta-common/recipes-quanta/network/usb-network/usb-network.sh | 
|  | 165 | meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-update.sh | 
|  | 166 | meta-quanta/meta-gbs/recipes-gbs/gbs-bios-update/files/bios-verify.sh | 
|  | 167 | meta-quanta/meta-gbs/recipes-gbs/gbs-bmc-update/files/bmc-verify.sh | 
|  | 168 | meta-quanta/meta-gbs/recipes-gbs/gbs-detect-gpio-present/files/detect-gpio-present.sh | 
|  | 169 | meta-quanta/meta-gbs/recipes-gbs/gbs-sysinit/files/gbs-sysinit.sh | 
|  | 170 | meta-quanta/meta-gbs/recipes-gbs/hotswap-power-cycle/files/tray_powercycle.sh | 
|  | 171 | meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-check-host-state.sh | 
|  | 172 | meta-quanta/meta-gbs/recipes-google/acpi-power-state/acpi-power-state-daemon/gbs-set-failsafe.sh | 
|  | 173 | meta-quanta/meta-gbs/recipes-phosphor/fans/phosphor-pid-control/fan-table-init.sh | 
|  | 174 | meta-quanta/meta-gbs/recipes-phosphor/sensors/phosphor-nvme/nvme_json_rewrite.sh | 
|  | 175 | meta-quanta/meta-gsj/recipes-gsj/detect-fan-fail/files/detect-fan-fail.sh | 
|  | 176 | meta-quanta/meta-gsj/recipes-gsj/gsj-hotswap-change-setting/files/gsj-hotswap-change-setting.sh | 
|  | 177 | meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/init_once.sh | 
|  | 178 | meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/nvme_powerctrl_library.sh | 
|  | 179 | meta-quanta/meta-gsj/recipes-gsj/quanta-nvme-powerctrl/files/nvme_powermanager.sh | 
|  | 180 | meta-quanta/meta-gsj/recipes-gsj/usb-network/files/usb_network.sh | 
|  | 181 | meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-control.sh | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 182 | meta-quanta/meta-gsj/recipes-phosphor/fans/phosphor-pid-control/fan-default-speed.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 183 | meta-quanta/meta-olympus-nuvoton/recipes-olympus-nuvoton/power/first-boot-set-psu/first-boot-set-psu.sh | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 184 | meta-quanta/meta-olympus-nuvoton/recipes-phosphor/fans/phosphor-pid-control/fan-full-speed.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 185 | meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/init_once.sh | 
|  | 186 | meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/poweroff.sh | 
|  | 187 | meta-quanta/meta-q71l/recipes-phosphor/quanta-powerctrl/files/poweron.sh | 
|  | 188 | meta-yadro/meta-nicole/recipes-phosphor/chassis/avsbus-control/avsbus-control.sh | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 189 | " | 
|  | 190 |  | 
| Patrick Williams | 2ed00d8 | 2021-10-27 09:33:53 -0500 | [diff] [blame] | 191 | types=(json shell) | 
|  | 192 | # shellcheck disable=SC2034 | 
|  | 193 | check_json="eslint --resolve-plugins-relative-to /usr/local/lib/node_modules" | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 194 | # shellcheck disable=SC2034 | 
|  | 195 | check_shell="shellcheck -x" | 
|  | 196 |  | 
|  | 197 | for t in "${types[@]}"; do | 
|  | 198 | check_cmd="check_${t}" | 
|  | 199 | if ! which "${!check_cmd%% *}" > /dev/null 2>&1; then | 
|  | 200 | eval "${check_cmd}=\"echo WARNING: Skipping $t due to missing command:\"" | 
|  | 201 | echo "${!check_cmd}" | 
|  | 202 | fi | 
|  | 203 | done | 
|  | 204 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 205 | non_bbfiles=$(git ls-files -- \ | 
|  | 206 | ':!:poky/**' \ | 
| Brad Bishop | bec4ebc | 2022-08-03 09:55:16 -0400 | [diff] [blame] | 207 | ':!:meta-arm/**' \ | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 208 | ':!:meta-security/**' \ | 
|  | 209 | ':!:meta-raspberrypi/**' \ | 
|  | 210 | ':!:meta-openembedded/**' \ | 
|  | 211 | | grep -v -e "\.patch$" -e "\.bb$" -e "\.bbappend$") | 
|  | 212 |  | 
|  | 213 | for f in $non_bbfiles; do | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 214 | unset file_type | 
|  | 215 | file_info=$(file "$f") | 
|  | 216 | case $file_info in | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 217 | *shell\ script*) | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 218 | file_type="shell" | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 219 | ;; | 
|  | 220 |  | 
| Patrick Williams | 2ed00d8 | 2021-10-27 09:33:53 -0500 | [diff] [blame] | 221 | *JSON\ data*) | 
|  | 222 | file_type="json" | 
|  | 223 | ;; | 
|  | 224 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 225 | *) | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 226 | case $f in | 
|  | 227 | *.sh) | 
|  | 228 | file_type="shell" | 
|  | 229 | ;; | 
|  | 230 |  | 
| Patrick Williams | 2ed00d8 | 2021-10-27 09:33:53 -0500 | [diff] [blame] | 231 | *.json) | 
|  | 232 | file_type="json" | 
|  | 233 | ;; | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 234 | esac | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 235 | esac | 
| Patrick Williams | 521d8f6 | 2021-10-27 09:30:41 -0500 | [diff] [blame] | 236 |  | 
|  | 237 | if [ -n "$file_type" ]; then | 
|  | 238 | check_cmd="check_${file_type}" | 
|  | 239 | if ! eval "${!check_cmd} $f"; then | 
|  | 240 | if [[ $lint_exempt == *$f* ]]; then | 
|  | 241 | echo "EXEMPT: $f" | 
|  | 242 | else | 
|  | 243 | echo "FAILED: $f" | 
|  | 244 | false | 
|  | 245 | fi | 
|  | 246 | fi | 
|  | 247 | fi | 
|  | 248 |  | 
| Patrick Williams | 12a27b2 | 2021-10-26 16:07:31 -0500 | [diff] [blame] | 249 | done | 
|  | 250 |  | 
| Ed Tanous | d5cea14 | 2021-09-09 11:42:05 -0700 | [diff] [blame] | 251 | echo "Repo test passed" |