ci: add sccache [part 1] (#7704)

* ci: add sccache

* sccache no daemon, no incremental

* debug log sccache

* test: bump honkers

* don't run sccache in foreground

* change cache key, add cache config file

* set config somewhere else

* funny

* oops

* hack: use upstream cache action

* use separate script files

* port over upstream cache scripts properly

* don't copy sccache config

* cursed caching stuff

* ensure cache is put in the right place

* try to assert stuff

* use upstream sccache for now

* Revert back to upstream build of sccache

turns out Fedora's builds don't even have GHA support

* Revert to default logging

* Revert "test: bump honkers"

This reverts commit 3c711c18ee.
This commit is contained in:
Pornpipat Popum
2025-11-26 22:23:29 +07:00
committed by GitHub
parent 5750869bc4
commit 809e605c41
3 changed files with 318 additions and 1 deletions
+25 -1
View File
@@ -18,6 +18,11 @@ on:
required: false
type: string
default: ""
bust_cache:
description: "Whether to bust the cache"
required: false
type: boolean
default: false
workflow_dispatch:
inputs:
packages:
@@ -30,6 +35,12 @@ on:
type: boolean
default: true
env:
RUSTC_WRAPPER: sccache
# SCCACHE_NO_DAEMON: "1"
# Disable incremental compilation so sccache works better
CARGO_INCREMENTAL: "false"
jobs:
build:
strategy:
@@ -64,6 +75,19 @@ jobs:
dir=$(dirname ${{ matrix.pkg.pkg }})
dnf5 builddep -y ${dir}/*.spec
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.9
- name: Configure sccache
run: |
set -euo pipefail
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
if [ "${{ inputs.bust_cache }}" = "true" ]; then
echo "SCCACHE_BUST_CACHE=true" >> $GITHUB_ENV
fi
- name: Build with Andaman
run: anda build -D "vendor Terra" ${{ matrix.pkg.pkg }} -c terra-${{ matrix.version }}-${{ matrix.pkg.arch }} ${{ !matrix.pkg.labels.mock == '1' && '-rrpmbuild' || '' }}
@@ -105,4 +129,4 @@ jobs:
run: ./.github/workflows/mg.sh true "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
- name: Notify Madoguchi (Failure)
if: inputs.publish && (cancelled() || failure())
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"
run: ./.github/workflows/mg.sh false "${{matrix.pkg.pkg}}" "${{matrix.version}}" "${{matrix.pkg.arch}}" "${{github.run_id}}" "${{secrets.MADOGUCHI_JWT}}" "$GITHUB_SHA"