From c3a063f4efba61ca5c879a88b8e9a9b8a08302ed Mon Sep 17 00:00:00 2001 From: Feng Shuo Date: Sun, 7 Jun 2026 11:46:06 +0800 Subject: [PATCH 1/5] workflow: add kernel build check for Ubuntu x86_64 (cherry picked from commit 0b1e41a73b0f4c0b8cafe3be41f7b34b495b6a61) --- .github/workflows/build-check_x86_64.yml | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/build-check_x86_64.yml diff --git a/.github/workflows/build-check_x86_64.yml b/.github/workflows/build-check_x86_64.yml new file mode 100644 index 00000000000000..4030aab1796ddc --- /dev/null +++ b/.github/workflows/build-check_x86_64.yml @@ -0,0 +1,24 @@ +name: x86_64 CI +on: + pull_request: + branches: + - '**' + - '!mainline' + +jobs: + kernel-build-job: + runs-on: ubuntu-latest + steps: + - name: Install tools and Libraries + run: | + sudo apt update + sudo apt install -y build-essential libssl-dev ccache bison flex libelf-dev bc cpio libdw-dev + - name: Checkout code + uses: actions/checkout@v6 + - name: Build the Kernel + run: | + debian/scripts/misc/annotations --arch amd64 --export >.config + scripts/config --disable SYSTEM_TRUSTED_KEYS + scripts/config --disable SYSTEM_REVOCATION_KEYS + make olddefconfig + make -j $(nproc) From 3de599970a42425724e8c8b27d7100438278794d Mon Sep 17 00:00:00 2001 From: Feng Shuo Date: Sun, 7 Jun 2026 17:10:15 +0800 Subject: [PATCH 2/5] workflow: add kernel build check for Ubuntu aarch64 (cherry picked from commit d591193a3d36b6b189a2a49255552746271e4fd6) --- .github/workflows/build-check_aarch64.yml | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 .github/workflows/build-check_aarch64.yml diff --git a/.github/workflows/build-check_aarch64.yml b/.github/workflows/build-check_aarch64.yml new file mode 100644 index 00000000000000..60299da7710bc6 --- /dev/null +++ b/.github/workflows/build-check_aarch64.yml @@ -0,0 +1,24 @@ +name: aarch64 CI +on: + pull_request: + branches: + - '**' + - '!mainline' + +jobs: + kernel-build-job: + runs-on: ubuntu-24.04-arm + steps: + - name: Install tools and Libraries + run: | + sudo apt update + sudo apt install -y build-essential libssl-dev ccache bison flex libelf-dev bc cpio libdw-dev + - name: Checkout code + uses: actions/checkout@v6 + - name: Build the Kernel + run: | + debian/scripts/misc/annotations --arch arm64 --export >.config + scripts/config --disable SYSTEM_TRUSTED_KEYS + scripts/config --disable SYSTEM_REVOCATION_KEYS + make olddefconfig + make -j $(nproc) From e9af08609ecc4d2f06060218a55a7751c9c52179 Mon Sep 17 00:00:00 2001 From: Feng Shuo Date: Sun, 7 Jun 2026 17:20:09 +0800 Subject: [PATCH 3/5] workflow: update the support for 6.17 kernel (cherry picked from commit f674a981e8965b823ed41dba1de93efff0966f3f) --- .github/workflows/create-redfs-pr.yml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/create-redfs-pr.yml b/.github/workflows/create-redfs-pr.yml index cc03d7e1219e9b..12e9c39c936276 100644 --- a/.github/workflows/create-redfs-pr.yml +++ b/.github/workflows/create-redfs-pr.yml @@ -12,12 +12,12 @@ jobs: runs-on: ubuntu-latest steps: # Checks-out to a different directory to avoid following checkout removing it. - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 with: path: linux - name: Try to checkout sync-${{ github.ref_name }} if it exists - uses: actions/checkout@v4 + uses: actions/checkout@v6 id: try-checkout continue-on-error: true with: @@ -29,7 +29,7 @@ jobs: - name: Fallback to checkout main if: steps.try-checkout.outcome == 'failure' - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: repository: DDNStorage/redfs ref: main @@ -56,6 +56,7 @@ jobs: MAP["redfs-rhel9_5-503.40.1"]="5.14.0-503.40.1.el9_5" MAP["redfs-rhel9_6-570.12.1"]="5.14.0-570.12.1.el9_6" MAP["redfs-ubuntu-noble-6.8.0-58.60"]="6.8.0-58.60.ubuntu" + MAP["redfs-ubuntu-hwe-6.17.0-16.16-24.04.1"]="6.17.0-16.16.ubuntu" kerver=${MAP["${{ github.ref_name }}"]} if [ -z ${kerver} ]; then echo "Cannot find target kernel version" From 9706567a26b4415ee1bc2f8e8574d40d22b199ed Mon Sep 17 00:00:00 2001 From: Feng Shuo Date: Wed, 10 Jun 2026 09:29:23 +0800 Subject: [PATCH 4/5] workflow: add commit log into the new PR (cherry picked from commit 9d59428915120ec0be8714ac5db79010c3917f58) (cherry picked from commit 7e84600842d968445d819a2d14664784a90d3ce6) --- .github/workflows/create-redfs-pr.yml | 42 +++++++++++++++++++++++---- 1 file changed, 36 insertions(+), 6 deletions(-) diff --git a/.github/workflows/create-redfs-pr.yml b/.github/workflows/create-redfs-pr.yml index 12e9c39c936276..d66b04e25c4430 100644 --- a/.github/workflows/create-redfs-pr.yml +++ b/.github/workflows/create-redfs-pr.yml @@ -12,11 +12,42 @@ jobs: runs-on: ubuntu-latest steps: # Checks-out to a different directory to avoid following checkout removing it. - - uses: actions/checkout@v6 + - name: Checkout Linux source repo + uses: actions/checkout@v6 with: + fetch-depth: 10 path: linux - - name: Try to checkout sync-${{ github.ref_name }} if it exists + - name: Generate commit message + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + PR_TITLE: ${{ github.event.pull_request.title }} + BASE_SHA: ${{ github.event.pull_request.base.sha }} + HEAD_SHA: ${{ github.event.pull_request.head.sha }} + REPO_NAME: ${{ github.repository }} + BRANCH_NAME: ${{ github.ref_name }} + run: | + pushd linux + echo -e "Sync with $REPO_NAME branch $BRANCH_NAME\n" > ../commit.msg + echo -e "Sync with $REPO_NAME branch $BRANCH_NAME PR $PR_NUMBER" >> ../commit.msg + echo -e "$PR_TITLE\n" >> ../commit.msg + echo -e "(commit: ${{ github.sha }})\n" >> ../commit.msg + echo "Getting git log $BASE_SHA..$HEAD_SHA" + RET=0 + git log --format="- %h %s" $BASE_SHA..$HEAD_SHA >> ../commit.msg || RET=$? + if [ $RET -ne 0 ]; then + echo "Failed to get git log with range, try to get log with single commit (too many commits?)." + git log --format="- %s" $HEAD_SHA >> ../commit.msg || RET=$? + if [ $RET -ne 0 ]; then + echo "Failed to get git log, exit with error." + exit 1 + fi + fi + echo "Generated commit message:" + cat ../commit.msg + popd + + - name: Try to checkout redfs branch sync-${{ github.ref_name }} if it exists uses: actions/checkout@v6 id: try-checkout continue-on-error: true @@ -27,7 +58,7 @@ jobs: path: redfs token: ${{ secrets.REDFS_TOKEN }} - - name: Fallback to checkout main + - name: Fallback to checkout redfs branch main if: steps.try-checkout.outcome == 'failure' uses: actions/checkout@v6 with: @@ -65,10 +96,9 @@ jobs: pushd redfs ./copy-from-linux-branch.sh $GITHUB_WORKSPACE/linux ${kerver} git add src/$kerver - echo -e "Sync with ${{ github.repository }} branch ${{ github.ref_name }}\n" > ../commit.msg - echo -e "Sync with ${{ github.repository }} branch ${{ github.ref_name }} by commit" >> ../commit.msg - echo -e "${{ github.sha }}" >> ../commit.msg RET=0 + echo "Committing changes with message:" + cat ../commit.msg git commit -F ../commit.msg 2> ../commit.log || RET=$?; if [ -s ../commit.log ]; then echo "Error detcted in commit:" From efb639c0854c0fcae3122401fa5e33e6a53259b5 Mon Sep 17 00:00:00 2001 From: Feng Shuo Date: Wed, 26 Aug 2026 14:57:16 +0800 Subject: [PATCH 5/5] workflow: update the support for 7.0.0 kernel Add version dir for 7.0.0. There is no actual difference for fuse between Ubuntu kernel and vanila Linux kernel, so use 7.0.0 directly. Build bzImage only to make it run shorter, as 7.0.0 is large than 6.8 and 6.17. --- .github/workflows/build-check_aarch64.yml | 2 +- .github/workflows/build-check_x86_64.yml | 2 +- .github/workflows/create-redfs-pr.yml | 2 ++ 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-check_aarch64.yml b/.github/workflows/build-check_aarch64.yml index 60299da7710bc6..d9a82efd6351a0 100644 --- a/.github/workflows/build-check_aarch64.yml +++ b/.github/workflows/build-check_aarch64.yml @@ -21,4 +21,4 @@ jobs: scripts/config --disable SYSTEM_TRUSTED_KEYS scripts/config --disable SYSTEM_REVOCATION_KEYS make olddefconfig - make -j $(nproc) + make -j $(nproc) bzImage diff --git a/.github/workflows/build-check_x86_64.yml b/.github/workflows/build-check_x86_64.yml index 4030aab1796ddc..9419e21084806c 100644 --- a/.github/workflows/build-check_x86_64.yml +++ b/.github/workflows/build-check_x86_64.yml @@ -21,4 +21,4 @@ jobs: scripts/config --disable SYSTEM_TRUSTED_KEYS scripts/config --disable SYSTEM_REVOCATION_KEYS make olddefconfig - make -j $(nproc) + make -j $(nproc) bzImage diff --git a/.github/workflows/create-redfs-pr.yml b/.github/workflows/create-redfs-pr.yml index d66b04e25c4430..c1406c0e48d9fc 100644 --- a/.github/workflows/create-redfs-pr.yml +++ b/.github/workflows/create-redfs-pr.yml @@ -86,8 +86,10 @@ jobs: MAP["redfs-rhel9_4-427.42.1"]="5.14.0-427.42.1.el9_4" MAP["redfs-rhel9_5-503.40.1"]="5.14.0-503.40.1.el9_5" MAP["redfs-rhel9_6-570.12.1"]="5.14.0-570.12.1.el9_6" + MAP["redfs-rhel10_0"]="6.12.0" MAP["redfs-ubuntu-noble-6.8.0-58.60"]="6.8.0-58.60.ubuntu" MAP["redfs-ubuntu-hwe-6.17.0-16.16-24.04.1"]="6.17.0-16.16.ubuntu" + MAP["redfs-ubuntu-resolute-7.0.0-14.14"]="7.0.0" kerver=${MAP["${{ github.ref_name }}"]} if [ -z ${kerver} ]; then echo "Cannot find target kernel version"