9
9
workflow_dispatch :
10
10
11
11
jobs :
12
- build-server-web :
12
+ build-web :
13
+ if : ${{!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')}}
14
+ runs-on : ubuntu-latest
15
+ steps :
16
+ - uses : actions/checkout@v4
17
+ - name : Install Npm
18
+ uses : actions/setup-node@v4
19
+ with :
20
+ node-version : 20
21
+
22
+ - name : Npm Build
23
+ working-directory : ./gogo-web
24
+ run : |
25
+ npm install
26
+ npm run build --omit=dev
27
+
28
+ - name : Archive artifacts
29
+ uses : actions/upload-artifact@v4
30
+ with :
31
+ name : gogo-web
32
+ path : ./gogo-web/dist/
33
+ retention-days : 1
34
+
35
+ build-server :
36
+ needs : [build-web]
13
37
runs-on : ${{ matrix.os }}
38
+ if : ${{!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')}}
14
39
strategy :
15
40
fail-fast : false
16
41
matrix :
@@ -44,23 +69,17 @@ jobs:
44
69
working-directory : ./gogo-server
45
70
run : cargo build --release ${{ matrix.target && '--target' }} ${{ matrix.target }}
46
71
47
- - name : Install Npm
48
- uses : actions/setup-node@v4
49
- with :
50
- node-version : 20
51
-
52
- - name : Npm Build
53
- working-directory : ./gogo-web
54
- run : |
55
- npm install
56
- npm run build --omit=dev
57
-
58
72
- name : Package common
59
73
run : |
60
74
mkdir package
61
- cp ./gogo-server/config.json package/config.json
62
- cp -r ./gogo-web/dist/gogo-web package/
63
-
75
+ cp ./gogo-server/config.json package/
76
+
77
+ - name : Download web package
78
+ uses : actions/download-artifact@v4
79
+ with :
80
+ name : gogo-web
81
+ path : package/
82
+
64
83
- name : Package Windows
65
84
if : runner.os == 'Windows'
66
85
run : |
@@ -80,11 +99,49 @@ jobs:
80
99
uses : actions/upload-artifact@v4
81
100
with :
82
101
name : server-web-${{ matrix.target }}
83
- path : ${{ env.PACKAGE_FILE }}
102
+ # path: ${{ env.PACKAGE_FILE }}
103
+ path : package/
84
104
retention-days : 7
85
105
86
106
# - name: Upload package
87
107
# if: runner.os != 'macOS'
88
108
# run: gh release upload "${{ needs.create-nightly-release.outputs.tag_name }}" "${{ env.PACKAGE_FILE }}"
89
109
# env:
90
- # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
110
+ # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
111
+ build-server-for-alpine :
112
+ needs : [build-web]
113
+ if : ${{!contains(github.event.head_commit.message, '[ci skip]') && !contains(github.event.head_commit.message, '[skip ci]')}}
114
+ runs-on : ubuntu-latest
115
+ container :
116
+ image : rust:alpine
117
+ volumes :
118
+ - ./gogo-server:/gogo-server
119
+ env :
120
+ RUST_TARGET : x86_64-unknown-linux-musl
121
+ steps :
122
+ - name : Clone repo
123
+ uses : actions/checkout@v4
124
+ - name : Install Rust toolchain
125
+ run : apk add --no-cache musl-dev openssl-dev
126
+ - name : Cargo build
127
+ run : |
128
+ ls -lh
129
+ cd gogo-server
130
+ cargo build --release --target ${{ env.RUST_TARGET }}
131
+ - name : Package
132
+ run : |
133
+ ls -lh
134
+ mkdir package
135
+ cp ./gogo-server/config.json package/
136
+ cp ./gogo-server/target/x86_64-unknown-linux-musl/release/gogo-server package/
137
+ - name : Download web package
138
+ uses : actions/download-artifact@v4
139
+ with :
140
+ name : gogo-web
141
+ path : package/
142
+ - name : Archive artifacts
143
+ uses : actions/upload-artifact@v4
144
+ with :
145
+ name : server-web-${{ env.RUST_TARGET }}
146
+ path : package/
147
+ retention-days : 7
0 commit comments