1- # This workflow will build a Java project with Gradle
2- # For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-gradle
3-
4- name : BTrace CI/CD
5-
6- on :
7- push :
8- branches : [ develop, master ]
9- pull_request :
10- branches : [ develop ]
11- workflow_dispatch :
12-
13- defaults :
14- run :
15- shell : bash
16-
17- jobs :
18- build :
19- runs-on : ubuntu-latest
20- steps :
21- - name : Set up Java
22- uses : actions/setup-java@v1
23- with :
24- java-version : 8
25- - name : Checkout
26- uses : actions/checkout@v3
27- - name : Grant execute permission for gradlew
28- run : chmod +x gradlew
29- - name : Setup Gradle
30- uses : gradle/gradle-build-action@v2
31- - name : Build BTrace
32- run : ./gradlew -x test build
33- - name : Upload build data
34- if : always()
35- uses : actions/upload-artifact@v3
36- with :
37- name : build
38- path : |
39- btrace-dist/build
40- test :
41- needs : build
42- runs-on : ubuntu-latest
43- strategy :
44- matrix :
45- java : [8, 11, 17, 20]
46- steps :
47- - name : Set up Java ${{ matrix.java }}
48- uses : actions/setup-java@v1
49- with :
50- java-version : ${{ matrix.java }}
51- - name : Checkout
52- uses : actions/checkout@v3
53- - name : Grant execute permission for gradlew
54- run : chmod +x gradlew
55- - name : Setup Gradle
56- uses : gradle/gradle-build-action@v2
57- - name : Download build data
58- uses : actions/download-artifact@v3
59- with :
60- name : build
61- - name : Run tests
62- run : ./gradlew test
1+ all :
2+ runs-on : ubuntu-latest
3+ steps :
4+ - name : Set up Java 8
5+ uses : actions/setup-java@v1
6+ with :
7+ java-version : 8
8+ - name : Store JAVA_8_HOME
9+ run : JAVA_PATH=$(which java) && echo "JAVA_8_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV
10+ - name : Set up Java 17
11+ uses : actions/setup-java@v1
12+ with :
13+ java-version : 17
14+ - name : Store JAVA_17_HOME
15+ run : JAVA_PATH=$(which java) && echo "JAVA_17_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV
16+ - name : Store JAVA_19_HOME
17+ run : JAVA_PATH=$(which java) && echo "JAVA_19_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV
18+ - name : Set up Java 11
19+ uses : actions/setup-java@v1
20+ with :
21+ java-version : 11
22+ - name : Store JAVA_11_HOME
23+ run : JAVA_PATH=$(which java) && echo "JAVA_11_HOME=${JAVA_PATH/\/bin\/java/\/}" >> $GITHUB_ENV
24+ - name : Checkout
25+ uses : actions/checkout@v3
26+ - name : Grant execute permission for gradlew
27+ run : chmod +x gradlew
28+ - name : Setup Gradle
29+ uses : gradle/gradle-build-action@v2
30+ - name : Build
31+ run : JAVA_HOME="$JAVA_11_HOME" ./gradlew build -x test
32+ - name : Run Tests
33+ run : JAVA_HOME="$JAVA_11_HOME" ./run_tests.sh
34+ - name : Deploy Maven
35+ if : github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master'
36+ run : ./gradlew :btrace-dist:publish
37+ env :
38+ GPG_SIGNING_KEY : ${{ secrets.GPG_SIGNING_KEY }}
39+ GPG_SIGNING_PWD : ${{ secrets.GPG_SIGNING_PWD }}
40+ BTRACE_SONATYPE_USER : ${{ secrets.BTRACE_SONATYPE_USER }}
41+ BTRACE_SONATYPE_PWD : ${{ secrets.BTRACE_SONATYPE_PWD }}
42+ - name : Archive binary artifacts
43+ uses : actions/upload-artifact@v3
44+ with :
45+ name : binary-dist
46+ path : |
47+ btrace-dist/build/distributions/**/btrace-*-bin*.tar.gz
48+ - name : Archive reports
49+ if : always()
50+ uses : actions/upload-artifact@v3
51+ with :
52+ name : reports
53+ path : |
54+ btrace-instr/build/reports/**/*
0 commit comments