@@ -3,6 +3,7 @@ name: Publish toolkit
3
3
on :
4
4
release :
5
5
types : [published]
6
+ workflow_dispatch :
6
7
7
8
env :
8
9
OSSRH_USERNAME : ${{ secrets.OSSRH_USERNAME }}
@@ -25,14 +26,35 @@ jobs:
25
26
- name : Setup Scala CLI
26
27
uses : VirtusLab/scala-cli-setup@main
27
28
28
- - name : Publish Toolkit locally for JVM
29
- run : scala-cli --power publish local --cross Toolkit.scala publish-conf.scala
30
-
31
- - name : Publish Toolkit locally for native
32
- run : scala-cli --power publish local --cross --native Toolkit.scala publish-conf.scala
33
29
34
- - name : Publish Toolkit locally for JS
35
- run : scala-cli --power publish local --cross --js Toolkit.scala publish-conf.scala
30
+ - name : Import GPG key
31
+ id : import_gpg
32
+ run : |
33
+ echo "${{ secrets.PGP_SECRET }}" | base64 --decode > private.key
34
+ gpg --import --batch --yes --pinentry-mode loopback --passphrase "${{ secrets.PGP_PASSPHRASE }}" private.key
35
+ echo "fingerprint=$(gpg --list-secret-keys --with-colons | awk -F: '/^fpr:/ { print $10 }')" >> $GITHUB_ENV
36
+ rm private.key
37
+ with :
38
+ gpg_private_key : ${{ secrets.PGP_SECRET }}
39
+ passphrase : ${{ secrets.PGP_PASSPHRASE }}
40
+
41
+ - name : Local publish Toolkit for JVM
42
+ run : for i in {1..5}; do scala-cli --power publish local --cross Toolkit.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
43
+ continue-on-error : true
44
+ env :
45
+ PGP_KEY_ID : ${{ steps.import_gpg.outputs.fingerprint }}
46
+
47
+ - name : Local publish Toolkit for native
48
+ run : for i in {1..5}; do scala-cli --power publish local --cross --native Toolkit.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
49
+ continue-on-error : true
50
+ env :
51
+ PGP_KEY_ID : ${{ steps.import_gpg.outputs.fingerprint }}
52
+
53
+ - name : Local publish Toolkit for js
54
+ run : for i in {1..5}; do scala-cli --power publish local --cross --js Toolkit.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
55
+ continue-on-error : true
56
+ env :
57
+ PGP_KEY_ID : ${{ steps.import_gpg.outputs.fingerprint }}
36
58
37
59
- name : Publish Toolkit for JVM
38
60
run : scala-cli --power publish --cross Toolkit.scala publish-conf.scala
0 commit comments