11name : release
22on :
33 create :
4- tags :
5- - ^[0-9]+\.[0-9]+\.[0-9]+
4+ tags : ['^[0-9]+\.[0-9]+\.[0-9]+']
65
76jobs :
7+ test :
8+ runs-on : ubuntu-20.04
9+ steps :
10+ # Set fetch-depth: 0 to fetch commit history and tags for use in version calculation
11+ - name : Check out code
12+ uses : actions/checkout@v2.3.4
13+ with :
14+ fetch-depth : 0
15+ submodules : true
16+
17+ - name : create checksum file
18+ uses : hypertrace/github-actions/checksum@main
19+
20+ - name : Cache packages
21+ id : cache-packages
22+ uses : actions/cache@v2
23+ with :
24+ path : ~/.gradle
25+ key : gradle-packages-${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/checksum.txt') }}
26+ restore-keys : |
27+ gradle-packages-${{ runner.os }}-${{ github.job }}
28+ gradle-packages-${{ runner.os }}
29+
30+ - name : build
31+ run : make build
32+ env :
33+ JVM_OPTS : -Xmx1g
34+ TERM : dumb
35+
36+ smoke-test :
37+ runs-on : ubuntu-20.04
38+ strategy :
39+ matrix :
40+ suite : [ "glassfish", "jetty", "liberty", "tomcat", "tomee", "wildfly", "other" ]
41+ fail-fast : true
42+ steps :
43+ # Set fetch-depth: 0 to fetch commit history and tags for use in version calculation
44+ - name : Check out code
45+ uses : actions/checkout@v2.3.4
46+ with :
47+ fetch-depth : 0
48+ submodules : true
49+
50+ - name : create checksum file
51+ uses : hypertrace/github-actions/checksum@main
52+
53+ - name : Cache packages
54+ id : cache-packages
55+ uses : actions/cache@v2
56+ with :
57+ path : ~/.gradle
58+ key : gradle-packages-${{ runner.os }}-${{ github.job }}-${{ hashFiles('**/checksum.txt') }}
59+ restore-keys : |
60+ gradle-packages-${{ runner.os }}-${{ github.job }}
61+ gradle-packages-${{ runner.os }}
62+
63+ - name : smoke-test
64+ run : make smoke-test SMOKE_TEST_SUITE=${{ matrix.suite }}
65+ env :
66+ JVM_OPTS : -Xmx1g
67+ TERM : dumb
68+
869 release :
70+ needs : [ test, smoke-test ]
971 runs-on : ubuntu-20.04
1072 steps :
1173 # Set fetch-depth: 0 to fetch commit history and tags for use in version calculation
@@ -28,41 +90,31 @@ jobs:
2890 gradle-packages-${{ runner.os }}-${{ github.job }}
2991 gradle-packages-${{ runner.os }}
3092
31- # - name: build
32- # run: make build
33- # env:
34- # JVM_OPTS: -Xmx1g
35- # TERM: dumb
93+ - name : Release jars
94+ run : |
95+ echo "Releasing version:" && ./gradlew printVersion clean
96+ ORG_GRADLE_PROJECT_signingKey=$(echo $SIGNING_KEY | base64 -d) ./gradlew publish
97+ ./gradlew closeAndReleaseRepository
98+ env :
99+ JVM_OPTS : -Xmx1g
100+ TERM : dumb
101+ ORG_GRADLE_PROJECT_ossrhUsername : ${{ secrets.ORG_GRADLE_PROJECT_OSSRHUSERNAME }}
102+ ORG_GRADLE_PROJECT_ossrhPassword : ${{ secrets.ORG_GRADLE_PROJECT_OSSRHPASSWORD }}
103+ ORG_GRADLE_PROJECT_signingKeyId : ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }}
104+ ORG_GRADLE_PROJECT_signingPassword : ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
105+ SIGNING_KEY : ${{ secrets.MAVEN_SIGNING_KEY }}
36106
37- # - name: Set signing key
38- # run: echo "ORG_GRADLE_PROJECT_signingKey=$(echo $SIGNING_KEY | base64 -d)" >> $GITHUB_ENV
39- # env:
40- # SIGNING_KEY: ${{ secrets.MAVEN_SIGNING_KEY }}
41- #
42- # - name: Print signing key
43- # run: echo $ORG_GRADLE_PROJECT_signingKey
107+ - name : Release docker image
108+ run : |
109+ echo $DOCKER_PASSWORD | docker login --username $DOCKER_USERNAME --password-stdin
110+ DOCKER_TAG=${GITHUB_REF##*/} make docker docker-push
111+ env :
112+ DOCKER_USERNAME : ${{ secrets.DOCKERHUB_PUBLISH_USER }}
113+ DOCKER_PASSWORD : ${{ secrets.DOCKERHUB_PUBLISH_TOKEN }}
44114
45- # - name: publish to maven
46- # run: ./gradlew publish closeAndReleaseRepository
47- # env:
48- # JVM_OPTS: -Xmx1g
49- # TERM: dumb
50- # ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.ORG_GRADLE_PROJECT_OSSRHUSERNAME }}
51- # ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.ORG_GRADLE_PROJECT_OSSRHPASSWORD }}
52- # ORG_GRADLE_PROJECT_signingKeyId: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGKEYID }}
53- # ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.ORG_GRADLE_PROJECT_SIGNINGPASSWORD }}
54- # SIGNING_KEY: ${{ secrets.MAVEN_SIGNING_KEY }}
55- # ORG_GRADLE_PROJECT_signingKey: ${{ secrets.MAVEN_SIGNING_KEY }}
56- #
57- # - name: Set release version env
58- # run: echo "RELEASE_VERSION=${GITHUB_REF#refs/*/}" >> $GITHUB_ENV
59- #
60- # - name: List build artifacts
61- # run: ls ./javaagent/build/libs
62- #
63- # - name: Create github release
64- # uses: fnkr/github-action-ghr@v1
65- # if: startsWith(github.ref, 'refs/tags/')
66- # env:
67- # GHR_PATH: ./javaagent/build/libs
68- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
115+ - name : Upload jars to release page
116+ run : |
117+ export TAG=${GITHUB_REF##*/}
118+ gh release create ${TAG} --title "Release ${TAG}" javaagent/build/libs/*-all.jar
119+ env :
120+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
0 commit comments