Skip to content

Commit 3e48913

Browse files
committed
refactor: 构建流程
1 parent b9e7fc7 commit 3e48913

File tree

7 files changed

+150
-35
lines changed

7 files changed

+150
-35
lines changed

.github/workflows/release.yml

Lines changed: 92 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@ on:
1616
# workflow_dispatch:
1717

1818
jobs:
19-
build:
20-
name: Build tar.gz AppImage
19+
build-src:
20+
name: Build Base Packages
2121
runs-on: ubuntu-latest
2222

2323
strategy:
@@ -53,24 +53,89 @@ jobs:
5353
export NO_WINE=false
5454
export DOCKER_UID=$UID
5555
export DOCKER_GID=$GID
56-
# tar.gz AppImage
5756
ls -l
57+
export NO_WINE=false
5858
docker-compose up
59-
mkdir -p tmp/build
60-
tools/build-release.sh ${{ matrix.ARCH }} ${{ steps.tag.outputs.tag }}
59+
60+
- name: Compress Resources
61+
run: |
62+
ls -l
63+
mkdir -p tmp/src
64+
cp node/bin/node package.nw/node
65+
cd package.nw && rm -rf node.exe node && ln -s node.exe node
66+
cd ..
67+
tar -zcf tmp/src/src-wine.tar.gz bin nwjs package.nw tools
68+
export NO_WINE=true
69+
"tools/fix-core.sh"
70+
"tools/fix-other.sh"
71+
tar -zcf tmp/src/src-no-wine.tar.gz bin nwjs package.nw tools
6172
6273
- name: Compress nodegit compiler
6374
run: |
6475
ls -l
65-
cp -r package.nw/node_modules/nodegit tmp/build/nodegit
66-
cp -r compiler tmp/build/compiler
67-
cd tmp/build
68-
ls -l
76+
mkdir -p tmp/build
77+
cp -r package.nw/node_modules/nodegit .
6978
sudo rm -rf compiler/test
7079
tar -zcf compiler.tar.gz compiler
7180
tar -zcf nodegit.tar.gz nodegit
72-
rm -rf compiler nodegit
81+
mv nodegit.tar.gz tmp/build
82+
mv compiler.tar.gz tmp/build
83+
cd tmp/build
84+
ls -l
85+
86+
- name: View Directory
87+
run: |
88+
ls -l
89+
90+
- name: Upload artifact
91+
uses: actions/upload-artifact@v2.3.1
92+
with:
93+
# Artifact name
94+
name: wechat-devtools-${{ matrix.ARCH }}.src
95+
path: tmp/src
96+
97+
build-tar:
98+
name: Build tar.gz AppImage
99+
needs:
100+
- build-src
101+
runs-on: ubuntu-latest
102+
103+
strategy:
104+
matrix:
105+
ARCH: ['x86_64']
106+
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
107+
108+
steps:
109+
- uses: actions/checkout@v2
110+
- name: Download artifacts
111+
uses: actions/download-artifact@v2
112+
113+
- name: Test
114+
run: |
115+
echo "$UID, $GID"
116+
117+
- name: Generate TAG
118+
id: Tag
119+
run: |
120+
tag='continuous'
121+
name='Continuous Build'
122+
if [ 'true' == ${{ startsWith(github.ref, 'refs/tags/') }} ];then
123+
tag='${{ github.ref_name }}'
124+
name='${{ github.ref_name }}'
125+
fi
126+
echo "tag result: $tag - $name"
127+
echo "::set-output name=tag::$tag"
128+
echo "::set-output name=name::$name"
129+
130+
- name: Build
131+
run: |
132+
export NO_WINE=false
133+
export ACTION_MODE=true
134+
# tar.gz AppImage
73135
ls -l
136+
mkdir -p tmp/build
137+
tools/build-prepare.sh
138+
tools/build-release.sh ${{ matrix.ARCH }} ${{ steps.tag.outputs.tag }}
74139
75140
- name: View Directory
76141
run: |
@@ -85,6 +150,8 @@ jobs:
85150

