CI: move download caching to a composite action
I intend to split the "CI" workflow into a "check" and "build for cachix" workflow, and both will use this action.
This commit is contained in:
parent
6899c075ca
commit
8ceb9a7431
2 changed files with 42 additions and 20 deletions
40
.github/actions/cache-downloads/action.yml
vendored
Normal file
40
.github/actions/cache-downloads/action.yml
vendored
Normal file
|
|
@ -0,0 +1,40 @@
|
||||||
|
# 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 }}
|
||||||
22
.github/workflows/ci.yml
vendored
22
.github/workflows/ci.yml
vendored
|
|
@ -58,26 +58,8 @@ jobs:
|
||||||
nix flake update --commit-lock-file
|
nix flake update --commit-lock-file
|
||||||
- name: Check flake.lock
|
- name: Check flake.lock
|
||||||
uses: DeterminateSystems/flake-checker-action@main
|
uses: DeterminateSystems/flake-checker-action@main
|
||||||
# Update the caches daily, flush the cache monthly.
|
- name: Cache downloads
|
||||||
- name: Set cache keys
|
uses: ./.github/actions/cache-downloads
|
||||||
id: cache-keys
|
|
||||||
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 }}
|
|
||||||
- name: nix flake check
|
- name: nix flake check
|
||||||
run: nix flake check -L --show-trace
|
run: nix flake check -L --show-trace
|
||||||
- name: Build packages for Cachix
|
- name: Build packages for Cachix
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue