msojocs 1b8d41eee9 Squashed commit of the following:
commit 76aac0f6a5ecae98c28b77ffc016a79d530584b1
Author: msojocs <jiyecafe@gmail.com>
Date:   Sun Apr 3 23:05:16 2022 +0800

    fix: build

commit 3099858f56eab1db82c9965a60c323869898e37f
Author: msojocs <jiyecafe@gmail.com>
Date:   Sun Apr 3 22:11:24 2022 +0800

    update

commit 150a944c026f14e6e4157ed84243560565a89818
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 20:22:43 2022 +0800

    test

commit 6fa17ebca20f2980f08774c56a48dfa1b5ea6381
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 19:05:35 2022 +0800

    fix: deepin build

commit 3c373a8f6fa765741c3a974d72833b3e240adb2a
Author: msojocs <jiyecafe@gmail.com>
Date:   Sat Mar 26 18:06:43 2022 +0800

    update: deepin build

commit f29fa16289132b40ef1d85992600770cfd2ba298
Author: msojocs <jiyecafe@gmail.com>
Date:   Fri Mar 25 22:42:45 2022 +0800

    使用debuild

commit 324d866482c77a9b7bb4715eebed9c149af7b1d8
Author: msojocs <jiyecafe@gmail.com>
Date:   Wed Mar 23 09:35:12 2022 +0800

    fix: krb5

commit e463415599a04fae282cb36e8a5d3ee2ebae2239
Author: msojocs <jiyecafe@gmail.com>
Date:   Tue Mar 22 22:58:52 2022 +0800

    feat: flatpak

commit 83677cba04e9d84a1ef12cfdeacb0f1e779b4e8c
Merge: 7ff73e1 41ad887
Author: msojocs <jiyecafe@gmail.com>
Date:   Tue Mar 22 13:27:06 2022 +0800

    Merge branch 'master' into flatpak

commit 7ff73e13c795ef1e84b6a6f09fb9347de3600947
Author: msojocs <jiyecafe@gmail.com>
Date:   Fri Mar 11 22:44:35 2022 +0800

    test
2022-04-04 17:45:48 +08:00

374 lines
11 KiB
YAML

# 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
on:
release:
types: [published]
push:
tags:
- v*
branches: [ master, dev]
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
strategy:
matrix:
ARCH: ['x86_64']
# See supported Node.js release schedule at https://nodejs.org/en/about/releases/
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@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 ACTION_MODE=true
export DOCKER_UID=$UID
export DOCKER_GID=$GID
ls -l
export NO_WINE=false
docker-compose up
- name: Compress Resources
run: |
ls -l
mkdir -p tmp/src
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
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
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
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
- 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
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:
# Artifact name
name: wechat-devtools-${{ matrix.ARCH }}.build
path: tmp/build
# build-deb:
# name: Build Deb Package
# needs:
# - build-src
# runs-on: ubuntu-18.04
# 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: 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 Deb Package
# run: |
# export BUILD_VERSION=${{ steps.tag.outputs.tag }}
# 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
# 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-18.04
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: 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 Deepin Package
run: |
sudo apt-get install -y build-essential fakeroot devscripts git git-buildpackage debhelper debmake lintian pbuilder
export BUILD_VERSION=${{ steps.tag.outputs.tag }}
ls -l
mkdir -p tmp/build
tools/build-prepare.sh
env NO_WINE=false tools/build-deepin.sh ${{ steps.tag.outputs.tag }}
export NO_WINE=true
tools/build-prepare.sh
env NO_WINE=true 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
build-arch:
name: Build ArchLinux Package
runs-on: ubuntu-latest
timeout-minutes: 30
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: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Prepare
run: |
npm install node-gyp nw-gyp npm -g
node-gyp install
cat /etc/passwd
- 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 ArchLinux Package
uses: countstarlight/arch-makepkg-action@master
env:
BUILD_VERSION: ${{ steps.tag.outputs.tag }}
with:
repos: >
archlinuxcn=https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch
before: "tools/build-aur.sh && sudo pacman -S --noconfirm archlinuxcn-keyring"
packages: >
gconf
p7zip
libxkbfile
python2
openssl
gcc
make
libssh2
krb5
scripts: "cd tmp/AUR && makepkg && ls -l && cd ../../"
- name: Fix Permissions
run: |
sudo chmod -R 0777 tmp
mkdir -p tmp/build
mv tmp/AUR/*.pkg.* tmp/build
cd tmp/build
for file in `ls *.pkg.*`;do mv $file `echo $file|sed 's/:/-/g'`;done;
ls -l
- 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-deepin
- 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: Create release and upload artifacts
if: startsWith(github.ref, 'refs/heads/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
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 **build/*.pkg.*
- 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
**build/*.pkg.*