Skip to content

Commit

Permalink
chore: new releases v1.2.0
Browse files Browse the repository at this point in the history
* beta3 发布重新构建
* 新增 riscv64、loong64、i386 架构
* 取消 systemd 预装
* 使用 mmdebstrap 构建根文件系统
* 将 usr 内容合并到根目录

Log: new releases
  • Loading branch information
chenchongbiao committed Feb 26, 2024
1 parent 86090a4 commit 326c661
Show file tree
Hide file tree
Showing 10 changed files with 248 additions and 183 deletions.
164 changes: 82 additions & 82 deletions .github/workflows/auto-build-rootfs-arm.yml
Original file line number Diff line number Diff line change
@@ -1,84 +1,84 @@
name: build rootfs arm
# name: build rootfs arm

# on:
# schedule:
# - cron: '0 0 * * *' # 定时触发
# push:
# branches: [ '*' ]
# tags: [ '*' ]
# workflow_dispatch:
# # on:
# # schedule:
# # - cron: '0 0 * * *' # 定时触发
# # push:
# # branches: [ '*' ]
# # tags: [ '*' ]
# # workflow_dispatch:

jobs:
build-tar:
name: Build tar file
runs-on: ubuntu-latest
steps:
- name: Clone deepin-community/debootstrap repository
uses: actions/checkout@v2
with:
repository: deepin-community/debootstrap # 克隆debootstrap仓库
path: debootstrap # 要克隆到debootstrap目录
- name: Install qemu and binfmt support
run: sudo apt install qemu qemu-user-static binfmt-support
- name: Install debootstrap from deepin-community/debootstrap repository
run: cd debootstrap && sudo make install
- name: Run debootstrap stage1
run: sudo debootstrap --arch=amd64 --foreign --include=systemd,dbus,locales,apt,sudo --components=main,commercial,community beige ./deepin-rootfs https://community-packages.deepin.com/beige
- name: Chroot and debootstrap stage2
run: |
sudo mount -t proc /proc deepin-rootfs/proc
sudo mount -t sysfs /sys deepin-rootfs/sys
sudo mount -o bind /dev deepin-rootfs/dev
sudo mount -o bind /dev/pts deepin-rootfs/dev/pts
sudo chroot deepin-rootfs /debootstrap/debootstrap --second-stage
- name: Create tar file
run: sudo tar -cf deepin-rootfs.tar -C deepin-rootfs . # 把根文件系统打包成一个tar文件
- name: Upload tar file
uses: actions/upload-artifact@v2 # 上传生成的文件
with:
name: deepin-rootfs.tar # 文件的名字
path: deepin-rootfs.tar # 文件的路径
create-release:
name: Create release and upload file
needs: build-tar # 等待 build-tar 的 job 完成
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }}
steps:
- name: Download tar file from artifact
uses: actions/download-artifact@v2 # 从 artifact 区域下载文件
with:
name: deepin-rootfs.tar
- name: Check and delete release
run: |
id=$(curl -L \
-X GET \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ACTION_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/deepin-community/deepin-rootfs/releases | jq '.[] | select(.tag_name == "v1.0.0-arm") | .id')
curl -L \
-X DELETE \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer ${{ secrets.ACTION_TOKEN }}" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/deepin-community/deepin-rootfs/releases/$id
- name: Create release
uses: softprops/action-gh-release@v1
id: create_release
with:
draft: false
prerelease: false
tag_name: v1.0.0-arm
name: v1.0.0-arm
- name: Download wsl.exe file from wsldl project
run: curl -L -o deepin.exe https://github.com/yuk7/wsldl/releases/download/21082800/wsldl_arm64.exe
- name: Zip deepin.tar and deepin.exe
run: zip -r deepin.zip deepin-rootfs.tar deepin.exe
- name: Upload zip file to release
uses: actions/upload-release-asset@v1
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: deepin.zip
asset_name: deepin.zip
asset_content_type: application/zip
# jobs:
# build-tar:
# name: Build tar file
# runs-on: ubuntu-latest
# steps:
# - name: Clone deepin-community/debootstrap repository
# uses: actions/checkout@v2
# with:
# repository: deepin-community/debootstrap # 克隆debootstrap仓库
# path: debootstrap # 要克隆到debootstrap目录
# - name: Install qemu and binfmt support
# run: sudo apt install qemu qemu-user-static binfmt-support
# - name: Install debootstrap from deepin-community/debootstrap repository
# run: cd debootstrap && sudo make install
# - name: Run debootstrap stage1
# run: sudo debootstrap --arch=amd64 --foreign --include=systemd,dbus,locales,apt,sudo --components=main,commercial,community beige ./deepin-rootfs https://community-packages.deepin.com/beige
# - name: Chroot and debootstrap stage2
# run: |
# sudo mount -t proc /proc deepin-rootfs/proc
# sudo mount -t sysfs /sys deepin-rootfs/sys
# sudo mount -o bind /dev deepin-rootfs/dev
# sudo mount -o bind /dev/pts deepin-rootfs/dev/pts
# sudo chroot deepin-rootfs /debootstrap/debootstrap --second-stage
# - name: Create tar file
# run: sudo tar -cf deepin-rootfs.tar -C deepin-rootfs . # 把根文件系统打包成一个tar文件
# - name: Upload tar file
# uses: actions/upload-artifact@v2 # 上传生成的文件
# with:
# name: deepin-rootfs.tar # 文件的名字
# path: deepin-rootfs.tar # 文件的路径
# create-release:
# name: Create release and upload file
# needs: build-tar # 等待 build-tar 的 job 完成
# runs-on: ubuntu-latest
# env:
# GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }}
# steps:
# - name: Download tar file from artifact
# uses: actions/download-artifact@v2 # 从 artifact 区域下载文件
# with:
# name: deepin-rootfs.tar
# - name: Check and delete release
# run: |
# id=$(curl -L \
# -X GET \
# -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer ${{ secrets.ACTION_TOKEN }}" \
# -H "X-GitHub-Api-Version: 2022-11-28" \
# https://api.github.com/repos/deepin-community/deepin-rootfs/releases | jq '.[] | select(.tag_name == "v1.0.0-arm") | .id')
# curl -L \
# -X DELETE \
# -H "Accept: application/vnd.github+json" \
# -H "Authorization: Bearer ${{ secrets.ACTION_TOKEN }}" \
# -H "X-GitHub-Api-Version: 2022-11-28" \
# https://api.github.com/repos/deepin-community/deepin-rootfs/releases/$id
# - name: Create release
# uses: softprops/action-gh-release@v1
# id: create_release
# with:
# draft: false
# prerelease: false
# tag_name: v1.0.0-arm
# name: v1.0.0-arm
# - name: Download wsl.exe file from wsldl project
# run: curl -L -o deepin.exe https://github.com/yuk7/wsldl/releases/download/21082800/wsldl_arm64.exe
# - name: Zip deepin.tar and deepin.exe
# run: zip -r deepin.zip deepin-rootfs.tar deepin.exe
# - name: Upload zip file to release
# uses: actions/upload-release-asset@v1
# with:
# upload_url: ${{ steps.create_release.outputs.upload_url }}
# asset_path: deepin.zip
# asset_name: deepin.zip
# asset_content_type: application/zip
110 changes: 55 additions & 55 deletions .github/workflows/auto-build-rootfs-x86.yml
Original file line number Diff line number Diff line change
@@ -1,66 +1,66 @@
name: build rootfs x86
# name: build rootfs x86

