[ci] make shell scripts stricter (#6266)

This commit is contained in:
James Lamb 2024-04-22 19:28:51 -05:00 коммит произвёл GitHub
Родитель 89824a6c70
Коммит 52441c478f
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: B5690EEEBB952194
17 изменённых файлов: 56 добавлений и 21 удалений

Просмотреть файл

@ -10,7 +10,7 @@
#
# BODY: Text that will be appended to the original comment body.
set -e
set -e -E -u -o pipefail
if [ -z "$GITHUB_ACTIONS" ]; then
echo "Must be run inside GitHub Actions CI"

Просмотреть файл

@ -1,7 +1,13 @@
#!/bin/sh
set -e -E -u
DIST_DIR=${1}
# defaults
METHOD=${METHOD:-""}
TASK=${TASK:-""}
echo "checking Python package distributions in '${DIST_DIR}'"
pip install \

Просмотреть файл

@ -1,4 +1,6 @@
#!/bin/sh
#!/bin/bash
set -e -E -u -o pipefail
echo "running cpplint"
cpplint \
@ -32,9 +34,17 @@ get_omp_pragmas_without_num_threads() {
'pragma omp parallel' \
| grep -v ' num_threads'
}
# 'grep' returns a non-0 exit code if 0 lines were found.
# Turning off '-e -o pipefail' options here so that bash doesn't
# consider this a failure and stop execution of the script.
#
# ref: https://www.gnu.org/software/grep/manual/html_node/Exit-Status.html
set +e +o pipefail
PROBLEMATIC_LINES=$(
get_omp_pragmas_without_num_threads
)
set -e -o pipefail
if test "${PROBLEMATIC_LINES}" != ""; then
get_omp_pragmas_without_num_threads
echo "Found '#pragma omp parallel' not using explicit num_threads() configuration. Fix those."

Просмотреть файл

@ -1,4 +1,6 @@
#!/bin/sh
#!/bin/bash
set -e -E -u -o pipefail
echo "running pre-commit checks"
pre-commit run --all-files || exit 1

Просмотреть файл

@ -12,7 +12,7 @@
#
# PR_BRANCH: Name of pull request's branch.
set -e
set -e -E -u -o pipefail
if [ -z "$GITHUB_ACTIONS" ]; then
echo "Must be run inside GitHub Actions CI"

Просмотреть файл

@ -14,7 +14,7 @@
#
# SHA: SHA of a commit to set a status on.
set -e
set -e -E -u -o pipefail
if [ -z "$GITHUB_ACTIONS" ]; then
echo "Must be run inside GitHub Actions CI"

Просмотреть файл

@ -1,6 +1,11 @@
#!/bin/bash
set -e -E -o pipefail
set -e -E -u -o pipefail
# defaults
AZURE=${AZURE:-"false"}
IN_UBUNTU_BASE_CONTAINER=${IN_UBUNTU_BASE_CONTAINER:-"false"}
SETUP_CONDA=${SETUP_CONDA:-"true"}
ARCH=$(uname -m)

Просмотреть файл

@ -1,5 +1,7 @@
#!/bin/bash
set -e -E -u -o pipefail
# oldest versions of dependencies published after
# minimum supported Python version's first release
#

Просмотреть файл

@ -1,6 +1,12 @@
#!/bin/bash
set -e -E -o pipefail
set -e -E -o -u pipefail
# defaults
IN_UBUNTU_BASE_CONTAINER=${IN_UBUNTU_BASE_CONTAINER:-"false"}
METHOD=${METHOD:-""}
PRODUCES_ARTIFACTS=${PRODUCES_ARTIFACTS:-"false"}
SANITIZERS=${SANITIZERS:-""}
ARCH=$(uname -m)
@ -83,11 +89,11 @@ if [[ $TASK == "lint" ]]; then
'r-lintr>=3.1'
source activate $CONDA_ENV
echo "Linting Python code"
sh ${BUILD_DIRECTORY}/.ci/lint-python.sh || exit 1
bash ${BUILD_DIRECTORY}/.ci/lint-python.sh || exit 1
echo "Linting R code"
Rscript ${BUILD_DIRECTORY}/.ci/lint_r_code.R ${BUILD_DIRECTORY} || exit 1
echo "Linting C++ code"
sh ${BUILD_DIRECTORY}/.ci/lint-cpp.sh || exit 1
bash ${BUILD_DIRECTORY}/.ci/lint-cpp.sh || exit 1
exit 0
fi

Просмотреть файл

@ -1,6 +1,10 @@
#!/bin/bash
set -e -E -u -o pipefail
# defaults
ARCH=$(uname -m)
INSTALL_CMAKE_FROM_RELEASES=${INSTALL_CMAKE_FROM_RELEASES:-"false"}
# set up R environment
CRAN_MIRROR="https://cran.rstudio.com"
@ -212,6 +216,9 @@ if [[ $check_succeeded == "no" ]]; then
exit 1
fi
# ensure 'grep --count' doesn't cause failures
set +e
used_correct_r_version=$(
cat $LOG_FILE_NAME \
| grep --count "using R version ${R_VERSION}"

Просмотреть файл

@ -1,5 +1,7 @@
#!/bin/bash
set -e -E -u -o pipefail
RDscriptvalgrind -e "install.packages(c('R6', 'data.table', 'jsonlite', 'Matrix', 'RhpcBLASctl', 'testthat'), repos = 'https://cran.rstudio.com')" || exit 1
sh build-cran-package.sh \
--r-executable=RDvalgrind \

Просмотреть файл

@ -12,7 +12,7 @@
#
# DISPATCH_NAME: Name of a dispatch to be triggered.
set -e
set -e -E -u -o pipefail
if [ -z "$GITHUB_ACTIONS" ]; then
echo "Must be run inside GitHub Actions CI"

9
.github/workflows/r_package.yml поставляемый
Просмотреть файл

@ -134,15 +134,6 @@ jobs:
r_version: 4.3
build_type: cran
container: null
################
# Other checks #
################
- os: ubuntu-latest
task: r-rchk
compiler: gcc
r_version: 4.3
build_type: cran
container: 'ubuntu:22.04'
steps:
- name: Prevent conversion of line endings on Windows
if: startsWith(matrix.os, 'windows')

Просмотреть файл

@ -1,5 +1,7 @@
#!/bin/bash
set -e -E -u -o pipefail
# recreates 'configure' from 'configure.ac'
# this script should run on Ubuntu 22.04
AUTOCONF_VERSION=$(cat R-package/AUTOCONF_UBUNTU_VERSION)

Просмотреть файл

@ -27,7 +27,7 @@
# # skip vignette building
# sh build-cran-package.sh --no-build-vignettes
set -e
set -e -E -u
# Default values of arguments
BUILD_VIGNETTES=true

Просмотреть файл

@ -62,7 +62,7 @@
# Install into user-specific instead of global site-packages directory.
# Only used with 'install' command.
set -e -u
set -e -E -u
echo "building lightgbm"

Просмотреть файл

@ -1,5 +1,7 @@
#!/bin/bash
set -e -E -u -o pipefail
rm -f ./_FIRST_RUN.flag
export PATH="${CONDA}/bin:${PATH}"