# This workflow will build a Java project with Gradle # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle name: BTrace CI/CD on: push: branches: [ develop, master ] pull_request: branches: [ develop ] workflow_dispatch: defaults: run: shell: bash jobs: all: runs-on: ubuntu-latest steps: - name: Set up Java 8 uses: actions/setup-java@v1 with: java-version: 8 - name: Store JAVA_8_HOME run: JAVA_PATH=$(which java) && echo "JAVA_8_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Set up Java 9 uses: actions/setup-java@v1 with: java-version: 9 - name: Store JAVA_9_HOME run: JAVA_PATH=$(which java) && echo "JAVA_9_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Set up Java 16 uses: actions/setup-java@v1 with: java-version: 16 - name: Store JAVA_16_HOME run: JAVA_PATH=$(which java) && echo "JAVA_16_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Set up Java 17 uses: actions/setup-java@v1 with: java-version: 17 - name: Store JAVA_17_HOME run: JAVA_PATH=$(which java) && echo "JAVA_17_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Set up Java 18 uses: actions/setup-java@v1 with: java-version: 18 - name: Store JAVA_18_HOME run: JAVA_PATH=$(which java) && echo "JAVA_18_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Set up Java 11 uses: actions/setup-java@v1 with: java-version: 11 - name: Store JAVA_11_HOME run: JAVA_PATH=$(which java) && echo "JAVA_11_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV - name: Checkout uses: actions/checkout@v2 - name: Grant execute permission for gradlew run: chmod +x gradlew - name: Build run: JAVA_HOME="$JAVA_11_HOME" ./gradlew build -x test - name: Run Tests run: JAVA_HOME="$JAVA_11_HOME" ./run_tests.sh - name: Deploy Maven if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' run: ./gradlew :btrace-dist:publish env: GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} GPG_SIGNING_PWD: ${{ secrets.GPG_SIGNING_PWD }} BTRACE_SONATYPE_USER: ${{ secrets.BTRACE_SONATYPE_USER }} BTRACE_SONATYPE_PWD: ${{ secrets.BTRACE_SONATYPE_PWD }} - name: Archive binary artifacts uses: actions/upload-artifact@v2 with: name: binary-dist path: | btrace-dist/build/distributions/**/btrace-*-bin*.tar.gz - name: Archive reports if: always() uses: actions/upload-artifact@v2 with: name: reports path: | btrace-instr/build/reports/**/*