# This workflow will build a Java project with Maven # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven name: CI on: pull_request: branches: [ main ] jobs: # TODO: add format/checkstyle build: name: Java ${{ matrix.jdk }} / ${{ matrix.os }} ${{ matrix.args }} strategy: fail-fast: false matrix: os: [ ubuntu-latest, macos-latest, windows-latest ] jdk: [ 17 ] include: - os: ubuntu-latest jdk: 16 - os: ubuntu-latest jdk: 17 args: "-DargLine='-Duser.language=fr -Duser.country=FR'" runs-on: ${{ matrix.os }} timeout-minutes: 15 steps: - uses: actions/checkout@v3 - name: Set up JDK ${{ matrix.jdk }} uses: actions/setup-java@v2 with: java-version: ${{ matrix.jdk }} distribution: 'temurin' cache: 'maven' - name: Build with mvnw (linux/mac) if: ${{ !contains(matrix.os, 'windows') }} run: ./mvnw ${{matrix.args}} --batch-mode -no-transfer-progress package verify jib:buildTar --file pom.xml - name: Build with mvnw.cmd (windows) if: ${{ contains(matrix.os, 'windows') }} run: mvnw.cmd ${{matrix.args}} --batch-mode -no-transfer-progress package verify jib:buildTar --file pom.xml shell: cmd regenerate: name: Regenerate runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v2 with: java-version: 17 distribution: 'temurin' cache: 'maven' - run: ./scripts/regenerate-openmaptiles.sh - run: ./mvnw -DskipTests --batch-mode -no-transfer-progress clean install -pl planetiler-basemap -am - run: ./mvnw --batch-mode -no-transfer-progress verify -pl planetiler-basemap examples: name: Example project runs-on: ubuntu-latest timeout-minutes: 15 continue-on-error: true steps: - uses: actions/checkout@v3 - name: Set up JDK 17 uses: actions/setup-java@v2 with: java-version: 17 distribution: 'temurin' - name: Build and test run: mvn --batch-mode -no-transfer-progress package --file standalone.pom.xml working-directory: planetiler-examples - name: Find jar run: mv target/*with-deps.jar ./run.jar working-directory: planetiler-examples - name: Run run: java -jar run.jar --osm-path=../planetiler-core/src/test/resources/monaco-latest.osm.pbf --mbtiles=data/out.mbtiles working-directory: planetiler-examples - name: Verify run: java -cp run.jar com.onthegomap.planetiler.mbtiles.Verify data/out.mbtiles working-directory: planetiler-examples run: name: Build / Run runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v3 - name: Cache data/sources uses: ./.github/cache-sources-action - name: Set up JDK uses: actions/setup-java@v2 with: java-version: 17 distribution: 'temurin' cache: 'maven' - name: Build this branch run: ./mvnw -DskipTests -Dimage.version=CI_ONLY --batch-mode -no-transfer-progress package jib:dockerBuild --file pom.xml - name: Download data (java) run: java -jar planetiler-dist/target/*with-deps.jar --only-download --area=monaco - name: Download wikidata (java) run: java -jar planetiler-dist/target/*with-deps.jar --only-fetch-wikidata --area=monaco - name: Verify build run: ./scripts/test-release.sh CI_ONLY env: SKIP_EXAMPLE_PROJECT: true