7
7
branches : [ master ]
8
8
9
9
jobs :
10
+ setup :
11
+ runs-on : ubuntu-latest
12
+ steps :
13
+ - uses : actions/checkout@v3
14
+ - uses : ./.github/setup
15
+ - run : bb -m tasks.ci/setup
10
16
check :
17
+ needs : [ setup ]
11
18
runs-on : ubuntu-latest
12
19
steps :
13
20
- uses : actions/checkout@v3
14
21
- uses : ./.github/setup
15
22
- run : bb check
16
23
test-clj :
24
+ needs : [ setup ]
17
25
runs-on : ubuntu-latest
18
26
steps :
19
27
- uses : actions/checkout@v3
20
28
- uses : ./.github/setup
21
29
- run : bb -m tasks.test/clj
22
30
test-cljs :
31
+ needs : [ setup ]
23
32
runs-on : ubuntu-latest
24
33
steps :
25
34
- uses : actions/checkout@v3
@@ -38,27 +47,93 @@ jobs:
38
47
github_token : ${{ secrets.GITHUB_TOKEN }}
39
48
publish_dir : ./target/pwa-release/
40
49
force_orphan : true
41
- deploy :
50
+ package :
42
51
runs-on : ubuntu-latest
43
52
needs : [ test-clj, test-cljs, check ]
44
53
if : startsWith(github.event.head_commit.message, 'Release ')
45
- environment : deploy
46
54
steps :
47
55
- uses : actions/checkout@v3
48
56
- uses : ./.github/setup
49
57
- id : info
50
58
run : bb -m tasks.info
51
- - run : bb -m tasks.deploy
52
- env :
53
- CLOJARS_PASSWORD : ${{ secrets.CLOJARS_PASSWORD }}
54
- CLOJARS_USERNAME : ${{ secrets.CLOJARS_USERNAME }}
55
- VSCE_PAT : ${{ secrets.VSCE_PAT }}
56
- OVSX_PAT : ${{ secrets.OVSX_PAT }}
57
- JETBRAINS_TOKEN : ${{ secrets.JETBRAINS_TOKEN }}
59
+ - run : bb pkg
60
+ - uses : actions/upload-artifact@v4
61
+ with :
62
+ name : jar
63
+ path : target/*.jar
64
+ - uses : actions/upload-artifact@v4
65
+ with :
66
+ name : extension-vscode
67
+ path : extension-vscode/*.vsix
68
+ - uses : actions/upload-artifact@v4
69
+ with :
70
+ name : extension-intellij
71
+ path : extension-intellij/build/distributions/*.zip
58
72
- uses : softprops/action-gh-release@v1
59
73
with :
60
74
tag_name : ${{ steps.info.outputs.version }}
61
75
files : |
62
76
target/*.jar
63
77
extension-vscode/*.vsix
64
78
extension-intellij/build/distributions/*.zip
79
+ deploy-clojars :
80
+ runs-on : ubuntu-latest
81
+ needs : [ package ]
82
+ environment : deploy
83
+ steps :
84
+ - uses : actions/checkout@v3
85
+ - uses : ./.github/setup
86
+ - uses : actions/download-artifact@v4
87
+ with :
88
+ name : jar
89
+ path : target/
90
+ - run : ls target/
91
+ - run : bb -m tasks.deploy/deploy-clojars
92
+ env :
93
+ CLOJARS_PASSWORD : ${{ secrets.CLOJARS_PASSWORD }}
94
+ CLOJARS_USERNAME : ${{ secrets.CLOJARS_USERNAME }}
95
+ deploy-vsx :
96
+ runs-on : ubuntu-latest
97
+ needs : [ package ]
98
+ environment : deploy
99
+ steps :
100
+ - uses : actions/checkout@v3
101
+ - uses : ./.github/setup
102
+ - uses : actions/download-artifact@v4
103
+ with :
104
+ name : extension-vscode
105
+ path : extension-vscode/
106
+ - run : ls extension-vscode/
107
+ - run : bb -m tasks.deploy/deploy-vscode
108
+ env :
109
+ VSCE_PAT : ${{ secrets.VSCE_PAT }}
110
+ deploy-open-vsx :
111
+ runs-on : ubuntu-latest
112
+ needs : [ package ]
113
+ environment : deploy
114
+ steps :
115
+ - uses : actions/checkout@v3
116
+ - uses : ./.github/setup
117
+ - uses : actions/download-artifact@v4
118
+ with :
119
+ name : extension-vscode
120
+ path : extension-vscode/
121
+ - run : ls extension-vscode/
122
+ - run : bb -m tasks.deploy/deploy-open-vsx
123
+ env :
124
+ OVSX_PAT : ${{ secrets.OVSX_PAT }}
125
+ deploy-intellij :
126
+ runs-on : ubuntu-latest
127
+ needs : [ package ]
128
+ environment : deploy
129
+ steps :
130
+ - uses : actions/checkout@v3
131
+ - uses : ./.github/setup
132
+ - uses : actions/download-artifact@v4
133
+ with :
134
+ name : extension-intellij
135
+ path : extension-intellij/build/distributions/
136
+ - run : ls extension-intellij/build/distributions/
137
+ - run : bb -m tasks.deploy/deploy-intellij
138
+ env :
139
+ JETBRAINS_TOKEN : ${{ secrets.JETBRAINS_TOKEN }}
0 commit comments