diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2d644c1d51..5a35bda862 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -706,6 +706,51 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + nix-build: + timeout-minutes: 60 + name: (${{ matrix.system.os }}) Nix Build + continue-on-error: true + if: github.repository_owner == 'zed-industries' && contains(github.event.pull_request.labels.*.name, 'run-nix') + strategy: + fail-fast: false + matrix: + system: + - os: x86 Linux + runner: buildjet-16vcpu-ubuntu-2204 + install_nix: true + - os: arm Mac + runner: [macOS, ARM64, test] + install_nix: false + runs-on: ${{ matrix.system.runner }} + env: + ZED_CLIENT_CHECKSUM_SEED: ${{ secrets.ZED_CLIENT_CHECKSUM_SEED }} + ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON: ${{ secrets.ZED_CLOUD_PROVIDER_ADDITIONAL_MODELS_JSON }} + GIT_LFS_SKIP_SMUDGE: 1 # breaks the livekit rust sdk examples which we don't actually depend on + steps: + - name: Checkout repo + uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 + with: + clean: false + - name: Set path + if: ${{ ! matrix.system.install_nix }} + run: | + echo "/nix/var/nix/profiles/default/bin" >> $GITHUB_PATH + echo "/Users/administrator/.nix-profile/bin" >> $GITHUB_PATH + + - uses: cachix/install-nix-action@02a151ada4993995686f9ed4f1be7cfbb229e56f # v31 + if: ${{ matrix.system.install_nix }} + with: + github_access_token: ${{ secrets.GITHUB_TOKEN }} + + - uses: cachix/cachix-action@0fc020193b5a1fa3ac4575aa3a7d3aa6a35435ad # v16 + with: + name: zed-industries + authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" + skipPush: true + - run: nix build .#debug + - name: Limit /nix/store to 50GB + run: '[ $(du -sm /nix/store | cut -f1) -gt 50000 ] && nix-collect-garbage -d' + auto-release-preview: name: Auto release preview if: | diff --git a/.github/workflows/release_nightly.yml b/.github/workflows/release_nightly.yml index fb7de2267f..18135630e1 100644 --- a/.github/workflows/release_nightly.yml +++ b/.github/workflows/release_nightly.yml @@ -216,7 +216,8 @@ jobs: name: zed-industries authToken: "${{ secrets.CACHIX_AUTH_TOKEN }}" - run: nix build - - run: nix-collect-garbage -d + - name: Limit /nix/store to 50GB + run: '[ $(du -sm /nix/store | cut -f1) -gt 50000 ] && nix-collect-garbage -d' update-nightly-tag: name: Update nightly tag