mirror of
https://github.com/ggerganov/llama.cpp.git
synced 2024-11-11 21:39:52 +00:00
4cb4d8b22d
GitHub does not expose environment and repository variables to PRs coming from forks implies that we've been disabling the Nix CI actions for most PRs. The `if:` also didn't make much sense, because we can always pull from cachix, and there's no point (albeit no risk either) in pushing cache for the untrusted code.
62 lines
2.1 KiB
YAML
62 lines
2.1 KiB
YAML
name: Nix aarch64 builds
|
|
|
|
on:
|
|
workflow_dispatch: # allows manual triggering
|
|
schedule:
|
|
# Rebuild daily rather than on every push because QEMU is expensive (e.g.
|
|
# 1.5h instead of minutes with the cold cache).
|
|
#
|
|
# randint(0, 59), randint(0, 23)
|
|
- cron: '26 12 * * *'
|
|
# But also rebuild if we touched any of the Nix expressions:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths: ['**/*.nix', 'flake.lock']
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
paths: ['**/*.nix', 'flake.lock']
|
|
|
|
jobs:
|
|
nix-build-aarch64:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
- name: Install QEMU
|
|
# Copy-paste from https://github.com/orgs/community/discussions/8305#discussioncomment-5888654
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y qemu-user-static qemu-system-aarch64
|
|
sudo usermod -a -G kvm $USER
|
|
- name: Install Nix
|
|
uses: DeterminateSystems/nix-installer-action@v9
|
|
with:
|
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
|
extra-conf: |
|
|
extra-platforms = aarch64-linux
|
|
extra-system-features = nixos-test kvm
|
|
extra-substituters = https://llama-cpp.cachix.org https://cuda-maintainers.cachix.org
|
|
extra-trusted-public-keys = llama-cpp.cachix.org-1:H75X+w83wUKTIPSO1KWy9ADUrzThyGs8P5tmAbkWhQc= cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E=
|
|
- uses: DeterminateSystems/magic-nix-cache-action@v2
|
|
with:
|
|
upstream-cache: https://${{ matrix.cachixName }}.cachix.org
|
|
- name: Set-up cachix to push the results to
|
|
uses: cachix/cachix-action@v13
|
|
with:
|
|
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
|
|
name: llama-cpp
|
|
- name: Show all output paths
|
|
run: >
|
|
nix run github:nix-community/nix-eval-jobs
|
|
-- --gc-roots-dir gcroot
|
|
--flake
|
|
".#packages.aarch64-linux"
|
|
- name: Build
|
|
run: >
|
|
nix run github:Mic92/nix-fast-build
|
|
-- --skip-cached --no-nom
|
|
--systems aarch64-linux
|
|
--flake
|
|
".#checks.aarch64-linux"
|