86151
build-deb:
87152
name: Build Deb Package
153+
needs:
154+
- build-src
88155
runs-on: ubuntu-18.04
89156

90157
strategy:
@@ -94,8 +161,8 @@ jobs:
94161

95162
steps:
96163
- uses: actions/checkout@v2
97-
- name: Use Node.js ${{ matrix.node-version }}
98-
uses: actions/setup-node@v2
164+
- name: Download artifacts
165+
uses: actions/download-artifact@v2
99166

100167
- name: Generate TAG
101168
id: Tag
@@ -113,12 +180,12 @@ jobs:
113180
- name: Build Deb Package
114181
run: |
115182
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
116-
export DOCKER_UID=$UID
117-
export DOCKER_GID=$GID
118-
export ACTION_MODE=true
119-
docker-compose up
120183
ls -l
121184
mkdir -p tmp/build
185+
tools/build-prepare.sh
186+
tools/build-deb.sh ${{ steps.tag.outputs.tag }}
187+
export NO_WINE=true
188+
tools/build-prepare.sh
122189
tools/build-deb.sh ${{ steps.tag.outputs.tag }}
123190
124191
- name: Upload artifact
@@ -130,6 +197,8 @@ jobs:
130197

131198
build-deepin:
132199
name: Build Deepin Package
200+
needs:
201+
- build-src
133202
runs-on: ubuntu-18.04
134203

135204
strategy:
@@ -139,8 +208,8 @@ jobs:
139208

140209
steps:
141210
- uses: actions/checkout@v2
142-
- name: Use Node.js ${{ matrix.node-version }}
143-
uses: actions/setup-node@v2
211+
- name: Download artifacts
212+
uses: actions/download-artifact@v2
144213

145214
- name: Generate TAG
146215
id: Tag
@@ -158,12 +227,12 @@ jobs:
158227
- name: Build Deepin Package
159228
run: |
160229
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
161-
export DOCKER_UID=$UID
162-
export DOCKER_GID=$GID
163-
export ACTION_MODE=true
164-
docker-compose up
165230
ls -l
166231
mkdir -p tmp/build
232+
tools/build-prepare.sh
233+
tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
234+
export NO_WINE=true
235+
tools/build-prepare.sh
167236
tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
168237
169238
- name: Upload artifact
@@ -249,7 +318,7 @@ jobs:
249318
upload:
250319
name: Create release and upload artifacts
251320
needs:
252-
- build
321+
- build-tar
253322
- build-deb
254323
- build-deepin
255324
- build-arch

