Skip to content

Incremental Build

Incremental Build #64

Workflow file for this run

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