1+ name : Downstream integration build (GeoWebCache and GeoServer) on OSX
2+
3+ on :
4+ # trigger on PR, but only on main branch, the checkouts of the downstream projects are also targeting main (default branch)
5+ pull_request :
6+ branches :
7+ - master
8+
9+ concurrency :
10+ group : ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
11+ cancel-in-progress : true
12+
13+ jobs :
14+ build :
15+
16+ runs-on : [macos-latest]
17+
18+ steps :
19+ - name : Set up JDK 11
20+ uses : actions/setup-java@v4
21+ with :
22+ java-version : 11
23+ distribution : ' temurin'
24+ - uses : actions/checkout@v4
25+ - name : Maven repository caching
26+ uses : actions/cache@v4
27+ with :
28+ path : ~/.m2/repository
29+ key : gt-maven-${{ hashFiles('**/pom.xml') }}
30+ restore-keys : |
31+ gt-maven-
32+ - name : Disable checksum offloading
33+ # See: https://github.com/actions/virtual-environments/issues/1187#issuecomment-686735760
34+ run : |
35+ sudo ethtool -K eth0 tx off rx off
36+ - name : Build GeoTools (no tests, prepare fresh artifacts)
37+ run : |
38+ mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn clean install -T2 -Dall --file pom.xml -DskipTests
39+ - name : Checkout GeoWebCache, GeoServer and ...
40+ run : |
41+ cd ~
42+ echo "Preparing git ssh checkouts"
43+ mkdir ~/.ssh/ && echo -e "Host github.com\n\tStrictHostKeyChecking no\n" > ~/.ssh/config
44+ echo "Checking out GeoWebCache"
45+ mkdir geowebcache
46+ git clone https://github.com/GeoWebCache/geowebcache.git geowebcache
47+ echo "Checking out GeoServer"
48+ mkdir geoserver
49+ git clone https://github.com/geoserver/geoserver.git geoserver
50+ echo "Checking out mapfish-print-v2"
51+ mkdir mapfish-print-v2
52+ git clone https://github.com/mapfish/mapfish-print-v2.git mapfish-print-v2
53+ - name : Build Mapfish-print v2 with tests
54+ run : |
55+ cd ~
56+ mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -f mapfish-print-v2/pom.xml install -nsu -DskipTests -T2
57+ mvn -B -f mapfish-print-v2/pom.xml test -fae -nsu -T2
58+ - name : Build GeoWebCache with tests
59+ run : |
60+ export TEST_OPTS="-XX:+UseStringDeduplication -XX:+UseG1GC -XX:MaxHeapFreeRatio=30 -XX:MinHeapFreeRatio=10"
61+ export MAVEN_OPTS="-Xmx1024m $TEST_OPTS"
62+ cd ~
63+ mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -f geowebcache/geowebcache/pom.xml install -nsu -Dspotless.apply.skip=true -DskipTests -T2
64+ mvn -B -f geowebcache/geowebcache/pom.xml test -fae -nsu -T2 -Dspotless.apply.skip=true
65+ - name : Build GeoServer with tests
66+ run : |
67+ echo "Building GeoServer"
68+ export TEST_OPTS="-XX:+UseStringDeduplication -XX:+UseG1GC -XX:MaxHeapFreeRatio=30 -XX:MinHeapFreeRatio=10"
69+ export MAVEN_OPTS="-Xmx512m $TEST_OPTS"
70+ cd ~
71+ sed -i "s/<mf.version>2.2.0<\/mf.version>/<mf.version>2.3-SNAPSHOT<\/mf.version>/g" geoserver/src/pom.xml
72+ sed -i "s/<gf.version>3.6.0<\/gf.version>/<gf.version>3.6-SNAPSHOT<\/gf.version>/g" geoserver/src/pom.xml
73+ mvn -B -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn -f geoserver/src/pom.xml install -nsu -Prelease -Dspotless.apply.skip=true -DskipTests -T2
74+ mvn -B -f geoserver/src/community/pom.xml install -nsu -DcommunityRelease -Dspotless.apply.skip=true -DskipTests -T2
75+ mvn -B -f geoserver/src/pom.xml test -fae -T2 -nsu -Dtest.maxHeapSize=512m -Djvm.opts="$TEST_OPTS" -Prelease -Dspotless.apply.skip=true
76+ - name : Remove SNAPSHOT jars from repository
77+ run : |
78+ find ~/.m2/repository -name "*SNAPSHOT*" -type d | xargs rm -rf {}
0 commit comments