moby/hack/validate/golangci-lint
Sebastiaan van Stijn 0e9a66d35a
logger/journald: remove journald_compat (for systemd < 209)
This was added in 6cdc4ba6cd in 2016, likely
because at the time we were still building for CentOS 6 and Ubuntu 14.04.

All currently supported distros appear to be on _at least_ 219 now, so it looks
safe to remove this;

```bash
docker run -it --rm centos:7

yum install -y systemd-devel

pkg-config 'libsystemd >= 209' && echo "OK" || echo "KO"
OK

pkg-config --print-provides 'libsystemd'
libsystemd = 219

pkg-config --print-provides 'libsystemd-journal'
libsystemd-journal = 219
```

And on a `debian:buster` (old stable)

```bash
docker run -it --rm debian:buster

apt-get update && apt-get install -y libsystemd-dev pkg-config

pkg-config 'libsystemd >= 209' && echo "OK" || echo "KO"
OK

pkg-config --print-provides 'libsystemd'
libsystemd = 241

pkg-config --print-provides 'libsystemd-journal'
Package libsystemd-journal was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd-journal.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd-journal' found
```

OpenSUSE leap (I think that's built for s390x)

```bash
docker run -it --rm docker.io/opensuse/leap:15

zypper install -y systemd-devel

pkg-config 'libsystemd >= 209' && echo "OK" || echo "KO"
OK

pkg-config --print-provides 'libsystemd'
libsystemd = 246

pkg-config --print-provides 'libsystemd-journal'
Package libsystemd-journal was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd-journal.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd-journal' found
```

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
2022-07-20 18:48:00 +02:00

27 lines
818 B
Bash
Executable file

#!/usr/bin/env bash
set -e -o pipefail
SCRIPTDIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
# CI platforms differ, so per-platform GOLANGCI_LINT_OPTS can be set
# from a platform-specific Dockerfile, otherwise let's just set
# (somewhat pessimistic) default of 10 minutes.
: "${GOLANGCI_LINT_OPTS=--timeout=10m}"
[ -n "${TESTDEBUG}" ] && set -x
# TODO find a way to share this code with hack/make.sh
if pkg-config 'libsystemd' 2> /dev/null; then
DOCKER_BUILDTAGS+=" journald"
fi
echo -e "\n\033[0;36mINFO\033[0m Start validation with golang-ci-lint"
# TODO use --out-format=junit-xml and store artifacts
# shellcheck disable=SC2086
GOGC=75 golangci-lint run \
${GOLANGCI_LINT_OPTS} \
--print-resources-usage \
--build-tags="${DOCKER_BUILDTAGS}" \
--verbose \
--config "${SCRIPTDIR}/golangci-lint.yml"