diff --git a/.github/workflows/building-deb-backport.yml b/.github/workflows/building-deb-backport.yml new file mode 100755 index 0000000..ea59c46 --- /dev/null +++ b/.github/workflows/building-deb-backport.yml @@ -0,0 +1,197 @@ +name: Building GXDE Package (Debian Backport) +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: + i386: + runs-on: ubuntu-latest + steps: + - 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 i386 bookworm $REPOSITORY https://github.com/$GITHUB_REPOSITORY backport + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GO111MODULE=off dpkg-buildpackage -b + + - name: Remove Debug Package + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh rm -rfv ../*dbg*.deb + + - 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 $UPATH/$tarName > /dev/null + + amd64: + runs-on: ubuntu-latest + steps: + - 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 backport + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GO111MODULE=off dpkg-buildpackage -b + + - name: Remove Debug Package + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh rm -rfv ../*dbg*.deb + + - 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 $UPATH/$tarName > /dev/null + + arm64: + runs-on: ubuntu-24.04 + steps: + - 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 backport + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GO111MODULE=off dpkg-buildpackage -b + + - name: Remove Debug Package + run: | + env env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh rm -rfv ../*dbg*.deb + + - 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 $UPATH/$tarName > /dev/null + + + mips64: + runs-on: ubuntu-24.04 + steps: + - 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 mips64el bookworm $REPOSITORY https://github.com/$GITHUB_REPOSITORY backport + + - name: Building ${{ GITHUB.repository }} + run: | + env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh env GO111MODULE=off dpkg-buildpackage -b + + - name: Remove Debug Package + run: | + env env gitPath=$(basename $GITHUB_REPOSITORY) bash .github/workflows/run-command-in-chroot.sh rm -rfv ../*dbg*.deb + + - 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 $UPATH/$tarName > /dev/null + diff --git a/.github/workflows/configure-building-enviroment-base-system.sh b/.github/workflows/configure-building-enviroment-base-system.sh index f6dd7cf..f9aba8e 100755 --- a/.github/workflows/configure-building-enviroment-base-system.sh +++ b/.github/workflows/configure-building-enviroment-base-system.sh @@ -36,6 +36,9 @@ if [[ $? != 0 ]] && [[ $1 == loong64 ]]; then sudo mv squashfs-root $bottlePath -v fi sudo bash .github/workflows/pardus-chroot $bottlePath +if [[ $5 == "backport" ]]; then + sudo cp -rv .github/workflows/debian-backports.list $bottlePath/etc/apt/sources.list.d +fi # 配置 git sudo chroot $bottlePath apt update sudo chroot $bottlePath apt full-upgrade -y diff --git a/.github/workflows/debian-backports.list b/.github/workflows/debian-backports.list new file mode 100644 index 0000000..fef1182 --- /dev/null +++ b/.github/workflows/debian-backports.list @@ -0,0 +1,2 @@ +deb https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware +# deb-src https://mirrors.tuna.tsinghua.edu.cn/debian/ bookworm-backports main contrib non-free non-free-firmware \ No newline at end of file