name: Build on: push: paths-ignore: - ".zed/**" - "assets/**" - "docs/**" - "CHANGELOG.md" - "README.md" branches: - "main" - "next" pull_request: concurrency: group: ci-${{ github.ref }} cancel-in-progress: true permissions: actions: write # Allow canceling in-progress runs contents: read # Read access to the repository jobs: native: name: native runs-on: ubuntu-latest steps: - name: Check out the repo uses: actions/checkout@v4 - name: Setup Mise uses: jdx/mise-action@v2 - name: Set caching paths shell: bash run: | echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV echo "GO_CACHE=$(go env GOCACHE)" >> $GITHUB_ENV echo "GO_MODCACHE=$(go env GOMODCACHE)" >> $GITHUB_ENV - uses: actions/cache@v4 name: Setup pnpm cache with: path: ${{ env.STORE_PATH }} key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }} restore-keys: | ${{ runner.os }}-pnpm-store- - name: Setup Go cache uses: actions/cache@v4 with: path: | ${{ env.GO_CACHE }} ${{ env.GO_MODCACHE }} key: ${{ runner.os }}-go-${{ hashFiles('**/go.mod', '**/go.sum') }} - name: CI pipeline run: ./build.sh --skip-pnpm-prune nix: name: nix runs-on: ubuntu-latest steps: - name: Check out the repo uses: actions/checkout@v4 - name: Install Nix uses: DeterminateSystems/nix-installer-action@main with: determinate: true - name: Check flake inputs uses: DeterminateSystems/flake-checker-action@main - name: Check flake outputs run: nix flake check --all-systems