Skip to content

Added buildcache for Ubuntu ARM. #29

Added buildcache for Ubuntu ARM.

Added buildcache for Ubuntu ARM. #29

Workflow file for this run

name: GitHub Actions tools
on:
push:
branches: [ master ]
workflow_dispatch:
jobs:
doxygen:
name: Doxygen
runs-on: ubuntu-22.04
env:
BUILDCACHE_ACCURACY: STRICT
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_DEBUG: -1
BUILDCACHE_LOG_FILE: ""
DOXYGEN_VERSION: 1.9.3
steps:
- name: Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: Install buildcache
uses: mikehardy/buildcache-action@v2
with:
cache_key: doxygen
- name: Build Doxygen
run: |
export DOXYGEN_RELEASE=Release_${DOXYGEN_VERSION//./_}
wget https://github.com/doxygen/doxygen/archive/refs/tags/${DOXYGEN_RELEASE}.tar.gz -O - | tar -xz
cd doxygen-${DOXYGEN_RELEASE}
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja
cd bin
tar -cz doxygen -f ${{github.workspace}}/doxygen.tar.gz
ls -lh ${{github.workspace}}
- name: Upload Doxygen artifact
uses: actions/upload-artifact@v4
with:
name: Doxygen
path: ${{github.workspace}}/doxygen.tar.gz
llvm-clang:
name: LLVM+Clang tools
runs-on: ubuntu-22.04
env:
BUILDCACHE_ACCURACY: STRICT
BUILDCACHE_COMPRESS_FORMAT: ZSTD
BUILDCACHE_DEBUG: -1
BUILDCACHE_LOG_FILE: ""
LLVMCLANG_MAJOR_VERSION: 19
LLVMCLANG_VERSION: 19.1.7
steps:
- name: Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: Install buildcache
uses: mikehardy/buildcache-action@v2
with:
cache_key: llvmclang
- name: Build LLVM+Clang
run: |
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${LLVMCLANG_VERSION}.tar.gz -O - | tar -xz
cd llvm-project-llvmorg-${LLVMCLANG_VERSION}
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" -DLLVM_TARGETS_TO_BUILD=X86 ../llvm
ninja
cd bin
\rm clang
cp -p clang-${LLVMCLANG_MAJOR_VERSION} clang
tar -cz clang -f ${{github.workspace}}/clang.tar.gz
tar -cz clang-format -f ${{github.workspace}}/clang-format.tar.gz
tar -cz clang-tidy -f ${{github.workspace}}/clang-tidy.tar.gz
cd ../lib/clang/${LLVMCLANG_MAJOR_VERSION}
tar -cz . -f ${{github.workspace}}/clang-include.tar.gz
ls -lh ${{github.workspace}}
- name: Upload LLVM+Clang tools artifact
uses: actions/upload-artifact@v4
with:
name: LLVM+Clang tools
path: ${{github.workspace}}/clang*.tar.gz
buildcache:
name: buildcache
runs-on: ubuntu-22.04-arm
env:
BUILDCACHE_VERSION: 0.31.3
steps:
- name: Install CMake and Ninja
uses: lukka/get-cmake@latest
- name: Build buildcache
run: |
wget https://gitlab.com/bits-n-bites/buildcache/-/archive/v${BUILDCACHE_VERSION}/buildcache-v${BUILDCACHE_VERSION}.tar.gz -O - | tar -xz
cd buildcache-v${BUILDCACHE_VERSION}
mkdir build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ../src
ninja
tar -cz buildcache -f ${{github.workspace}}/buildcache.tar.gz
ls -lh ${{github.workspace}}
- name: Upload buildcache artifact
uses: actions/upload-artifact@v4
with:
name: buildcache
path: ${{github.workspace}}/buildcache.tar.gz