66 - main
77 paths :
88 - ' packages/java/**'
9+ - ' .github/**'
910
1011jobs :
1112 build-and-deploy-core :
@@ -23,20 +24,33 @@ jobs:
2324 java-version : ' 17'
2425
2526 - name : Configure Maven settings.xml
26- run : echo "${{ secrets.MAVEN_SETTINGS }}" > ~/.m2/settings.xml
27-
28- - name : Build & Test metrics-core
29- working-directory : packages/java
30- run : mvn clean verify
27+ run : |
28+ mkdir -p ~/.m2
29+ echo "${{ secrets.MAVEN_SETTINGS }}" | base64 --decode > ~/.m2/settings.xml
3130
32- - name : Import GPG Key
31+ - name : Import GPG key
3332 run : |
34- echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --import
33+ set +e
34+ echo "$GPG_PRIVATE_KEY" | tr -d '\r' | sed '1s/^\xEF\xBB\xBF//' | sed '/^\s*$/d' | sed 's/^[ \t]*//;s/[ \t]*$//' > clean_gpg_key.asc
35+ gpg --batch --import clean_gpg_key.asc
36+ GPG_EXIT_CODE=$?
37+
38+ set -e
39+ if [ $GPG_EXIT_CODE -ge 3 ]; then
40+ echo "GPG import failed with code $GPG_EXIT_CODE"
41+ exit $GPG_EXIT_CODE
42+ else
43+ echo "GPG key imported successfully"
44+ fi
3545 env :
3646 GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
3747
48+ - name : Build & Test metrics-core
49+ working-directory : packages/java/metrics-core
50+ run : mvn clean verify -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
51+
3852 - name : Deploy metrics-core
39- working-directory : packages/java
53+ working-directory : packages/java/metrics-core
4054 run : mvn deploy -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
4155
4256 build-and-deploy-for-spring3 :
@@ -55,18 +69,35 @@ jobs:
5569 java-version : ' 17'
5670
5771 - name : Configure Maven settings.xml
58- run : echo "${{ secrets.MAVEN_SETTINGS }}" > ~/.m2/settings.xml
59-
60- - name : Build & Test metrics-spring
61- working-directory : packages/java/metrics-spring
62- run : mvn clean verify
72+ run : |
73+ mkdir -p ~/.m2
74+ echo "${{ secrets.MAVEN_SETTINGS }}" | base64 --decode > ~/.m2/settings.xml
6375
6476 - name : Import GPG Key
6577 run : |
66- echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --import
78+ set +e
79+ echo "$GPG_PRIVATE_KEY" | tr -d '\r' | sed '1s/^\xEF\xBB\xBF//' | sed '/^\s*$/d' | sed 's/^[ \t]*//;s/[ \t]*$//' > clean_gpg_key.asc
80+ gpg --batch --import clean_gpg_key.asc
81+ GPG_EXIT_CODE=$?
82+
83+ set -e
84+ if [ $GPG_EXIT_CODE -ge 3 ]; then
85+ echo "GPG import failed with code $GPG_EXIT_CODE"
86+ exit $GPG_EXIT_CODE
87+ else
88+ echo "GPG key imported successfully"
89+ fi
6790 env :
6891 GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
6992
93+ - name : Build metrics-core for dependency
94+ working-directory : packages/java/metrics-core
95+ run : mvn clean install -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
96+
97+ - name : Build & Test metrics-spring
98+ working-directory : packages/java/metrics-spring
99+ run : mvn clean verify -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
100+
70101 - name : Deploy metrics-spring
71102 working-directory : packages/java/metrics-spring
72103 run : mvn deploy -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
@@ -87,19 +118,34 @@ jobs:
87118 java-version : ' 17'
88119
89120 - name : Configure Maven settings.xml
90- run : echo "${{ secrets.MAVEN_SETTINGS }}" > ~/.m2/settings.xml
91-
92- - name : Build & Test metrics-spring2
93- working-directory : packages/java/metrics-spring2
94- run : mvn clean verify
121+ run : |
122+ mkdir -p ~/.m2
123+ echo "${{ secrets.MAVEN_SETTINGS }}" | base64 --decode > ~/.m2/settings.xml
95124
96125 - name : Import GPG Key
97126 run : |
98- echo "$GPG_PRIVATE_KEY" | base64 --decode | gpg --batch --import
127+ set +e
128+ echo "$GPG_PRIVATE_KEY" | tr -d '\r' | sed '1s/^\xEF\xBB\xBF//' | sed '/^\s*$/d' | sed 's/^[ \t]*//;s/[ \t]*$//' > clean_gpg_key.asc
129+ gpg --batch --import clean_gpg_key.asc GPG_EXIT_CODE=$?
130+
131+ set -e
132+ if [ $GPG_EXIT_CODE -ge 3 ]; then
133+ echo "GPG import failed with code $GPG_EXIT_CODE"
134+ exit $GPG_EXIT_CODE
135+ else
136+ echo "GPG key imported successfully"
137+ fi
99138 env :
100139 GPG_PRIVATE_KEY : ${{ secrets.GPG_PRIVATE_KEY }}
101140
141+ - name : Build metrics-core for dependency
142+ working-directory : packages/java/metrics-core
143+ run : mvn clean install -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
144+
145+ - name : Build & Test metrics-spring2
146+ working-directory : packages/java/metrics-spring2
147+ run : mvn clean verify -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
148+
102149 - name : Deploy metrics-spring2
103150 working-directory : packages/java/metrics-spring2
104151 run : mvn deploy -Dgpg.passphrase=${{ secrets.GPG_PASSPHRASE }}
105-
0 commit comments