I intend to split the "CI" workflow into a "check" and "build for cachix" workflow, and both will use this action.
40 lines
1.4 KiB
YAML
40 lines
1.4 KiB
YAML
# Copyright 2024 Google LLC
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
name: 'Cache downloads'
|
|
description: "Cache Nix's git and tarball cache in GitHub's action cache."
|
|
runs:
|
|
using: "composite"
|
|
steps:
|
|
# Update the caches daily, flush the cache monthly.
|
|
- name: Set cache keys
|
|
id: cache-keys
|
|
shell: bash
|
|
run: |
|
|
{
|
|
echo "key=$(date +'%Y-%m-%d')"
|
|
echo "restore=$(date +'%Y-%m-')"
|
|
} >> "$GITHUB_OUTPUT"
|
|
- name: Cache git checkouts
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/nix/gitv3
|
|
key: nix-gitv3-cache-${{ steps.cache-keys.outputs.key }}
|
|
restore-keys: nix-gitv3-cache-${{ steps.cache-keys.outputs.restore }}
|
|
- name: Cache tarballs
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/.cache/nix/tarball-cache
|
|
key: nix-tarball-cache-${{ steps.cache-keys.outputs.key }}
|
|
restore-keys: nix-tarball-cache-${{ steps.cache-keys.outputs.restore }}
|