diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 776b1bb..9744c12 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,40 +1,56 @@ -# This workflow will test the guide application. -# For more information about building and testing Java, -# see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven - name: Test application on: pull_request: - branches: [ qa ] - + branches: [ master, qa ] + jobs: - java8build: + needTest: runs-on: ubuntu-latest + outputs: + canSkip: ${{ steps.checkFiles.outputs.canSkip }} + steps: + - name: Check files in PR + id: checkFiles + run: | + PR_FILES_URL="https://api.github.com/repos/${GITHUB_REPOSITORY}/pulls/${{github.event.pull_request.number}}/files" + FILES_CHANGED=$(curl -s -X GET -G $PR_FILES_URL | jq -r '.[] | .filename') + echo $FILES_CHANGED + if [ ${#FILES_CHANGED[@]} == 1 ] && [ ${FILES_CHANGED[0]} == README.adoc ]; then + echo "Test can be skipped because only updated README.adoc" + echo "::set-output name=canSkip::true" + else + echo "Need to run test" + echo "::set-output name=canSkip::false" + fi + java8build: + runs-on: ubuntu-latest + needs: [needTest] + if: "!contains(needs.needTest.outputs.canSkip, 'true')" defaults: run: working-directory: finish steps: - - uses: actions/checkout@v2 - - name: Set up JDK 1.8 - uses: actions/setup-java@v1 - with: - java-version: 1.8 - - run: unset _JAVA_OPTIONS + - uses: actions/checkout@v2 + - name: Set up JDK 8 + uses: actions/setup-java@v1 + with: + java-version: 8 + - run: unset _JAVA_OPTIONS - - name: Run tests - run: mvn -q clean install - - name: Post tests - if: always() - run: | + - name: Run tests + run: sudo ../scripts/testApp.sh + - name: Post tests + if: always() + run: | logsPath=$(sudo find . -name "console.log" | grep inventory); sudo cat $logsPath | sudo grep Launching - - - name: Archive server logs if failed - if: failure() - uses: actions/upload-artifact@v2 - with: - name: server-logs - path: finish/target/liberty/wlp/usr/servers/defaultServer/logs/ + + - name: Archive server logs if failed + if: failure() + uses: actions/upload-artifact@v2 + with: + name: server-logs + path: finish/target/liberty/wlp/usr/servers/defaultServer/logs/ diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 800b2b0..0000000 --- a/.travis.yml +++ /dev/null @@ -1,39 +0,0 @@ -language: java -before_script: -- unset _JAVA_OPTIONS -- cd finish -script: -- mvn -q clean install -after_script: -- logsPath=$(find . -name "console.log" | sed "s/console.log//g"); -- build=$(grep "Open Liberty" $logsPath/console.log | cut -d" " -f5 | cut -d")" -f1 ); -- release=$( echo "$build" | cut -d'/' -f1); -- number=$(echo "$build" | cut -d'/' -f2); -- ol_jv=$(grep -i "version" $logsPath/console.log); -- jv=$(printf '%s\n' "${ol_jv//$' on '/$'\n'}" | sed '2q;d'); -- echo -e "\n"\ - "\033[1;34m Open Liberty release:\033[0m\033[1;36m $release \033[0m \n"\ - "\033[1;34m Open Liberty build number:\033[0m\033[1;36m $number \033[0m \n"\ - "\033[1;34m Java version:\033[0m\033[1;36m $jv \033[0m \n" -- cd $logsPath; -- repo_name=$(echo "$TRAVIS_REPO_SLUG" | sed -e "s/\//-/g"); -- if [ "$TRAVIS_TEST_RESULT" -eq 0 ]; then RESULT="passed"; else RESULT="failed"; fi; -- echo -e "\033[1;34m result:\033[0m\033[1;36m $RESULT \033[0m \n" -- serverlogsarchive="$repo_name-$TRAVIS_BUILD_NUMBER-$RESULT.zip"; -- if [ "$TRAVIS_TEST_RESULT" -eq 0 ]; then echo skipped to zip $serverlogsarchive; else zip -r "$serverlogsarchive" .; fi; -- if [ "$TRAVIS_TEST_RESULT" -eq 0 ]; then echo skipped upload; else curl -H "$JFROG_TOKEN" -T "$serverlogsarchive" "https://na.artifactory.swg-devops.com/artifactory/hyc-openliberty-guides-files-generic-local/"; fi; -notifications: - slack: - template: - - 'Build: <%{build_url}| %{build_number}> | Commit (<%{compare_url}|%{commit}>): - %{commit_message}' - - 'Repo@Branch: %{repository_slug}@%{branch}' - - 'Author: %{author}' - - 'Summary: %{result} in %{duration}' - rooms: - secure: XkxVWNC6O7psA9mVWXJ6KKhFLWIV16PtCn2HiIVVdfPyDftvXWE5k37/M0DMISM5oTCIsvhf9cppBx1VnNq+t9s6/OBGA029+y4wuK/KP5BaKSqHPpweYkDCtsTzjwUgl6/9aOm8FzpNC0H9h1Jggo6lLJgfmaxpbBHdfneDHLZd51tJr3yRfEnDm6qHUscC1f2yU3fG64E00dE62PTmDnyGqPRjNEglFp3U04WMKJ89jcmRkhE+BdY5WNfLZu0yLFe8Wz5ERhl+kI6U4NLmP2+Rcuk++Ouvt4M+cP6Nh/NhH5D26mUGhgOigkIA+woQoiTPqCCAWWL4Sl1lZgtIyJMRMoqTY382g1F1Nz/3y/mqVLzn30nY7we9AWM7NL0NmgtJV4zFJXI03PmMxuiEufR+sEPpZl1CEUBI4JbKRcjsJjtIXLQWA/fO9zntoqJsmuf4vANogI7way66Fl+je2E91tnqBcGMMgxKkz116obIAQ/rRTvbzdqvp3IHyEXac1LmPP2xYu9D8h9cuiAlKMTBQHck4rcjYChXcPOQ4grM6z25uG4TaW1dMFX6LsgJMhTVxL9onRKsNK5h9LPiteylcIaZ9Td+HOeM6w0+O6YDSXCmNETWLIdL1lCqVSS66l/nEVr3Kp6XoASrZgRiHp6PO7onNWtm00/UacgXm8Y= - on_success: never - on_failure: always -branches: - only: - - master diff --git a/finish/pom.xml b/finish/pom.xml index e213b66..6658be7 100644 --- a/finish/pom.xml +++ b/finish/pom.xml @@ -106,10 +106,6 @@ org.apache.maven.plugins maven-war-plugin ${version.maven-war-plugin} - - false - pom.xml - diff --git a/scripts/dailyBuild.sh b/scripts/dailyBuild.sh new file mode 100755 index 0000000..032159f --- /dev/null +++ b/scripts/dailyBuild.sh @@ -0,0 +1,14 @@ +#!/bin/bash +while getopts t:d:b:u: flag; do + case "${flag}" in + t) DATE="${OPTARG}" ;; + d) DRIVER="${OPTARG}" ;; + b) BUILD="${OPTARG}" ;; + u) DOCKER_USERNAME="${OPTARG}" ;; + esac +done + +sed -i "\##,\##chttps://public.dhe.ibm.com/ibmdl/export/pub/software/openliberty/runtime/nightly/"$DATE"/"$DRIVER"" pom.xml +cat pom.xml + +../scripts/testApp.sh diff --git a/scripts/testApp.sh b/scripts/testApp.sh new file mode 100755 index 0000000..8e2382e --- /dev/null +++ b/scripts/testApp.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -euxo pipefail + +############################################################################## +## +## GH actions CI test script +## +############################################################################## + +mvn -q clean install diff --git a/start/pom.xml b/start/pom.xml index 6226912..a147f4d 100644 --- a/start/pom.xml +++ b/start/pom.xml @@ -106,10 +106,6 @@ org.apache.maven.plugins maven-war-plugin ${version.maven-war-plugin} - - false - pom.xml -