diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01a69ba9d3b7..9cc94722e459 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,10 +27,12 @@ jobs: toolchain_tripe: riscv32-unknown-linux-gnu- - name: linux-64lp64 toolchain_tripe: riscv64-unknown-linux-gnu- - - name: linux-64lp64-xt - toolchain_tripe: riscv64-unknown-linux-gnu- - name: linux-64ilp32 toolchain_tripe: riscv64-unknown-elf- + - name: linux-64lp64-xt + toolchain_tripe: riscv64-unknown-linux-gnu- + - name: linux-32ilp32-xt + toolchain_tripe: riscv32-unknown-linux-gnu- runs-on: ubuntu-22.04 env: @@ -68,23 +70,41 @@ jobs: mv /opt/Xuantie-900-gcc-linux-5.10.4-glibc-x86_64-V2.6.2 /opt/riscv rm -v ${xt64_toolchain_file_name} fi + if [ x"${{ matrix.name }}" = x"linux-32ilp32-xt" ]; then + wget ${rv32_toolchain}/${rv32_toolchain_file_name} + tar -xvf ${rv32_toolchain_file_name} -C /opt + rm -v ${rv32_toolchain_file_name} + fi + - name: Compile run: | if [ x"${{ matrix.name }}" = x"linux-32ilp32" ]; then export PATH="/opt/riscv/bin:$PATH" + wget https://github.com/torvalds/linux/archive/ffc253263a1375a65fa6c9f62a893e9767fbebfa.tar.gz + tar zxf ffc253263a1375a65fa6c9f62a893e9767fbebfa.tar.gz + mv linux-ffc253263a1375a65fa6c9f62a893e9767fbebfa linux-6.6 + cp arch/riscv/configs/defconfig linux-6.6/arch/riscv/configs/defconfig + cd linux-6.6 make ARCH=riscv EXTRA_CFLAGS+=-g rv32_defconfig all INSTALL_MOD_PATH=./modules_install modules_install INSTALL_HDR_PATH=./headers_install headers_install -j$(nproc) mv arch/riscv/boot/Image ./ cp Documentation/admin-guide/kdump/gdbmacros.txt ./ - git log --oneline -500 > git.log - tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt + tar czvf ${{ matrix.name }}.tar.gz Image vmlinux modules_install headers_install gdbmacros.txt + mv ${{ matrix.name }}.tar.gz ../ + cd .. fi if [ x"${{ matrix.name }}" = x"linux-64lp64" ]; then export PATH="/opt/riscv/bin:$PATH" + wget https://github.com/torvalds/linux/archive/ffc253263a1375a65fa6c9f62a893e9767fbebfa.tar.gz + tar zxf ffc253263a1375a65fa6c9f62a893e9767fbebfa.tar.gz + mv linux-ffc253263a1375a65fa6c9f62a893e9767fbebfa linux-6.6 + cp arch/riscv/configs/defconfig linux-6.6/arch/riscv/configs/defconfig + cd linux-6.6 make ARCH=riscv EXTRA_CFLAGS+=-g defconfig all INSTALL_MOD_PATH=./modules_install modules_install INSTALL_HDR_PATH=./headers_install headers_install -j$(nproc) mv arch/riscv/boot/Image ./ cp Documentation/admin-guide/kdump/gdbmacros.txt ./ - git log --oneline -500 > git.log - tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt + tar czvf ${{ matrix.name }}.tar.gz Image vmlinux modules_install headers_install gdbmacros.txt + mv ${{ matrix.name }}.tar.gz ../ + cd .. fi if [ x"${{ matrix.name }}" = x"linux-64ilp32" ]; then export PATH="/opt/riscv/bin:$PATH" @@ -109,6 +129,14 @@ jobs: git log --oneline -500 > git.log tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt fi + if [ x"${{ matrix.name }}" = x"linux-32ilp32-xt" ]; then + export PATH="/opt/riscv/bin:$PATH" + make ARCH=riscv EXTRA_CFLAGS+=-g rv32_defconfig all INSTALL_MOD_PATH=./modules_install modules_install INSTALL_HDR_PATH=./headers_install headers_install -j$(nproc) + mv arch/riscv/boot/Image ./ + cp Documentation/admin-guide/kdump/gdbmacros.txt ./ + git log --oneline -500 > git.log + tar czvf ${{ matrix.name }}.tar.gz Image vmlinux git.log modules_install headers_install gdbmacros.txt + fi - name: 'Upload Artifact' uses: actions/upload-artifact@v4