ci: fix jenkins shell quoting and enforce bash for pipeline scripts

This commit is contained in:
Brad Stein 2026-04-05 14:02:28 -03:00
parent b0dc2d855d
commit 6eb99ac712

8
Jenkinsfile vendored
View File

@ -108,7 +108,7 @@ spec:
steps { steps {
container('tester') { container('tester') {
sh ''' sh '''
bash -lc ' #!/usr/bin/env bash
set -euo pipefail set -euo pipefail
apt-get update >/dev/null apt-get update >/dev/null
apt-get install -y --no-install-recommends xz-utils >/dev/null apt-get install -y --no-install-recommends xz-utils >/dev/null
@ -131,7 +131,6 @@ with open("build/coverage.json", "w", encoding="utf-8") as handle:
json.dump({"summary": {"percent_covered": coverage}}, handle) json.dump({"summary": {"percent_covered": coverage}}, handle)
PY PY
exit ${test_rc} exit ${test_rc}
'
''' '''
} }
} }
@ -141,6 +140,7 @@ PY
steps { steps {
container('publisher') { container('publisher') {
sh ''' sh '''
#!/usr/bin/env bash
set -euo pipefail set -euo pipefail
python scripts/publish_test_metrics.py python scripts/publish_test_metrics.py
''' '''
@ -152,6 +152,7 @@ PY
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
#!/usr/bin/env bash
set -euo pipefail set -euo pipefail
mkdir -p /root/.docker mkdir -p /root/.docker
cp /docker-config/config.json /root/.docker/config.json cp /docker-config/config.json /root/.docker/config.json
@ -165,6 +166,7 @@ PY
container('builder') { container('builder') {
script { script {
sh ''' sh '''
#!/usr/bin/env bash
set -euo pipefail set -euo pipefail
SEMVER="0.1.0-${BUILD_NUMBER}" SEMVER="0.1.0-${BUILD_NUMBER}"
echo "SEMVER=${SEMVER}" > build.env echo "SEMVER=${SEMVER}" > build.env
@ -181,6 +183,7 @@ PY
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
#!/usr/bin/env bash
set -euo pipefail set -euo pipefail
for i in $(seq 1 10); do for i in $(seq 1 10); do
if docker info >/dev/null 2>&1; then if docker info >/dev/null 2>&1; then
@ -198,6 +201,7 @@ PY
steps { steps {
container('builder') { container('builder') {
sh ''' sh '''
#!/usr/bin/env bash
set -euo pipefail set -euo pipefail
VERSION_TAG="$(cut -d= -f2 build.env)" VERSION_TAG="$(cut -d= -f2 build.env)"
for arch in amd64 arm64; do for arch in amd64 arm64; do