From 4ff2320d482c24f9316d29a55331bf0d0c5cf0af Mon Sep 17 00:00:00 2001 From: gfdgd_xi <3025613752@qq.com> Date: Sun, 26 Jan 2025 12:50:30 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95debian13=EF=BC=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workflows/building-deb-zhuangzhuang.yml | 168 ++++++++++++++++++ .github/workflows/building-deb.yml | 4 + 2 files changed, 172 insertions(+) create mode 100755 .github/workflows/building-deb-zhuangzhuang.yml diff --git a/.github/workflows/building-deb-zhuangzhuang.yml b/.github/workflows/building-deb-zhuangzhuang.yml new file mode 100755 index 0000000..b215cca --- /dev/null +++ b/.github/workflows/building-deb-zhuangzhuang.yml @@ -0,0 +1,168 @@ +name: Building GXDE Testing Package +run-name: Building ${{ GITHUB.REPOSITORY }} + +on: + workflow_call: + secrets: + PASSWD: + required: true + USERS: + required: true + HOST: + required: true + UPATH: + required: true + UPROGRAM: + required: true + UPORT: + required: true + +env: + REPOSITORY: https://github.com/GXDE-OS/GXDE + BOTTLEPATH: system-bottle + +jobs: + amd64: + runs-on: ubuntu-latest + steps: + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-docker-images: 'true' + remove-codeql: 'true' + remove-haskell: 'true' + remove-android: 'true' + + - name: Clone Repository To Get Script + run: | + git clone $REPOSITORY --depth=1 + mv $(basename $REPOSITORY)/* . -v + mv $(basename $REPOSITORY)/.* . -v | true + + - name: Configure Base System + run: | + bash .github/workflows/configure-building-enviroment-base-system.sh amd64 bookworm $REPOSITORY https://github.com/$GITHUB_REPOSITORY + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GXDE_CODENAME=bixie GO111MODULE=off dpkg-buildpackage -b + cp $BOTTLEPATH/*.deb . -rv + sudo rename 's/\.deb$/_zhuangzhuang.deb/' *.deb + + - name: Remove Debug Package + run: | + cd $BOTTLEPATH + echo -e "ls -1 | grep dbgsym | grep .deb | grep -v dtk | grep -v qt | grep -v dock | grep -v gxtk\nexit 0" | sudo tee remove-deb.sh + removeDeb=$(bash remove-deb.sh) + sudo rm -rf $removeDeb + + - name: Pack tar + run: | + cd $BOTTLEPATH + sudo tar -cvf ../deb-$(date +%s).tar *.deb + + + - name: Push + env: + UPASSWD: ${{ secrets.PASSWD }} + UUSERS: ${{ secrets.USERS }} + UHOST: ${{ secrets.HOST }} + UPATH: ${{ secrets.UPATH }} + UPROGRAM: ${{ secrets.UPROGRAM }} + UPORT: ${{ secrets.UPORT }} + run: | + sudo apt update + sudo apt install sshpass -y + mkdir -p ~/.ssh/ + ssh-keyscan -p $UPORT -H $UHOST >> ~/.ssh/known_hosts + tarName=$(ls | grep .tar | head -n 1) + sshpass -p "$UPASSWD" rsync -e "ssh -p $UPORT" $tarName $UUSERS@$UHOST:$UPATH + sshpass -p "$UPASSWD" ssh $UUSERS@$UHOST -p $UPORT $UPROGRAM zhuangzhuang $UPATH/$tarName > /dev/null + + - name: Create Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_TOCKEN_GITHUB }} + with: + files: | + *.deb + generate_release_notes: true + + arm64: + runs-on: ubuntu-24.04 + #runs-on: self-hosted + steps: + # 由于默认的 Ubuntu 环境只有 17G 左右的剩余空间,所以我们需要先利用如下 action 对编译环境进行扩容 + - name: Maximize build space + uses: easimon/maximize-build-space@master + with: + # 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败 + root-reserve-mb: 4096 + swap-size-mb: 512 + remove-dotnet: 'true' + remove-docker-images: 'true' + remove-codeql: 'true' + remove-haskell: 'true' + remove-android: 'true' + + - name: Clone Repository To Get Script + run: | + git clone $REPOSITORY --depth=1 + mv $(basename $REPOSITORY)/* . -v + mv $(basename $REPOSITORY)/.* . -v | true + + - name: Configure Base System + run: | + bash .github/workflows/configure-building-enviroment-base-system.sh arm64 bookworm $REPOSITORY https://github.com/$GITHUB_REPOSITORY + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GXDE_CODENAME=bixie GO111MODULE=off dpkg-buildpackage -b + cp $BOTTLEPATH/*.deb . -rv + sudo rename 's/\.deb$/_zhuangzhuang.deb/' *.deb + + - name: Remove Debug Package + run: | + cd $BOTTLEPATH + echo -e "ls -1 | grep dbgsym | grep .deb | grep -v dtk | grep -v qt | grep -v dock | grep -v gxtk\nexit 0" | sudo tee remove-deb.sh + removeDeb=$(bash remove-deb.sh) + sudo rm -rf $removeDeb + + - name: Pack tar + run: | + cd $BOTTLEPATH + sudo tar -cvf ../deb-$(date +%s).tar *.deb + + + - name: Push + env: + UPASSWD: ${{ secrets.PASSWD }} + UUSERS: ${{ secrets.USERS }} + UHOST: ${{ secrets.HOST }} + UPATH: ${{ secrets.UPATH }} + UPROGRAM: ${{ secrets.UPROGRAM }} + UPORT: ${{ secrets.UPORT }} + run: | + sudo apt update + sudo apt install sshpass -y + mkdir -p ~/.ssh/ + ssh-keyscan -p $UPORT -H $UHOST >> ~/.ssh/known_hosts + tarName=$(ls | grep .tar | head -n 1) + sshpass -p "$UPASSWD" rsync -e "ssh -p $UPORT" $tarName $UUSERS@$UHOST:$UPATH + sshpass -p "$UPASSWD" ssh $UUSERS@$UHOST -p $UPORT $UPROGRAM zhuangzhuang $UPATH/$tarName > /dev/null + + - name: Create Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + env: + GITHUB_TOKEN: ${{ secrets.RELEASE_TOCKEN_GITHUB }} + with: + files: | + *.deb + generate_release_notes: true diff --git a/.github/workflows/building-deb.yml b/.github/workflows/building-deb.yml index 53b0b4c..8deeaec 100755 --- a/.github/workflows/building-deb.yml +++ b/.github/workflows/building-deb.yml @@ -22,6 +22,10 @@ env: BOTTLEPATH: system-bottle jobs: + call: + uses: GXDE-OS/GXDE/.github/workflows/building-deb-zhuangzhuang.yml@master + secrets: inherit + i386: runs-on: ubuntu-latest steps: