From f1b61c3e0c7a16d76f931600cdb42466dbffda73 Mon Sep 17 00:00:00 2001 From: Guru Deshpande Date: Mon, 22 Jun 2026 17:09:56 -0700 Subject: [PATCH 1/4] build: exclude packages newer than 7 days --- pyproject.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pyproject.toml b/pyproject.toml index 8dd045c..1154fd1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -177,6 +177,8 @@ environments = [ "sys_platform == 'darwin' and platform_machine == 'arm64'", "sys_platform == 'linux' and platform_machine == 'x86_64'", ] +exclude-newer = "7 days" +exclude-newer-package = { coreai-core = false, coreai-torch = false } # Declare conflicting groups so uv does not error conflicts = [ [ From 397617f5ee08b1ab445c70a2e39288a6dffb5b29 Mon Sep 17 00:00:00 2001 From: Guru Deshpande Date: Mon, 22 Jun 2026 17:10:00 -0700 Subject: [PATCH 2/4] ci: add github CI workflow --- .github/workflows/ci.yaml | 50 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml new file mode 100644 index 0000000..9de050f --- /dev/null +++ b/.github/workflows/ci.yaml @@ -0,0 +1,50 @@ +name: CI + +on: + pull_request: + branches: [main] + push: + branches: [main] + +permissions: + contents: read + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + + check: + name: make check + if: github.repository == 'apple/coreai-optimization' + runs-on: [self-hosted, macos, tahoe, ARM64] + timeout-minutes: 30 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - name: Install uv + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + with: + enable-cache: false + - run: make check + + macos-tests: + name: macos / torch=highest / fast + needs: [check] + if: github.repository == 'apple/coreai-optimization' + runs-on: [self-hosted, macos, tahoe, ARM64] + timeout-minutes: 60 + steps: + - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + - name: Install uv + uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 + with: + enable-cache: false + - name: Run tests + run: make test-highest-pytorch PYTEST_ARGS="--marker 'not slow' --junit" + - name: Upload test results + if: always() + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: test-results-macos-highest-fast + path: test-results/ From fb7d6e70c2603e3b4f10920c1dbabf7ca872dc8a Mon Sep 17 00:00:00 2001 From: Guru Deshpande Date: Mon, 22 Jun 2026 17:42:53 -0700 Subject: [PATCH 3/4] style: fix pyproject toml formatting --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 1154fd1..509ff14 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [build-system] build-backend = "setuptools.build_meta" -requires = [ "setuptools>=42", "wheel" ] +requires = [ "setuptools>=42" ] [project] name = "coreai-opt" From cd6cf85af2789d897da3b5bd8068a7a693ef6ab3 Mon Sep 17 00:00:00 2001 From: Guru Deshpande Date: Mon, 22 Jun 2026 18:17:39 -0700 Subject: [PATCH 4/4] ci: fix darker diff base (fetch-depth 0 + origin/main...) --- .github/workflows/ci.yaml | 2 ++ configs/darker.toml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9de050f..ff65f2a 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -22,6 +22,8 @@ jobs: timeout-minutes: 30 steps: - uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3 + with: + fetch-depth: 0 - name: Install uv uses: astral-sh/setup-uv@fac544c07dec837d0ccb6301d7b5580bf5edae39 # v8.2.0 with: diff --git a/configs/darker.toml b/configs/darker.toml index e882829..b1bb3dc 100644 --- a/configs/darker.toml +++ b/configs/darker.toml @@ -5,5 +5,5 @@ formatter = "ruff" # We concluded that 88 is too restrictive for some use cases, so we use 100 # Darker should override tool.ruff, but does not line-length = 100 -revision = "main" +revision = "origin/main..." target-version = "py311"