# on:
# schedule:
# - cron: '0 0 * * *' # 定时触发
# push:
# branches: [ 'master' ]
# pull_request:
# branches: [ 'master' ]
# workflow_dispatch:
# # on:
# # schedule:
# # - cron: '0 0 * * *' # 定时触发
# # push:
# # branches: [ 'master' ]
# # pull_request:
# # branches: [ 'master' ]
# # workflow_dispatch:

jobs:
build-tar:
name: Build tar file
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
# jobs:
# build-tar:
# name: Build tar file
# runs-on: ubuntu-latest
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3

- name: Run build.sh
run: |
sudo bash ${{ github.workspace }}/build.sh
# - name: Run build.sh
# run: |
# sudo bash ${{ github.workspace }}/build.sh

- name: Create tar file
run: sudo tar -cf deepin-rootfs.tar.gz -C /beige-rootfs . # 把根文件系统打包成一个 tar.gz 文件
# - name: Create tar file
# run: sudo tar -cf deepin-rootfs.tar.gz -C /beige-rootfs . # 把根文件系统打包成一个 tar.gz 文件

- name: Upload tar file
uses: actions/upload-artifact@v3 # 上传生成的文件
with:
name: deepin-rootfs.tar.gz # 文件的名字
path: deepin-rootfs.tar.gz # 文件的路径
# - name: Upload tar file
# uses: actions/upload-artifact@v3 # 上传生成的文件
# with:
# name: deepin-rootfs.tar.gz # 文件的名字
# path: deepin-rootfs.tar.gz # 文件的路径

create-release:
name: Create release and upload file
needs: build-tar # 等待 build-tar 的 job 完成
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }}
steps:
- name: Checkout repository
uses: actions/checkout@v3
# create-release:
# name: Create release and upload file
# needs: build-tar # 等待 build-tar 的 job 完成
# runs-on: ubuntu-latest
# env:
# GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }}
# steps:
# - name: Checkout repository
# uses: actions/checkout@v3

- name: Read version
id: read_version
run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV
# - name: Read version
# id: read_version
# run: echo "VERSION=$(cat version.txt)" >> $GITHUB_ENV

