Incremental Build #64
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: Incremental Build | |
on: | |
push: | |
branches: ["main"] | |
schedule: | |
- cron: "30 12 * * 0" # Run once every Sunday | |
jobs: | |
build_llvm: | |
runs-on: ubuntu-latest | |
container: | |
image: registry.fedoraproject.org/fedora:latest | |
options: --privileged --device /dev/fuse:rw --security-opt label=disable --security-opt seccomp=unconfined | |
name: Build LLVM | |
steps: | |
- name: Cache DNF | |
id: cache-dnf | |
uses: pat-s/[email protected] | |
with: | |
path: /var/cache/dnf | |
key: ${{ runner.os }}-dnf | |
- name: Download dependencies and refresh metadata | |
run: | | |
dnf install qemu cmake make git clang lld ninja-build python3-pip git-core ccache -y \ | |
--setopt install_weak_deps=false \ | |
--setopt keepcache=true \ | |
--nodocs | |
pip3 install meson | |
# - name: Cache build | |
# id: cache-build | |
# uses: actions/[email protected] | |
# with: | |
# path: /home/runner/work/LLVM-embedded-toolchain-for-Arm/LLVM-embedded-toolchain-for-Arm | |
# key: ${{ runner.os }}-build | |
- name: CCache build | |
uses: hendrikmuhs/[email protected] | |
with: | |
key: ${{ runner.os }}-ccache | |
- name: Check out repo | |
uses: actions/checkout@v3 | |
with: | |
repository: 'ARM-software/LLVM-embedded-toolchain-for-Arm' | |
clean: 'false' | |
- name: Git login | |
run: | | |
git config --global user.name "GitHub Actions" | |
git config --global user.email "[email protected]" | |
- name: Build LLVM | |
run: | | |
git config --global --add safe.directory "*" | |
cmake -G Ninja -B out . \ | |
-D LLVM_ENABLE_PROJECTS='clang;lld;lldb' \ | |
-D CMAKE_C_COMPILER=clang \ | |
-D CMAKE_CXX_COMPILER=clang++ \ | |
-D LLVM_CCACHE_BUILD=ON | |
cmake --build out -j$(nproc) | |
- name: Test LLVM | |
run: | | |
cmake --build out --target check-llvm-toolchain | |
- name: Package LLVM | |
run: | | |
cmake --build out --target package-llvm-toolchain | |
ls | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: toolchain-picolibc-arm-none-eabi.tar.gz | |
path: out/*.tar.gz |