name: Build and Test on: pull_request permissions: contents: read jobs: check_lint: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v5 - uses: ./.github/actions/setup-linux - uses: pre-commit/action@v3.0.1 linux_build_and_test: runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v5 - uses: ./.github/actions/setup-linux - uses: ./.github/actions/build-linux mac_build_and_test: if: github.repository == 'ml-explore/mlx' runs-on: [self-hosted, macos] needs: check_lint steps: - uses: actions/checkout@v5 - uses: ./.github/actions/setup-macos - uses: ./.github/actions/build-macos cuda_build_and_test: if: github.repository == 'ml-explore/mlx' runs-on: gpu-t4-4-core needs: check_lint steps: - uses: actions/checkout@v5 - uses: ./.github/actions/setup-linux with: runner-type: 'cuda' - uses: ./.github/actions/build-cuda build_documentation: if: github.repository == 'ml-explore/mlx' runs-on: [self-hosted, macos] needs: check_lint steps: - uses: actions/checkout@v5 - uses: ./.github/actions/build-docs linux_fedora_build_cpp: name: Linux Fedora CPP Build (${{ matrix.arch }}) strategy: fail-fast: false matrix: include: - host: ubuntu-22.04 arch: x86_64 - host: ubuntu-22.04-arm arch: aarch64 runs-on: ${{ matrix.host }} container: image: fedora:42 steps: - name: Checkout code uses: actions/checkout@v5 - name: CPP Build Test - No Release run: | bash ./.github/scripts/setup+build-cpp-linux-fedora-container.sh