Add ccache Github workflow #15
Workflow file for this run
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: build dnf5 with ccache to check for quick build errors | |
on: | |
pull_request: | |
workflow_dispatch: | |
jobs: | |
build-with-ccache: | |
runs-on: ubuntu-latest | |
container: | |
image: fedora:rawhide | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Install dependencies | |
run: | | |
dnf install -y cmake ccache gcc-c++ libtoml | |
- name: Prepare ccache timestamp | |
id: ccache_cache_timestamp | |
shell: cmake -P {0} | |
run: | | |
string(TIMESTAMP current_date "%Y-%m-%d-%H;%M;%S" UTC) | |
message("::set-output name=timestamp::${current_date}") | |
- name: ccache cache files | |
uses: actions/cache@v3 | |
with: | |
path: .ccache | |
key: ${ { matrix.config.name } }-ccache-${ { steps.ccache_cache_timestamp.outputs.timestamp } } | |
restore-keys: | | |
${ { matrix.config.name } }-ccache- | |
- name: Create ccache symlinks to prioritize it over gcc | |
run: | | |
ln -s /usr/bin/ccache /usr/local/bin/gcc | |
ln -s /usr/bin/ccache /usr/local/bin/g++ | |
ln -s /usr/bin/ccache /usr/local/bin/cc | |
ln -s /usr/bin/ccache /usr/local/bin/c++ | |
- name: Build dnf5 | |
run: mkdir build; cmake --build build |