1
1
name : release
2
2
on :
3
3
create :
4
- tags :
5
- - ^[0-9]+\.[0-9]+\.[0-9]+
4
+ tags : ['^[0-9]+\.[0-9]+\.[0-9]+']
6
5
7
6
jobs :
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
+
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
+
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
+
8
69
release :
70
+ needs : [ test, smoke-test ]
9
71
runs-on : ubuntu-20.04
10
72
steps :
11
73
# Set fetch-depth: 0 to fetch commit history and tags for use in version calculation
@@ -28,41 +90,31 @@ jobs:
28
90
gradle-packages-${{ runner.os }}-${{ github.job }}
29
91
gradle-packages-${{ runner.os }}
30
92
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 }}
36
106
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 }}
44
114
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