mirror of
https://github.com/outbackdingo/labca.git
synced 2026-01-27 18:19:33 +00:00
Let's Encrypt has changed the rate limiter to require redis, so we can no longer remove it from the docker compose filei completely. But at least we can run it once instead of four instances.
135 lines
5.0 KiB
Bash
Executable File
135 lines
5.0 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
COL_NC='\\e\[0m' # No Color
|
|
COL_LIGHT_GREEN='\\e\[1;32m'
|
|
COL_YELLOW='\\e\[1;33m'
|
|
COL_LIGHT_RED='\\e\[1;31m'
|
|
|
|
colorBoulderTag() {
|
|
local fileName="$1"
|
|
local expectVersion="$2"
|
|
|
|
actualVersion=$(grep -R boulderTag= $fileName | sed -e "s/boulderTag=\"\(.*\)\"/\1/")
|
|
sub=$(echo $actualVersion | cut -c1-8)
|
|
if [ "$actualVersion" = "$expectVersion" ]; then
|
|
actualVersion="${COL_LIGHT_GREEN}${actualVersion}${COL_NC}"
|
|
elif [ "$sub" = "release-" ]; then
|
|
actualVersion="${COL_LIGHT_RED}${actualVersion}${COL_NC}"
|
|
else
|
|
actualVersion="${COL_YELLOW}${actualVersion}${COL_NC}"
|
|
fi
|
|
result=$(grep -R boulderTag= $fileName | sed -e "s/\(boulderTag=\"\).*\(\"\)/\1${actualVersion}\2/")
|
|
echo "* $fileName: $result"
|
|
}
|
|
|
|
colorCITag() {
|
|
local fileName="$1"
|
|
|
|
first=$(grep go1. ../boulder/.github/workflows/boulder-ci.yml | head -1 | sed -e "s/\s*-\s*//")
|
|
second=$(grep go1. ../boulder/.github/workflows/boulder-ci.yml | head -2 | tail -1 | sed -e "s/\s*-\s*//")
|
|
|
|
if [ ! -z "$(grep -R boulder-tools: $fileName | grep -v automatically | grep $first || echo "")" ]; then
|
|
res=$(grep -R boulder-tools: $fileName | grep -v automatically | sed -e "s/$first/${COL_LIGHT_GREEN}$first${COL_NC}/")
|
|
elif [ ! -z "$(grep -R boulder-tools: $fileName | grep -v automatically | grep $second || echo "")" ]; then
|
|
res=$(grep -R boulder-tools: $fileName | grep -v automatically | sed -e "s/$second/${COL_YELLOW}$second${COL_NC}/")
|
|
else
|
|
res=$(grep -R boulder-tools: $fileName | grep -v automatically | sed -e "s/\(:-*\)\([cgor\.0-9_-]*\)/\1${COL_LIGHT_RED}\2${COL_NC}/g")
|
|
fi
|
|
|
|
echo "* $fileName:$res"
|
|
}
|
|
|
|
colorNGTag() {
|
|
local fileName="$1"
|
|
local expectVersion="$2"
|
|
|
|
if [ ! -z "$(grep -R nginx: $fileName | egrep "[\"0-9]+" | grep $expectVersion || echo "")" ]; then
|
|
res=$(grep -R nginx: $fileName | egrep "[\"0-9]+" | sed -e "s/$expectVersion/${COL_LIGHT_GREEN}$expectVersion${COL_NC}/")
|
|
else
|
|
res=$(grep -R nginx: $fileName | egrep "[\"0-9]+" | sed -e "s/\(.*:\)\([0-9\.]*\)/\1${COL_LIGHT_RED}\2${COL_NC}/")
|
|
fi
|
|
echo "* $fileName:$res"
|
|
}
|
|
|
|
colorGoVersion() {
|
|
local fileName="$1"
|
|
local expectVersion="$2"
|
|
|
|
if [ ! -z "$(grep GO_VERSION -A 3 $fileName | egrep "\- [\"0-9]+" | grep $expectVersion || echo "")" ]; then
|
|
res=$(grep GO_VERSION -A 3 $fileName | egrep "\- [\"0-9]+" | sed -e "s/$expectVersion/${COL_LIGHT_GREEN}$expectVersion${COL_NC}/")
|
|
else
|
|
res=$(grep GO_VERSION -A 3 $fileName | egrep "\- [\"0-9]+" | sed -e "s/\([0-9\.]*\)/${COL_LIGHT_RED}\1${COL_NC}/g")
|
|
fi
|
|
echo "* $fileName:$res"
|
|
}
|
|
|
|
colorGoVersion2() {
|
|
local fileName="$1"
|
|
local expectVersion="$2"
|
|
|
|
if [ ! -z "$(grep GO_VERSION $fileName | sed -e "s/\s*GO_VERSION: //" | grep $expectVersion || echo "")" ]; then
|
|
res=$(grep GO_VERSION $fileName | sed -e "s/\s*GO_VERSION: / /" | sed -e "s/$expectVersion/${COL_LIGHT_GREEN}$expectVersion${COL_NC}/")
|
|
else
|
|
res=$(grep GO_VERSION $fileName | sed -e "s/\s*GO_VERSION: / /" | sed -e "s/\([0-9\.]*\)/${COL_LIGHT_RED}\1${COL_NC}/g")
|
|
fi
|
|
echo "* $fileName:$res"
|
|
}
|
|
|
|
colorEqual() {
|
|
local first="$1"
|
|
local second="$2"
|
|
|
|
if [ "$first" = "$second" ]; then
|
|
res=$(echo $first | sed -e "s/$first/${COL_LIGHT_GREEN}$first${COL_NC}/")
|
|
echo " $res"
|
|
else
|
|
res=$(echo $first | sed -e "s/$first/${COL_LIGHT_RED}$first${COL_NC}/")
|
|
echo " $res, but have $second"
|
|
fi
|
|
|
|
}
|
|
|
|
echo
|
|
|
|
cd ../boulder
|
|
bversion=$(git describe --tags $(git rev-list --tags --max-count=1))
|
|
cd - >/dev/null
|
|
echo "Boulder tag: $bversion"
|
|
colorBoulderTag install $bversion
|
|
colorBoulderTag build/build.sh $bversion
|
|
echo
|
|
|
|
echo "Boulder CI tag(s):"
|
|
grep go1. ../boulder/.github/workflows/boulder-ci.yml
|
|
colorCITag build/Dockerfile-boulder
|
|
echo
|
|
|
|
ngversion=$(grep -R nginx: .github/Dockerfile | egrep "[\"0-9]+" | sed -e "s/.*:\([0-9\.]*\)/\1/")
|
|
echo -n "Manual .github/Dockerfile: "
|
|
grep -R nginx: .github/Dockerfile | egrep "[\"0-9]+"
|
|
colorNGTag build/docker-compose.yml $ngversion
|
|
colorNGTag patches/docker-compose.patch $ngversion
|
|
echo
|
|
|
|
goversion=$(grep GO_VERSION -A 3 ../boulder/.github/workflows/release.yml | egrep "\- [\"0-9]+" | sed -e "s/\s*-\s*//" | sed -e "s/\"//g")
|
|
echo "Boulder .github/workflows/release.yml"
|
|
grep GO_VERSION -A 3 ../boulder/.github/workflows/release.yml | egrep "\- [\"0-9]+" | sed -e "s/yml-/yml/"
|
|
colorGoVersion .github/workflows/release.yml $goversion
|
|
colorGoVersion .github/workflows/build-standalone.yml $goversion
|
|
echo
|
|
|
|
goversion=$(grep GO_VERSION ../boulder/docker-compose.yml | sed -e "s/\s*GO_VERSION://")
|
|
echo -n "Boulder docker-compose.yml"
|
|
grep GO_VERSION ../boulder/docker-compose.yml | sed -e "s/\s*GO_VERSION:/ /"
|
|
colorGoVersion2 build/docker-compose.yml $goversion
|
|
echo
|
|
|
|
db_migrs=$(ls -1 ../boulder/sa/db/boulder_sa/ | grep -v 20240304000000_CertificateProfiles.sql | grep -v 20250115000000_AuthzProfiles.sql | wc -l)
|
|
db_patches=$(ls -1 ../labca/patches/db_migrations* | wc -l)
|
|
echo -n "Database migrations "
|
|
colorEqual $db_migrs $db_patches
|
|
echo
|
|
|