- name: Download tar file from artifact
uses: actions/download-artifact@v3 # 从 artifact 区域下载文件
with:
name: deepin-rootfs.tar.gz
# - name: Download tar file from artifact
# uses: actions/download-artifact@v3 # 从 artifact 区域下载文件
# with:
# name: deepin-rootfs.tar.gz

- name: Download wsl.exe file from wsldl project
run: curl -L -o deepin.exe https://github.com/yuk7/wsldl/releases/download/21082800/wsldl.exe
# - name: Download wsl.exe file from wsldl project
# run: curl -L -o deepin.exe https://github.com/yuk7/wsldl/releases/download/21082800/wsldl.exe

- name: Zip deepin.tar.gz and deepin.exe
run: zip -r deepinWSL-wsldl.zip deepin-rootfs.tar.gz deepin.exe
# - name: Zip deepin.tar.gz and deepin.exe
# run: zip -r deepinWSL-wsldl.zip deepin-rootfs.tar.gz deepin.exe

- name: Upload file to release
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ env.ACTION_TOKEN }}"
automatic_release_tag: "v${{ env.VERSION }}-x86"
prerelease: true
title: "V${{ env.VERSION }}-x86"
files: |
deepinWSL-wsldl.zip
# - name: Upload file to release
# uses: "marvinpinto/action-automatic-releases@latest"
# with:
# repo_token: "${{ env.ACTION_TOKEN }}"
# automatic_release_tag: "v${{ env.VERSION }}-x86"
# prerelease: true
# title: "V${{ env.VERSION }}-x86"
# files: |
# deepinWSL-wsldl.zip
50 changes: 41 additions & 9 deletions .github/workflows/build-rootfs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,28 +2,56 @@ name: build rootfs

on:
push:
branches: [ 'master', 'dev' ]
branches: [ 'master' ]
paths:
- 'build.sh'
- 'config/**'
- 'version.txt'
pull_request:
branches: [ 'master' ]
paths:
- 'build.sh'
- 'config/**'
- 'version.txt'
workflow_dispatch:

jobs:
build:
name: Build tar file
runs-on: ubuntu-latest
strategy:
matrix:
arch: [ amd64, arm64 ]
env:
GITHUB_TOKEN: ${{ secrets.ACTION_TOKEN }}

steps:
- name: Maximize build space
uses: easimon/maximize-build-space@master
with:
# 这个值是保留给系统的空间大小,之前设置太小,总会在安装依赖或者编译过程中报设备空间不足的错误而导致编译失败
root-reserve-mb: 4096
swap-size-mb: 512
remove-dotnet: 'true'
remove-android: 'true'
remove-codeql: 'true'

- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4

- name: update source and add binfmts # 更新源到 noble
run: |
curl https://community-packages.deepin.com/deepin/beige/pool/main/d/deepin-keyring/deepin-keyring_2024.01.16_all.deb --output deepin-keyring.deb
sudo apt install ./deepin-keyring.deb && rm ./deepin-keyring.deb
echo "deb https://community-packages.deepin.com/beige/ beige main commercial community" | sudo tee -a /etc/apt/sources.list
sudo sed -i 's/jammy/noble/g' /etc/apt/sources.list
sudo apt update -y && sudo apt install mmdebstrap qemu-user-static usrmerge qemu-user systemd
sudo apt-mark hold usrmerge
sudo cp -v /usr/lib/arch-test/riscv64 /usr/lib/arch-test/loong64
sudo sed -i "/riscv64 => 'riscv64',/a\ loong64 => 'loongarch64'," /usr/bin/mmdebstrap
sudo systemctl restart systemd-binfmt
- name: Run build.sh
run: |
sudo bash build.sh ${{ matrix.arch }}
sudo bash build.sh
- name: Read version
id: read_version
Expand All @@ -33,8 +61,12 @@ jobs:
uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ env.GITHUB_TOKEN }}"
automatic_release_tag: "v${{ env.VERSION }}-${{ matrix.arch }}"
automatic_release_tag: "v${{ env.VERSION }}"
prerelease: true
title: "v${{ env.VERSION }}-${{ matrix.arch }}"
title: "v${{ env.VERSION }}"
files: |
deepin-rootfs-${{ matrix.arch }}.tar.gz
rootfs/deepin-rootfs-amd64.tar.gz
rootfs/deepin-rootfs-arm64.tar.gz
rootfs/deepin-rootfs-riscv64.tar.gz
rootfs/deepin-rootfs-loong64.tar.gz
rootfs/deepin-rootfs-i386.tar.gz
2 changes: 1 addition & 1 deletion .github/workflows/cancel-workflow-action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ jobs:
steps:
- uses: styfle/cancel-workflow-action@0.9.0
with:
workflow_id: auto-build-rootfs.yml,backup-to-gitlab.yml
workflow_id: build-rootfs.yml,backup-to-gitlab.yml
access_token: ${{ secrets.ACTION_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
rootfs
Loading

0 comments on commit 326c661

Please sign in to comment.