[pull] master from ggerganov:master #24
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: Nix CI | |
on: | |
workflow_dispatch: # allows manual triggering | |
push: | |
branches: | |
- master | |
paths: ['.github/workflows/**', '**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', '**/*.sh', '**/*.py', '**/*.nix'] | |
pull_request: | |
types: [opened, synchronize, reopened] | |
paths: ['**/CMakeLists.txt', '**/Makefile', '**/*.h', '**/*.hpp', '**/*.c', '**/*.cpp', '**/*.cu', '**/*.swift', '**/*.m', '**/*.sh', '**/*.py', '**/*.nix'] | |
jobs: | |
nix-eval: | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@v9 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
extra-conf: | | |
extra-substituters = https://${{ vars.CACHIX_NAME }}.cachix.org https://cuda-maintainers.cachix.org | |
extra-trusted-public-keys = ${{ vars.CACHIX_PUBLIC_KEY }} cuda-maintainers.cachix.org-1:0dq3bujKpuEPMCX6U4WylrUDZ9JyUG0VpVZa7CNfq5E= | |
- uses: DeterminateSystems/magic-nix-cache-action@v2 | |
with: | |
upstream-cache: https://${{ matrix.cachixName }}.cachix.org | |
- name: List all flake outputs | |
run: nix flake show --all-systems | |
- name: Show all output paths | |
run: > | |
nix run github:nix-community/nix-eval-jobs | |
-- --gc-roots-dir gcroot | |
--flake | |
".#packages.$(nix eval --raw --impure --expr builtins.currentSystem)" | |
nix-build: | |
if: ${{ vars.CACHIX_NAME != '' }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Install Nix | |
uses: DeterminateSystems/nix-installer-action@v9 | |
with: | |
github-token: ${{ secrets.GITHUB_TOKEN }} | |
extra-conf: | | |
extra-substituters = https://${{ vars.CACHIX_NAME }}.cachix.org https://cuda-maintainers.cachix.org | |
extra-trusted-public-keys = ${{ vars.CACHIX_PUBLIC_KEY }} 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: ${{ vars.CACHIX_NAME }} | |
- name: Build | |
run: > | |
nix run github:Mic92/nix-fast-build | |
-- --skip-cached --no-nom | |
--flake | |
".#checks.$(nix eval --raw --impure --expr builtins.currentSystem)" | |
nix-build-aarch64: | |
if: ${{ vars.CACHIX_NAME != '' }} | |
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 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://${{ vars.CACHIX_NAME }}.cachix.org https://cuda-maintainers.cachix.org | |
extra-trusted-public-keys = ${{ vars.CACHIX_PUBLIC_KEY }} 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: ${{ vars.CACHIX_NAME }} | |
- 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" |