fix: 修复终端无法启动的问题

This commit is contained in:
msojocs 2023-09-05 14:19:59 +08:00
parent 96360cb0d4
commit af247207d4
3 changed files with 236 additions and 224 deletions

View File

@ -1,253 +1,253 @@
# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
# # This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node
# # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: Build Packages Wine
# name: Build Packages Wine
on:
release:
types: [published]
push:
tags:
- v*
branches: [ master, dev, 45-snap-version]
pull_request:
branches: [ master ]
# # Allows you to run this workflow manually from the Actions tab
# workflow_dispatch:
# on:
# release:
# types: [published]
# push:
# tags:
# - v*
# branches: [ master, dev, 45-snap-version]
# pull_request:
# branches: [ master ]
# # # Allows you to run this workflow manually from the Actions tab
# # workflow_dispatch:
jobs:
build-src:
name: Build Base Packages
runs-on: ubuntu-latest
# jobs:
# build-src:
# name: Build Base Packages
# runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
ARCH: ['x86_64']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
# strategy:
# matrix:
# node-version: [16.x]
# ARCH: ['x86_64']
# # See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
# steps:
# - uses: actions/checkout@v2
# with:
# submodules: 'recursive'
# - name: Use Node.js ${{ matrix.node-version }}
# uses: actions/setup-node@v2
- name: Prepare
run: |
cd compiler && npm install
echo "$UID, $GID"
# - name: Prepare
# run: |
# cd compiler && npm install
# 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: 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 ACTION_MODE=true
export DOCKER_UID=$UID
export DOCKER_GID=$GID
ls -l
export WINE=true
docker-compose up
# - name: Build
# run: |
# export ACTION_MODE=true
# export DOCKER_UID=$UID
# export DOCKER_GID=$GID
# ls -l
# export WINE=true
# docker-compose up
- name: Compress Resources
run: |
ls -l
export WINE=true
mkdir -p tmp/src
mkdir -p tmp/build
rm -rf nwjs/node nwjs/node.exe
cp node/bin/node nwjs/node
cd nwjs && ln -s node node.exe
cd ..
tar -zcf tmp/src/src-wine.tar.gz bin nwjs package.nw tools
# - name: Compress Resources
# run: |
# ls -l
# export WINE=true
# mkdir -p tmp/src
# mkdir -p tmp/build
# rm -rf nwjs/node nwjs/node.exe
# cp node/bin/node nwjs/node
# cd nwjs && ln -s node node.exe
# cd ..
# tar -zcf tmp/src/src-wine.tar.gz bin nwjs package.nw tools
- name: View Directory
run: |
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
# - name: Upload artifact
# uses: actions/upload-artifact@v2.3.1
# with:
# # Artifact name
# name: wechat-devtools-${{ matrix.ARCH }}.src
# path: tmp/src
- name: Upload artifact
uses: actions/upload-artifact@v2.3.1
with:
# Artifact name
name: wechat-devtools-${{ matrix.ARCH }}.build
path: tmp/build
# - name: Upload artifact
# uses: actions/upload-artifact@v2.3.1
# with:
# # Artifact name
# name: wechat-devtools-${{ matrix.ARCH }}.build
# path: tmp/build
build-tar:
name: Build tar.gz AppImage
needs:
- build-src
runs-on: ubuntu-latest
# build-tar:
# name: Build tar.gz AppImage
# needs:
# - build-src
# runs-on: ubuntu-latest
strategy:
matrix:
node-version: [16.x]
ARCH: ['x86_64']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
# strategy:
# matrix:
# node-version: [16.x]
# 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
# steps:
# - uses: actions/checkout@v2
# - name: Download artifacts
# uses: actions/download-artifact@v2
- name: Prepare
run: |
cd compiler && npm install
sudo apt install -y fuse
echo "$UID, $GID"
# - name: Prepare
# run: |
# cd compiler && npm install
# sudo apt install -y fuse
# 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: 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 WINE=true
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: Build
# run: |
# export WINE=true
# 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: View Directory
# run: |
# ls -l
- name: Upload artifact
uses: actions/upload-artifact@v2.3.1
with:
# Artifact name
name: wechat-devtools-${{ matrix.ARCH }}.build
path: tmp/build
# - name: Upload artifact
# uses: actions/upload-artifact@v2.3.1
# with:
# # Artifact name
# name: wechat-devtools-${{ matrix.ARCH }}.build
# path: tmp/build
build-deb:
name: Build DEB Package
needs:
- build-src
runs-on: ubuntu-20.04
# build-deb:
# name: Build DEB Package
# needs:
# - build-src
# runs-on: ubuntu-20.04
strategy:
matrix:
ARCH: ['x86_64']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
# 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
# steps:
# - uses: actions/checkout@v2
# - name: Download artifacts
# uses: actions/download-artifact@v2
- 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"
# https://stackoverflow.com/questions/61096521/how-to-use-gpg-key-in-github-actions
- name: Configure GPG Key
run: |
echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
env:
GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
# - 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"
# # https://stackoverflow.com/questions/61096521/how-to-use-gpg-key-in-github-actions
# - name: Configure GPG Key
# run: |
# echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import
# env:
# GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }}
- name: Prepare
run: |
sudo apt-get install -y build-essential fakeroot devscripts debhelper # debmake lintian pbuilder
# - name: Prepare
# run: |
# sudo apt-get install -y build-essential fakeroot devscripts debhelper # debmake lintian pbuilder
- name: Build Deb Package
run: |
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
ls -l
mkdir -p tmp/build
export WINE=true
tools/build-prepare.sh
tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
# - name: Build Deb Package
# run: |
# export BUILD_VERSION=${{ steps.tag.outputs.tag }}
# ls -l
# mkdir -p tmp/build
# export WINE=true
# tools/build-prepare.sh
# tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
- name: Upload artifact
uses: actions/upload-artifact@v2.3.1
with:
# Artifact name
name: wechat-devtools-${{ matrix.ARCH }}.build
path: tmp/build
# - name: Upload artifact
# uses: actions/upload-artifact@v2.3.1
# with:
# # Artifact name
# name: wechat-devtools-${{ matrix.ARCH }}.build
# path: tmp/build
upload:
name: Create release and upload artifacts
needs:
- build-tar
- build-deb
# - build-snap
# - build-arch
runs-on: ubuntu-latest
steps:
- name: Download artifacts
uses: actions/download-artifact@v2
- name: Inspect directory after downloading artifacts
run: ls -alFR
# upload:
# name: Create release and upload artifacts
# needs:
# - build-tar
# - build-deb
# # - build-snap
# # - build-arch
# runs-on: ubuntu-latest
# steps:
# - name: Download artifacts
# uses: actions/download-artifact@v2
# - name: Inspect directory after downloading artifacts
# run: ls -alFR
- 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: 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: Create release and upload artifacts
if: startsWith(github.ref, 'refs/heads/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
sudo apt install -y fuse
wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage
chmod +x pyuploadtool-x86_64.AppImage
./pyuploadtool-x86_64.AppImage **build/WeChat*.AppImage **build/*.tar.gz **build/*.deb
# - name: Create release and upload artifacts
# if: startsWith(github.ref, 'refs/heads/')
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# run: |
# sudo apt install -y fuse
# wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage
# chmod +x pyuploadtool-x86_64.AppImage
# ./pyuploadtool-x86_64.AppImage **build/WeChat*.AppImage **build/*.tar.gz **build/*.deb
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
# note you'll typically need to create a personal access token
# with permissions to create releases in the other repo
name: ${{ steps.tag.outputs.name }}
tag_name: ${{ steps.tag.outputs.tag }}
files: |
**build/WeChat*.AppImage
**build/*.tar.gz
**build/*.deb
# - name: Release
# uses: softprops/action-gh-release@v1
# if: startsWith(github.ref, 'refs/tags/')
# with:
# # note you'll typically need to create a personal access token
# # with permissions to create releases in the other repo
# name: ${{ steps.tag.outputs.name }}
# tag_name: ${{ steps.tag.outputs.tag }}
# files: |
# **build/WeChat*.AppImage
# **build/*.tar.gz
# **build/*.deb

View File

@ -1,3 +1,9 @@
# 1.06.2306020-2 / 2023-09-
- update: node-pty to v1.0.0
- update: compiler(Linux) v0.0.4
- dprecated: wine version
# 1.06.2306020-1 / 2023-06-04
- update: devtools to v1.06.2306020

View File

@ -45,7 +45,9 @@ python3 --version
# these modules are only available in windows
cd "${package_dir}/node_modules" && \
rm -fr "vscode-windows-ca-certs" "vscode-windows-registry" "vscode-windows-registry-node" "windows-process-tree"
rm -fr "vscode-windows-ca-certs" \
"vscode-windows-registry" "vscode-windows-registry-node" "windows-process-tree" \
"node-pty" "node-pty-node"
rm -fr "${package_dir}/node_modules/vscode-ripgrep/bin/"* # redownload bin on linux
# https://github.com/microsoft/ripgrep-prebuilt
@ -86,7 +88,7 @@ export JOBS=$max_thread
(cd "${package_dir}/node_modules_tmp" && npm install \
extract-file-icon \
native-keymap \
node-pty \
node-pty@1.0.0 \
native-watchdog \
oniguruma \
spdlog@0.11.1 \
@ -101,6 +103,10 @@ notice "rebuild node-pty"
cd "$package_dir/node_modules_tmp/node_modules" && \
cp -fr "node-pty" "node-pty-node" && \
cd "node-pty" && nw-gyp rebuild --arch=x64 "--target=$NW_VERSION" --dist-url=https://registry.npmmirror.com/-/binary/nwjs
mkdir -p "$package_dir/node_modules/node-pty/build/Release" && \
cp -rf "$package_dir/node_modules_tmp/node_modules/node-pty/lib" "$package_dir/node_modules/node-pty/lib" && \
cp -rf "$package_dir/node_modules_tmp/node_modules/node-pty/package.json" "$package_dir/node_modules/node-pty/package.json" && \
cp -rf "$package_dir/node_modules/node-pty" "$package_dir/node_modules/node-pty-node"
notice "rebuild native-watchdog"
cd "$package_dir/node_modules_tmp/node_modules/native-watchdog" && \