54 lines
2.5 KiB
Bash
Executable File
54 lines
2.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -Eeuo pipefail
|
|
ROOT=$(CDPATH= cd -- "$(dirname -- "$0")/.." && pwd)
|
|
|
|
for f in "$ROOT"/start.sh "$ROOT"/scripts/*.sh "$ROOT"/tests/*.sh; do
|
|
bash -n "$f"
|
|
done
|
|
python3 -m py_compile "$ROOT/scripts/generate-opnsense-repo.py"
|
|
|
|
# Main Linux builder.
|
|
grep -q 'FROM rockylinux:9' "$ROOT/Dockerfile"
|
|
grep -q 'nfpm package' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'aptly .*publish' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'createrepo_c' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'repo add -force-replace' "$ROOT/scripts/build-release.sh"
|
|
grep -q '/run/package-builder/gnupg' "$ROOT/scripts/entrypoint.sh"
|
|
grep -q 'rustproxy-overview.json' "$ROOT/scripts/prepare-package.sh"
|
|
|
|
# Integrated FreeBSD/OPNsense build.
|
|
grep -q 'FREEBSD_RELEASE=15.1-RELEASE' "$ROOT/Dockerfile"
|
|
grep -q 'x86_64-unknown-freebsd' "$ROOT/Dockerfile"
|
|
grep -q '/opt/freebsd-sysroot' "$ROOT/Dockerfile"
|
|
grep -q 'build-opnsense.sh' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'package-opnsense.sh' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'generate-opnsense-repo.py' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'OPNSENSE_REPOSITORY_URL' "$ROOT/scripts/entrypoint.sh"
|
|
grep -q 'OPNSENSE_RETENTION' "$ROOT/scripts/entrypoint.sh"
|
|
test -f "$ROOT/opnsense/plugin/src/etc/rc.d/rustproxy"
|
|
test -f "$ROOT/opnsense/patches/0.20.0/0001-opnsense-build.patch"
|
|
|
|
# One atomic switch exposes Linux and OPNsense together.
|
|
grep -q 'current.new' "$ROOT/scripts/build-release.sh"
|
|
grep -q 'current/opnsense' "$ROOT/scripts/init-storage.sh"
|
|
grep -q 'last_opnsense_package_version' "$ROOT/scripts/build-release.sh"
|
|
|
|
# Two public endpoints from one nginx container.
|
|
grep -Fq '${REPOSITORY_URL:?REPOSITORY_URL is required}' "$ROOT/docker-compose.yml"
|
|
grep -Fq '${OPNSENSE_REPOSITORY_URL:?OPNSENSE_REPOSITORY_URL is required}' "$ROOT/docker-compose.yml"
|
|
grep -Fq '0.0.0.0:${HTTP_PORT:-18765}:8080' "$ROOT/docker-compose.yml"
|
|
grep -Fq '0.0.0.0:${OPNSENSE_HTTP_PORT:-18766}:8081' "$ROOT/docker-compose.yml"
|
|
grep -q 'listen 8080' "$ROOT/http/nginx.conf"
|
|
grep -q 'listen 8081' "$ROOT/http/nginx.conf"
|
|
grep -q 'root /srv/repository/opnsense' "$ROOT/http/nginx.conf"
|
|
grep -q 'GET|HEAD' "$ROOT/http/nginx.conf"
|
|
grep -q 'autoindex off' "$ROOT/http/nginx.conf"
|
|
grep -q 'healthz' "$ROOT/http/nginx.conf"
|
|
|
|
# start.sh and example configuration expose both URLs/ports.
|
|
grep -q 'DEFAULT_HTTP_PORT=18765' "$ROOT/start.sh"
|
|
grep -q 'DEFAULT_OPNSENSE_HTTP_PORT=18766' "$ROOT/start.sh"
|
|
grep -q 'OPNSENSE_REPOSITORY_URL=https://opn-rustproxy.linuxiarz.pl' "$ROOT/.env.example"
|
|
|
|
echo 'static checks: OK'
|