Merge pull request #438 from limine-bootloader/dependabot/github_acti… #3142
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check for compilation failures | |
on: [push, pull_request] | |
jobs: | |
build: | |
name: Check for compilation failures | |
runs-on: ubuntu-latest | |
container: archlinux:latest | |
steps: | |
- name: Install dependencies | |
run: pacman --noconfirm -Syu && pacman --needed --noconfirm -S base-devel git autoconf automake nasm curl mtools llvm clang lld | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
- name: Git config | |
run: git config --global --add safe.directory "$GITHUB_WORKSPACE" | |
- name: Build the bootloader (LLVM) | |
run: ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=llvm --enable-werror --enable-all && make all && make maintainer-clean | |
- name: Set cross GCC version | |
run: echo "GCC_VERSION=14.2.0" >> $GITHUB_ENV | |
- name: Download GCC cross toolchains | |
run: | | |
set -e | |
for i in aarch64 loongarch64 riscv64 x86_64; do | |
curl -Lo x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/x86_64/${{ env.GCC_VERSION }}/x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz | |
tar -xf x86_64-gcc-${{ env.GCC_VERSION }}-nolibc-$i-linux.tar.gz | |
done | |
- name: Build the bootloader (GNU, x86) | |
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/x86_64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=x86_64-linux --enable-werror --enable-bios --enable-uefi-ia32 --enable-uefi-x86-64 && make all && make maintainer-clean | |
- name: Build the bootloader (GNU, aarch64) | |
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/aarch64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=aarch64-linux --enable-werror --enable-uefi-aarch64 && make all && make maintainer-clean | |
- name: Build the bootloader (GNU, riscv64) | |
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/riscv64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=riscv64-linux --enable-werror --enable-uefi-riscv64 && make all && make maintainer-clean | |
- name: Build the bootloader (GNU, loongarch64) | |
run: export PATH="$(pwd -P)"/gcc-${{ env.GCC_VERSION }}-nolibc/loongarch64-linux/bin:"$PATH" && ./bootstrap && ./configure TOOLCHAIN_FOR_TARGET=loongarch64-linux --enable-werror --enable-uefi-loongarch64 && make all && make maintainer-clean |