readme.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
[![wechat-tools](https://img.shields.io/badge/wechat--devtools-1.05.2203070-yellow)](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
1414
[![nwjs](https://img.shields.io/badge/nwjs-0.53.1-green)](https://nwjs.io/downloads/)
1515
[![node](https://img.shields.io/badge/node-16.1.0-orange)](https://nodejs.org/en/)
16+
[![node](https://img.shields.io/badge/aur-1.05.2203070-blue)](https://aur.archlinux.org/packages/wechat-devtools)
1617

1718
这是微信开发者工具 Linux版
1819

tools/build-appimage.sh

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,11 @@ chmod +x "$app_dir/AppRun"
8181

8282
cp -r "$root_dir/package.nw" "$app_dir/package.nw"
8383
cp -r "$root_dir/nwjs" "$app_dir/nwjs"
84-
rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe"
85-
cp -r "$root_dir/node/bin/node" "$app_dir/nwjs/node"
86-
cd "$app_dir/nwjs/" && ln -s "node" "node.exe"
84+
if [ -f $root_dir/node/bin/node ];then
85+
rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe"
86+
cp "$root_dir/node/bin/node" "$app_dir/nwjs/node"
87+
cd "$app_dir/nwjs/" && ln -s "node" "node.exe"
88+
fi
8789
cd "$app_dir"
8890

8991
# appimagetool $app_dir

tools/build-deb.sh

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,11 +60,19 @@ cp "$root_dir/res/icons/wechat-devtools.svg" "$app_dir/usr/share/icons/wechat-de
6060
cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw"
6161
cp -r "$root_dir/nwjs" "$app_dir/opt/wechat-devtools/nwjs"
6262
rm -rf "$app_dir/opt/wechat-devtools/nwjs"/{node,node.exe}
63-
cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node"
64-
cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe"
63+
if [ -f "$root_dir/node/bin/node" ];then
64+
cd "$app_dir/opt/wechat-devtools/nwjs" && rm -rf node node.exe
65+
cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node"
66+
cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe"
67+
fi
6568

6669
notice "BUILD DEB Package"
6770
cd "$root_dir/tmp/deb"
6871
ls -l "$root_dir/tmp/deb"
6972
mkdir -p "$root_dir/tmp/build"
70-
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64.deb"
73+
if [[ $NO_WINE == 'true' ]];then
74+
BUILD_MARK='no_wine'
75+
else
76+
BUILD_MARK='wine'
77+
fi
78+
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}.deb"

tools/build-deepin.sh

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,20 @@ sed -i "s#dir#/opt/apps/$package_name/files/bin#" "$base_dir/entries/application
6161

6262
cp -r "$root_dir/package.nw" "$base_dir/files/bin/package.nw"
6363
cp -r "$root_dir/nwjs" "$base_dir/files/bin/nwjs"
64-
rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe}
65-
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
66-
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
64+
if [ -f "$root_dir/node/bin/node" ];then
65+
rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe}
66+
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
67+
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
68+
fi
6769

6870
notice "BUILD DEB Package"
6971
cd "$build_dir"
7072
ls -l "$build_dir"
7173
mkdir -p "$root_dir/tmp/build"
72-
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_deepin_amd64.deb"
74+
75+
if [[ $NO_WINE == 'true' ]];then
76+
BUILD_MARK='no_wine'
77+
else
78+
BUILD_MARK='wine'
79+
fi
80+
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb"

tools/build-prepare.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
#!/bin/bash
2+
3+
# 脚本执行前提,已完成支持wine的基本构建
4+
set -e
5+
success() {
6+
echo -e "\033[42;37m 成功 \033[0m $1"
7+
}
8+
notice() {
9+
echo -e "\033[36m $1 \033[0m "
10+
}
11+
fail() {
12+
echo -e "\033[41;37m 失败 \033[0m $1"
13+
}
14+
15+
root_dir=$(cd `dirname $0`/.. && pwd -P)
16+
tmp_dir="$root_dir/tmp"
17+
store_dir="$tmp_dir/build"
18+
mkdir -p $store_dir
19+
rm -rf nwjs package.nw
20+
if [[ $NO_WINE == 'true' ]];then
21+
tar -zxf wechat-devtools-*.src/src-no-wine.tar.gz -C .
22+
else
23+
tar -zxf wechat-devtools-*.src/src-wine.tar.gz -C .
24+
fi

tools/build-tar.sh

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,11 @@ notice "COPY bin"
5858
notice "COPY nwjs"
5959
\cp -drf "$root_dir/nwjs" "$build_dir/nwjs"
6060
notice "COPY node"
61-
rm -rf "$build_dir/nwjs/node"
62-
\cp -rf "$root_dir/node/bin/node" "$build_dir/nwjs/node"
61+
if [ -f "$root_dir/node/bin/node" ];then
62+
cd $build_dir/nwjs && rm -rf node node.exe
63+
\cp -rf "$root_dir/node/bin/node" "$build_dir/nwjs/node"
64+
cd "$build_dir/nwjs" && ln -s node.exe node
65+
fi
6366
notice "COPY package.nw"
6467
\cp -rf "$root_dir/package.nw" "$build_dir/package.nw"
6568

0 commit comments

Comments
 (0)