Skip to content

GHA: use our own copy of the buildcache action. #37

GHA: use our own copy of the buildcache action.

GHA: use our own copy of the buildcache action. #37

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: opencor/buildcache-action@v1
with:
cache_key: doxygen
- name: Build Doxygen
run: |
export DOXYGEN_RELEASE=Release_${{ env.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: opencor/buildcache-action@v1
with:
cache_key: llvmclang
- name: Build LLVM+Clang
run: |
wget https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-${{ env.LLVMCLANG_VERSION }}.tar.gz -O - | tar -xz
cd llvm-project-llvmorg-${{ env.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-${{ env.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/${{ env.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