From 2e99075728c93f75a5af1bea2189c9c409426270 Mon Sep 17 00:00:00 2001 From: Lee Surprenant Date: Wed, 30 Oct 2019 12:07:38 -0400 Subject: [PATCH 1/3] issue #335 - use openjdk in favor of zulu this commit introduces a dependency on https://github.com/marketplace/actions/setup-java-environment-based-on-adoptopenjdk Signed-off-by: Lee Surprenant --- .github/workflows/build.yml | 111 +++++------------------------------- 1 file changed, 13 insertions(+), 98 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 62dfc1704b8..2d0244bba49 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -10,11 +10,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '1.8', '11.0.1' ] + java: [ 'openjdk8', 'openjdk11' ] steps: - uses: actions/checkout@v1 - - name: Set up JDK - uses: actions/setup-java@v1 + - name: Set up OpenJDK + uses: joschi/setup-jdk@v1 with: java-version: ${{ matrix.java }} - name: Build tools @@ -31,115 +31,26 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [ '1.8', '11.0.1' ] + java: [ 'openjdk8', 'openjdk11' ] steps: - uses: actions/checkout@v1 - - name: Set up JDK - uses: actions/setup-java@v1 + - name: Set up OpenJDK + uses: joschi/setup-jdk@v1 with: java-version: ${{ matrix.java }} - name: Build samples run: mvn -B install --file fhir-examples/pom.xml - name: Build parent with tests run: mvn -B -T2C package --file fhir-parent/pom.xml - e2e-java8: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v1 - - name: Download OpenJDK 8 - run: wget "https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u232-b09_openj9-0.17.0/OpenJDK8U-jdk_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz" - - name: Set up JDK - uses: actions/setup-java@v1 - with: - java-version: 8 - architecture: x64 - jdkFile: OpenJDK8U-jdk_x64_linux_openj9_8u232b09_openj9-0.17.0.tar.gz - - name: Build samples - run: mvn -B install --file fhir-examples/pom.xml - - name: Build parent without tests - run: mvn -B install --file fhir-parent/pom.xml -DskipTests - - name: Server Integration Tests - env: - LC_ALL: en_US.UTF-8 - run: | - export WORKSPACE=${GITHUB_WORKSPACE} - build/pre-integration-test.sh - env - mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true - build/post-integration-test.sh - - name: Gather error logs - if: failure() - run: | - it_results=SIT/integration-test-results - rm -fr ${it_results} 2>/dev/null - mkdir -p ${it_results}/server-logs - mkdir -p ${it_results}/fhir-server-test - echo "Gathering post-test server logs..." - cp -pr SIT/wlp/usr/servers/fhir-server/logs ${it_results}/server-logs - echo "Gathering integration test output" - cp -pr ${GITHUB_WORKSPACE}/fhir-server-test/target/surefire-reports/* ${it_results}/fhir-server-test - - name: Upload logs - if: always() - uses: actions/upload-artifact@master - with: - name: integration-test-results-java8 - path: SIT/integration-test-results - e2e-java11: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v1 - - name: Download OpenJDK 11 - run: wget "https://github.com/AdoptOpenJDK/openjdk11-binaries/releases/download/jdk11u-2019-10-16-10-43/OpenJDK11U-jdk_x64_linux_openj9_2019-10-16-10-43.tar.gz" - - name: Set up JDK - uses: actions/setup-java@v1 - with: - java-version: 11 - architecture: x64 - jdkFile: OpenJDK11U-jdk_x64_linux_openj9_2019-10-16-10-43.tar.gz - - name: Build samples - run: mvn -B install --file fhir-examples/pom.xml - - name: Build parent without tests - run: mvn -B install --file fhir-parent/pom.xml -DskipTests - - name: Server Integration Tests - env: - LC_ALL: en_US.UTF-8 - run: | - export WORKSPACE=${GITHUB_WORKSPACE} - build/pre-integration-test.sh - env - mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true - build/post-integration-test.sh - - name: Gather error logs - if: failure() - run: | - it_results=SIT/integration-test-results - rm -fr ${it_results} 2>/dev/null - mkdir -p ${it_results}/server-logs - mkdir -p ${it_results}/fhir-server-test - mkdir -p ${it_results}/derby - echo "Gathering post-test server logs..." - cp -pr SIT/wlp/usr/servers/fhir-server/logs ${it_results}/server-logs - echo "Gathering post-test derby..." - cp -pr SIT/wlp/usr/servers/fhir-server/derby ${it_results}/derby - echo "Gathering integration test output" - cp -pr ${GITHUB_WORKSPACE}/fhir-server-test/target/surefire-reports/* ${it_results}/fhir-server-test - - name: Upload logs - if: always() - uses: actions/upload-artifact@master - with: - name: integration-test-results-java11 - path: SIT/integration-test-results e2e-tests: runs-on: ubuntu-latest strategy: matrix: - java: [ '11.0.1', '1.8' ] + java: [ 'openjdk8', 'openjdk11' ] steps: - uses: actions/checkout@v1 - - name: Set up JDK - uses: actions/setup-java@v1 + - name: Set up OpenJDK + uses: joschi/setup-jdk@v1 with: java-version: ${{ matrix.java }} - name: Build samples @@ -147,9 +58,13 @@ jobs: - name: Build parent without tests run: mvn -B install --file fhir-parent/pom.xml -DskipTests - name: Server Integration Tests + env: + # debian-based linux uses C.UTF-8 by default and Derby doesn't like that + LC_ALL: en_US.UTF-8 run: | export WORKSPACE=${GITHUB_WORKSPACE} build/pre-integration-test.sh + env mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true build/post-integration-test.sh - name: Gather error logs From 6f70914ec988bc61f35c876ef5d6ada9af174331 Mon Sep 17 00:00:00 2001 From: Lee Surprenant Date: Wed, 30 Oct 2019 13:57:28 -0400 Subject: [PATCH 2/3] add --no-transfer-progress as suggested by Paul during review however, since we're already running maven in batch mode, adding this flag just skips the following lines: ``` [INFO] Downloading from central: ... [INFO] Downloaded from central: ... (8.1 kB at 24 kB/s) ``` Download errors should still show up. Signed-off-by: Lee Surprenant Co-Authored-By: Paul Bastide --- .github/workflows/build.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2d0244bba49..e9bca4d3322 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -39,9 +39,9 @@ jobs: with: java-version: ${{ matrix.java }} - name: Build samples - run: mvn -B install --file fhir-examples/pom.xml + run: mvn -B install --file fhir-examples/pom.xml --no-transfer-progress - name: Build parent with tests - run: mvn -B -T2C package --file fhir-parent/pom.xml + run: mvn -B -T2C package --file fhir-parent/pom.xml --no-transfer-progress e2e-tests: runs-on: ubuntu-latest strategy: @@ -54,9 +54,9 @@ jobs: with: java-version: ${{ matrix.java }} - name: Build samples - run: mvn -B install --file fhir-examples/pom.xml + run: mvn -B install --file fhir-examples/pom.xml --no-transfer-progress - name: Build parent without tests - run: mvn -B install --file fhir-parent/pom.xml -DskipTests + run: mvn -B install --file fhir-parent/pom.xml -DskipTests --no-transfer-progress - name: Server Integration Tests env: # debian-based linux uses C.UTF-8 by default and Derby doesn't like that @@ -65,7 +65,7 @@ jobs: export WORKSPACE=${GITHUB_WORKSPACE} build/pre-integration-test.sh env - mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true + mvn -B test -DskipTests=false -f fhir-server-test/pom.xml -DskipWebSocketTest=true --no-transfer-progress build/post-integration-test.sh - name: Gather error logs if: failure() From adc31e39f3a4e154a621b1617552bdfbb1b1aa9d Mon Sep 17 00:00:00 2001 From: Lee Surprenant Date: Wed, 30 Oct 2019 14:47:03 -0400 Subject: [PATCH 3/3] remove the profile for java11 it still builds with OpenJDK 11, it just cross-compiles for java 1.8. i kept the java.version property, so folks can still pass `-Djava.version=11` if they really want to compile for java 11, but since we want to be buildable and runnable on java 8 we won't be using any java 11 source features at this time. also set fail-fast to false so that we get both java 8 and java 11 results each time Signed-off-by: Lee Surprenant --- .github/workflows/build.yml | 3 +++ fhir-parent/pom.xml | 9 --------- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index e9bca4d3322..953294fdfcc 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -11,6 +11,7 @@ jobs: strategy: matrix: java: [ 'openjdk8', 'openjdk11' ] + fail-fast: false steps: - uses: actions/checkout@v1 - name: Set up OpenJDK @@ -32,6 +33,7 @@ jobs: strategy: matrix: java: [ 'openjdk8', 'openjdk11' ] + fail-fast: false steps: - uses: actions/checkout@v1 - name: Set up OpenJDK @@ -47,6 +49,7 @@ jobs: strategy: matrix: java: [ 'openjdk8', 'openjdk11' ] + fail-fast: false steps: - uses: actions/checkout@v1 - name: Set up OpenJDK diff --git a/fhir-parent/pom.xml b/fhir-parent/pom.xml index d285b71b95c..faf43f7bab9 100644 --- a/fhir-parent/pom.xml +++ b/fhir-parent/pom.xml @@ -876,14 +876,5 @@ - - switch-jdk-11 - - !1.8 - - - 11 - -