mirror of
https://github.com/msojocs/wechat-web-devtools-linux.git
synced 2025-07-07 00:02:14 +08:00
refactor: 构建流程
This commit is contained in:
parent
b9e7fc7381
commit
3e489139c0
115
.github/workflows/release.yml
vendored
115
.github/workflows/release.yml
vendored
@ -16,8 +16,8 @@ on:
|
||||
# workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
name: Build tar.gz AppImage
|
||||
build-src:
|
||||
name: Build Base Packages
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
@ -53,29 +53,94 @@ jobs:
|
||||
export NO_WINE=false
|
||||
export DOCKER_UID=$UID
|
||||
export DOCKER_GID=$GID
|
||||
# tar.gz AppImage
|
||||
ls -l
|
||||
export NO_WINE=false
|
||||
docker-compose up
|
||||
mkdir -p tmp/build
|
||||
tools/build-release.sh ${{ matrix.ARCH }} ${{ steps.tag.outputs.tag }}
|
||||
|
||||
- name: Compress Resources
|
||||
run: |
|
||||
ls -l
|
||||
mkdir -p tmp/src
|
||||
cp node/bin/node package.nw/node
|
||||
cd package.nw && rm -rf node.exe node && ln -s node.exe node
|
||||
cd ..
|
||||
tar -zcf tmp/src/src-wine.tar.gz bin nwjs package.nw tools
|
||||
export NO_WINE=true
|
||||
"tools/fix-core.sh"
|
||||
"tools/fix-other.sh"
|
||||
tar -zcf tmp/src/src-no-wine.tar.gz bin nwjs package.nw tools
|
||||
|
||||
- name: Compress nodegit compiler
|
||||
run: |
|
||||
ls -l
|
||||
cp -r package.nw/node_modules/nodegit tmp/build/nodegit
|
||||
cp -r compiler tmp/build/compiler
|
||||
cd tmp/build
|
||||
ls -l
|
||||
mkdir -p tmp/build
|
||||
cp -r package.nw/node_modules/nodegit .
|
||||
sudo rm -rf compiler/test
|
||||
tar -zcf compiler.tar.gz compiler
|
||||
tar -zcf nodegit.tar.gz nodegit
|
||||
rm -rf compiler nodegit
|
||||
mv nodegit.tar.gz tmp/build
|
||||
mv compiler.tar.gz tmp/build
|
||||
cd tmp/build
|
||||
ls -l
|
||||
|
||||
- name: View Directory
|
||||
run: |
|
||||
ls -l
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2.3.1
|
||||
with:
|
||||
# Artifact name
|
||||
name: wechat-devtools-${{ matrix.ARCH }}.src
|
||||
path: tmp/src
|
||||
|
||||
build-tar:
|
||||
name: Build tar.gz AppImage
|
||||
needs:
|
||||
- build-src
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
ARCH: ['x86_64']
|
||||
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
|
||||
- name: Test
|
||||
run: |
|
||||
echo "$UID, $GID"
|
||||
|
||||
- name: Generate TAG
|
||||
id: Tag
|
||||
run: |
|
||||
tag='continuous'
|
||||
name='Continuous Build'
|
||||
if [ 'true' == ${{ startsWith(github.ref, 'refs/tags/') }} ];then
|
||||
tag='${{ github.ref_name }}'
|
||||
name='${{ github.ref_name }}'
|
||||
fi
|
||||
echo "tag result: $tag - $name"
|
||||
echo "::set-output name=tag::$tag"
|
||||
echo "::set-output name=name::$name"
|
||||
|
||||
- name: Build
|
||||
run: |
|
||||
export NO_WINE=false
|
||||
export ACTION_MODE=true
|
||||
# tar.gz AppImage
|
||||
ls -l
|
||||
mkdir -p tmp/build
|
||||
tools/build-prepare.sh
|
||||
tools/build-release.sh ${{ matrix.ARCH }} ${{ steps.tag.outputs.tag }}
|
||||
|
||||
- name: View Directory
|
||||
run: |
|
||||
ls -l
|
||||
|
||||
- name: Upload artifact
|
||||
uses: actions/upload-artifact@v2.3.1
|
||||
with:
|
||||
@ -85,6 +150,8 @@ jobs:
|
||||
|
||||
build-deb:
|
||||
name: Build Deb Package
|
||||
needs:
|
||||
- build-src
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
strategy:
|
||||
@ -94,8 +161,8 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
|
||||
- name: Generate TAG
|
||||
id: Tag
|
||||
@ -113,12 +180,12 @@ jobs:
|
||||
- name: Build Deb Package
|
||||
run: |
|
||||
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
|
||||
export DOCKER_UID=$UID
|
||||
export DOCKER_GID=$GID
|
||||
export ACTION_MODE=true
|
||||
docker-compose up
|
||||
ls -l
|
||||
mkdir -p tmp/build
|
||||
tools/build-prepare.sh
|
||||
tools/build-deb.sh ${{ steps.tag.outputs.tag }}
|
||||
export NO_WINE=true
|
||||
tools/build-prepare.sh
|
||||
tools/build-deb.sh ${{ steps.tag.outputs.tag }}
|
||||
|
||||
- name: Upload artifact
|
||||
@ -130,6 +197,8 @@ jobs:
|
||||
|
||||
build-deepin:
|
||||
name: Build Deepin Package
|
||||
needs:
|
||||
- build-src
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
strategy:
|
||||
@ -139,8 +208,8 @@ jobs:
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Use Node.js ${{ matrix.node-version }}
|
||||
uses: actions/setup-node@v2
|
||||
- name: Download artifacts
|
||||
uses: actions/download-artifact@v2
|
||||
|
||||
- name: Generate TAG
|
||||
id: Tag
|
||||
@ -158,12 +227,12 @@ jobs:
|
||||
- name: Build Deepin Package
|
||||
run: |
|
||||
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
|
||||
export DOCKER_UID=$UID
|
||||
export DOCKER_GID=$GID
|
||||
export ACTION_MODE=true
|
||||
docker-compose up
|
||||
ls -l
|
||||
mkdir -p tmp/build
|
||||
tools/build-prepare.sh
|
||||
tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
|
||||
export NO_WINE=true
|
||||
tools/build-prepare.sh
|
||||
tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
|
||||
|
||||
- name: Upload artifact
|
||||
@ -249,7 +318,7 @@ jobs:
|
||||
upload:
|
||||
name: Create release and upload artifacts
|
||||
needs:
|
||||
- build
|
||||
- build-tar
|
||||
- build-deb
|
||||
- build-deepin
|
||||
- build-arch
|
||||
|
@ -13,6 +13,7 @@
|
||||
[](https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html)
|
||||
[](https://nwjs.io/downloads/)
|
||||
[](https://nodejs.org/en/)
|
||||
[](https://aur.archlinux.org/packages/wechat-devtools)
|
||||
|
||||
这是微信开发者工具 Linux版
|
||||
|
||||
|
@ -81,9 +81,11 @@ chmod +x "$app_dir/AppRun"
|
||||
|
||||
cp -r "$root_dir/package.nw" "$app_dir/package.nw"
|
||||
cp -r "$root_dir/nwjs" "$app_dir/nwjs"
|
||||
rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe"
|
||||
cp -r "$root_dir/node/bin/node" "$app_dir/nwjs/node"
|
||||
cd "$app_dir/nwjs/" && ln -s "node" "node.exe"
|
||||
if [ -f $root_dir/node/bin/node ];then
|
||||
rm -rf "$app_dir/nwjs/node" "$app_dir/nwjs/node.exe"
|
||||
cp "$root_dir/node/bin/node" "$app_dir/nwjs/node"
|
||||
cd "$app_dir/nwjs/" && ln -s "node" "node.exe"
|
||||
fi
|
||||
cd "$app_dir"
|
||||
|
||||
# appimagetool $app_dir
|
||||
|
@ -60,11 +60,19 @@ cp "$root_dir/res/icons/wechat-devtools.svg" "$app_dir/usr/share/icons/wechat-de
|
||||
cp -r "$root_dir/package.nw" "$app_dir/opt/wechat-devtools/package.nw"
|
||||
cp -r "$root_dir/nwjs" "$app_dir/opt/wechat-devtools/nwjs"
|
||||
rm -rf "$app_dir/opt/wechat-devtools/nwjs"/{node,node.exe}
|
||||
cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node"
|
||||
cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe"
|
||||
if [ -f "$root_dir/node/bin/node" ];then
|
||||
cd "$app_dir/opt/wechat-devtools/nwjs" && rm -rf node node.exe
|
||||
cp "$root_dir/node/bin/node" "$app_dir/opt/wechat-devtools/nwjs/node"
|
||||
cd "$app_dir/opt/wechat-devtools/nwjs/" && ln -s "node" "node.exe"
|
||||
fi
|
||||
|
||||
notice "BUILD DEB Package"
|
||||
cd "$root_dir/tmp/deb"
|
||||
ls -l "$root_dir/tmp/deb"
|
||||
mkdir -p "$root_dir/tmp/build"
|
||||
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64.deb"
|
||||
if [[ $NO_WINE == 'true' ]];then
|
||||
BUILD_MARK='no_wine'
|
||||
else
|
||||
BUILD_MARK='wine'
|
||||
fi
|
||||
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}.deb"
|
||||
|
@ -61,12 +61,20 @@ sed -i "s#dir#/opt/apps/$package_name/files/bin#" "$base_dir/entries/application
|
||||
|
||||
cp -r "$root_dir/package.nw" "$base_dir/files/bin/package.nw"
|
||||
cp -r "$root_dir/nwjs" "$base_dir/files/bin/nwjs"
|
||||
rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe}
|
||||
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
|
||||
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
|
||||
if [ -f "$root_dir/node/bin/node" ];then
|
||||
rm -rf "$base_dir/files/bin/nwjs"/{node,node.exe}
|
||||
cp "$root_dir/node/bin/node" "$base_dir/files/bin/nwjs/node"
|
||||
cd "$base_dir/files/bin/nwjs/" && ln -s "node" "node.exe"
|
||||
fi
|
||||
|
||||
notice "BUILD DEB Package"
|
||||
cd "$build_dir"
|
||||
ls -l "$build_dir"
|
||||
mkdir -p "$root_dir/tmp/build"
|
||||
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_deepin_amd64.deb"
|
||||
|
||||
if [[ $NO_WINE == 'true' ]];then
|
||||
BUILD_MARK='no_wine'
|
||||
else
|
||||
BUILD_MARK='wine'
|
||||
fi
|
||||
dpkg-deb -b . "$root_dir/tmp/build/WeChat_Dev_Tools_${BUILD_VERSION}_amd64_${BUILD_MARK}_deepin.deb"
|
||||
|
24
tools/build-prepare.sh
Executable file
24
tools/build-prepare.sh
Executable file
@ -0,0 +1,24 @@
|
||||
#!/bin/bash
|
||||
|
||||
# 脚本执行前提,已完成支持wine的基本构建
|
||||
set -e
|
||||
success() {
|
||||
echo -e "\033[42;37m 成功 \033[0m $1"
|
||||
}
|
||||
notice() {
|
||||
echo -e "\033[36m $1 \033[0m "
|
||||
}
|
||||
fail() {
|
||||
echo -e "\033[41;37m 失败 \033[0m $1"
|
||||
}
|
||||
|
||||
root_dir=$(cd `dirname $0`/.. && pwd -P)
|
||||
tmp_dir="$root_dir/tmp"
|
||||
store_dir="$tmp_dir/build"
|
||||
mkdir -p $store_dir
|
||||
rm -rf nwjs package.nw
|
||||
if [[ $NO_WINE == 'true' ]];then
|
||||
tar -zxf wechat-devtools-*.src/src-no-wine.tar.gz -C .
|
||||
else
|
||||
tar -zxf wechat-devtools-*.src/src-wine.tar.gz -C .
|
||||
fi
|
@ -58,8 +58,11 @@ notice "COPY bin"
|
||||
notice "COPY nwjs"
|
||||
\cp -drf "$root_dir/nwjs" "$build_dir/nwjs"
|
||||
notice "COPY node"
|
||||
rm -rf "$build_dir/nwjs/node"
|
||||
\cp -rf "$root_dir/node/bin/node" "$build_dir/nwjs/node"
|
||||
if [ -f "$root_dir/node/bin/node" ];then
|
||||
cd $build_dir/nwjs && rm -rf node node.exe
|
||||
\cp -rf "$root_dir/node/bin/node" "$build_dir/nwjs/node"
|
||||
cd "$build_dir/nwjs" && ln -s node.exe node
|
||||
fi
|
||||
notice "COPY package.nw"
|
||||
\cp -rf "$root_dir/package.nw" "$build_dir/package.nw"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user