1# Generated from xtask::workflows::nix_build
2# Rebuild with `cargo xtask workflows`.
3name: nix_build
4on:
5 workflow_call:
6 inputs:
7 flake-output:
8 type: string
9 default: default
10 cachix-filter:
11 type: string
12jobs:
13 build_nix_linux_x86_64:
14 if: github.repository_owner == 'zed-industries'
15 runs-on: namespace-profile-32x64-ubuntu-2004
16 env:
17 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
18 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
19 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
20 GIT_LFS_SKIP_SMUDGE: '1'
21 steps:
22 - name: steps::checkout_repo
23 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
24 with:
25 clean: false
26 - name: nix_build::install_nix
27 uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f
28 with:
29 github_access_token: ${{ secrets.GITHUB_TOKEN }}
30 - name: nix_build::cachix_action
31 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
32 with:
33 name: zed
34 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
35 cachixArgs: -v
36 pushFilter: ${{ inputs.cachix-filter }}
37 - name: nix_build::build
38 run: nix build .#${{ inputs.flake-output }} -L --accept-flake-config
39 shell: bash -euxo pipefail {0}
40 timeout-minutes: 60
41 continue-on-error: true
42 build_nix_mac_aarch64:
43 if: github.repository_owner == 'zed-industries'
44 runs-on: self-mini-macos
45 env:
46 ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }}
47 ZED_MINIDUMP_ENDPOINT: ${{ secrets.ZED_SENTRY_MINIDUMP_ENDPOINT }}
48 ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }}
49 GIT_LFS_SKIP_SMUDGE: '1'
50 steps:
51 - name: steps::checkout_repo
52 uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
53 with:
54 clean: false
55 - name: nix_build::set_path
56 run: |
57 echo "/nix/var/nix/profiles/default/bin" >> "$GITHUB_PATH"
58 echo "/Users/administrator/.nix-profile/bin" >> "$GITHUB_PATH"
59 shell: bash -euxo pipefail {0}
60 - name: nix_build::cachix_action
61 uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad
62 with:
63 name: zed
64 authToken: ${{ secrets.CACHIX_AUTH_TOKEN }}
65 cachixArgs: -v
66 pushFilter: ${{ inputs.cachix-filter }}
67 - name: nix_build::build
68 run: nix build .#${{ inputs.flake-output }} -L --accept-flake-config
69 shell: bash -euxo pipefail {0}
70 - name: nix_build::limit_store
71 run: |-
72 if [ "$(du -sm /nix/store | cut -f1)" -gt 50000 ]; then
73 nix-collect-garbage -d || true
74 fi
75 shell: bash -euxo pipefail {0}
76 timeout-minutes: 60
77 continue-on-error: true