jenkins/ath.sh

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

74 lines
1.9 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/bash
set -o errexit
set -o nounset
set -o pipefail
set -o xtrace
2022-12-20 02:27:04 -08:00
cd "$(dirname "$0")"
# https://github.com/jenkinsci/acceptance-test-harness/releases
export ATH_VERSION=6254.vca_87b_2b_59e5a_
if [[ $# -eq 0 ]]; then
2023-06-30 15:53:21 +02:00
export JDK=17
export BROWSER=firefox
else
export JDK=$1
export BROWSER=$2
fi
MVN='mvn -B -ntp -Pquick-build -am -pl war package'
if [[ -n ${MAVEN_SETTINGS-} ]]; then
MVN="${MVN} -s ${MAVEN_SETTINGS}"
fi
[[ -f war/target/jenkins.war ]] || $MVN
mkdir -p target/ath-reports
chmod a+rwx target/ath-reports
curl \
--fail \
--silent \
--show-error \
--output /tmp/ath.yml \
--location "https://raw.githubusercontent.com/jenkinsci/acceptance-test-harness/refs/tags/${ATH_VERSION}/docker-compose.yml"
sed -i -e "s/jenkins\/ath:latest/jenkins\/ath:${ATH_VERSION}/g" /tmp/ath.yml
# obtain the groupId to grant to access the docker socket to run tests needing docker
if [[ -z ${DOCKER_GID:-} ]]; then
DOCKER_GID=$(docker run --rm -v /var/run/docker.sock:/var/run/docker.sock ubuntu:noble stat -c %g /var/run/docker.sock) || exit 1
export DOCKER_GID
fi
trap 'docker-compose --file /tmp/ath.yml kill && docker-compose --file /tmp/ath.yml down' EXIT
exec docker-compose \
--file /tmp/ath.yml \
run \
--env JDK \
2022-12-20 02:27:04 -08:00
--env ATH_VERSION \
--env BROWSER \
--name mvn \
--no-TTY \
--rm \
2022-12-20 02:27:04 -08:00
--volume "$(pwd)"/war/target/jenkins.war:/jenkins.war:ro \
--volume "$(pwd)"/target/ath-reports:/reports:rw \
mvn \
2022-12-20 02:27:04 -08:00
bash <<-'INSIDE'
set -o errexit
set -o nounset
set -o pipefail
set -o xtrace
cd
set-java.sh "${JDK}"
2022-12-20 02:27:04 -08:00
env | sort
git clone --branch "${ATH_VERSION}" --depth 1 https://github.com/jenkinsci/acceptance-test-harness
2022-12-20 02:27:04 -08:00
cd acceptance-test-harness
run.sh "remote-webdriver-${BROWSER}" /jenkins.war \
2022-12-20 02:27:04 -08:00
-Dmaven.test.failure.ignore \
-DforkCount=1 \
-Dgroups=org.jenkinsci.test.acceptance.junit.SmokeTest
cp --verbose target/surefire-reports/TEST-*.xml /reports
INSIDE