@@ -9,16 +9,18 @@ name: Continuous Integration
9
9
10
10
on :
11
11
pull_request :
12
- branches : ['**']
12
+ branches : ['**', '!update/**', '!pr/**' ]
13
13
push :
14
- branches : ['**']
14
+ branches : ['**', '!update/**', '!pr/**' ]
15
15
tags : [v*]
16
16
17
17
env :
18
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
19
- SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
18
+ PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
20
19
SONATYPE_PASSWORD : ${{ secrets.SONATYPE_PASSWORD }}
20
+ SONATYPE_CREDENTIAL_HOST : ${{ secrets.SONATYPE_CREDENTIAL_HOST }}
21
+ SONATYPE_USERNAME : ${{ secrets.SONATYPE_USERNAME }}
21
22
PGP_SECRET : ${{ secrets.PGP_SECRET }}
23
+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
22
24
23
25
jobs :
24
26
build :
27
29
matrix :
28
30
os : [ubuntu-latest]
29
31
scala : [2.11.12, 2.12.15, 2.13.7, 3.1.3]
30
- java : [temurin@11 ]
32
+ java : [temurin@8 ]
31
33
ci : [ciNode, ciFirefox, ciChrome, ciJSDOMNodeJS]
32
34
runs-on : ${{ matrix.os }}
33
35
steps :
@@ -36,12 +38,21 @@ jobs:
36
38
with :
37
39
fetch-depth : 0
38
40
39
- - name : Setup Java (temurin@11)
40
- if : matrix.java == 'temurin@11'
41
- uses : actions/setup-java@v2
41
+ - name : Download Java (temurin@8)
42
+ id : download-java-temurin-8
43
+ if : matrix.java == 'temurin@8'
44
+ uses : typelevel/download-java@v1
42
45
with :
43
46
distribution : temurin
44
- java-version : 11
47
+ java-version : 8
48
+
49
+ - name : Setup Java (temurin@8)
50
+ if : matrix.java == 'temurin@8'
51
+ uses : actions/setup-java@v2
52
+ with :
53
+ distribution : jdkfile
54
+ java-version : 8
55
+ jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
45
56
46
57
- name : Cache sbt
47
58
uses : actions/cache@v2
@@ -67,32 +78,41 @@ jobs:
67
78
run : npm install
68
79
69
80
- name : Check that workflows are up to date
70
- run : sbt ++${{ matrix.scala }} githubWorkflowCheck
81
+ run : sbt ' ++${{ matrix.scala }}' 'project /' githubWorkflowCheck
71
82
72
- - run : sbt ++${{ matrix.scala }} '${{ matrix.ci }}'
83
+ - run : sbt ' ++${{ matrix.scala }}' '${{ matrix.ci }}'
73
84
74
85
publish :
75
86
name : Publish Artifacts
76
87
needs : [build]
77
- if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v'))
88
+ if : github.event_name != 'pull_request' && (startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' )
78
89
strategy :
79
90
matrix :
80
91
os : [ubuntu-latest]
81
92
scala : [3.1.3]
82
- java : [temurin@11 ]
93
+ java : [temurin@8 ]
83
94
runs-on : ${{ matrix.os }}
84
95
steps :
85
96
- name : Checkout current branch (full)
86
97
uses : actions/checkout@v2
87
98
with :
88
99
fetch-depth : 0
89
100
90
- - name : Setup Java (temurin@11)
91
- if : matrix.java == 'temurin@11'
92
- uses : actions/setup-java@v2
101
+ - name : Download Java (temurin@8)
102
+ id : download-java-temurin-8
103
+ if : matrix.java == 'temurin@8'
104
+ uses : typelevel/download-java@v1
93
105
with :
94
106
distribution : temurin
95
- java-version : 11
107
+ java-version : 8
108
+
109
+ - name : Setup Java (temurin@8)
110
+ if : matrix.java == 'temurin@8'
111
+ uses : actions/setup-java@v2
112
+ with :
113
+ distribution : jdkfile
114
+ java-version : 8
115
+ jdkFile : ${{ steps.download-java-temurin-8.outputs.jdkFile }}
96
116
97
117
- name : Cache sbt
98
118
uses : actions/cache@v2
@@ -107,15 +127,15 @@ jobs:
107
127
key : ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }}
108
128
109
129
- name : Import signing key
110
- env :
111
- PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
130
+ if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE == ''
131
+ run : echo $PGP_SECRET | base64 -di | gpg --import
132
+
133
+ - name : Import signing key and strip passphrase
134
+ if : env.PGP_SECRET != '' && env.PGP_PASSPHRASE != ''
112
135
run : |
113
- echo "$PGP_SECRET" | base64 -d > /tmp/signing-key.gpg
136
+ echo "$PGP_SECRET" | base64 -di > /tmp/signing-key.gpg
114
137
echo "$PGP_PASSPHRASE" | gpg --pinentry-mode loopback --passphrase-fd 0 --import /tmp/signing-key.gpg
138
+ (echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase $(gpg --list-secret-keys --with-colons 2> /dev/null | grep '^sec:' | cut --delimiter ':' --fields 5 | tail -n 1)
115
139
116
- - name : Strip passphrase from signing key
117
- env :
118
- PGP_PASSPHRASE : ${{ secrets.PGP_PASSPHRASE }}
119
- run : (echo "$PGP_PASSPHRASE"; echo; echo) | gpg --command-fd 0 --pinentry-mode loopback --change-passphrase 5EBC14B0F6C55083
120
-
121
- - run : sbt ++${{ matrix.scala }} release
140
+ - name : Publish
141
+ run : sbt '++${{ matrix.scala }}' tlRelease
0 commit comments