diff --git a/.github/workflows/file_verification.yml b/.github/workflows/file_verification.yml index 94f36443ba8..835566c9978 100644 --- a/.github/workflows/file_verification.yml +++ b/.github/workflows/file_verification.yml @@ -8,7 +8,7 @@ on: jobs: run: timeout-minutes: 45 - runs-on: warp-ubuntu-latest-x64-8x + runs-on: ubuntu-24.04-8x steps: - name: Checkout repository uses: actions/checkout@v4 diff --git a/.github/workflows/java-publish.yml b/.github/workflows/java-publish.yml index 320c3a910b2..c9b244c8397 100644 --- a/.github/workflows/java-publish.yml +++ b/.github/workflows/java-publish.yml @@ -24,7 +24,7 @@ on: jobs: linux-arm64: name: Build on Linux Arm64 - runs-on: ubuntu-2404-8x-arm64 + runs-on: ubuntu-24.04-arm64-4x timeout-minutes: 60 steps: - name: Checkout repository @@ -180,7 +180,7 @@ jobs: if-no-files-found: error macos-arm64: name: Build on MacOS Arm64 and release - runs-on: warp-macos-14-arm64-6x + runs-on: macos-14-xlarge timeout-minutes: 60 needs: - linux-arm64 diff --git a/.github/workflows/nightly_run.yml b/.github/workflows/nightly_run.yml index 0c2c609e438..2f1f0817dbe 100644 --- a/.github/workflows/nightly_run.yml +++ b/.github/workflows/nightly_run.yml @@ -19,7 +19,7 @@ jobs: jumbo-tests: # jumbo tests need more resources - runs-on: warp-ubuntu-latest-x64-8x + runs-on: ubuntu-24.04-4x if: github.repository == 'lancedb/lance' timeout-minutes: 60 permissions: diff --git a/.github/workflows/pypi-publish.yml b/.github/workflows/pypi-publish.yml index 3c941b246ce..a70618bf24c 100644 --- a/.github/workflows/pypi-publish.yml +++ b/.github/workflows/pypi-publish.yml @@ -6,22 +6,22 @@ on: workflow_dispatch: inputs: ref: - description: 'Git ref to checkout (branch, tag, or SHA)' + description: "Git ref to checkout (branch, tag, or SHA)" required: false - default: '' + default: "" type: string debug: - description: 'Build debug wheels (with debug symbols)' + description: "Build debug wheels (with debug symbols)" required: false default: true type: boolean pull_request: paths: - - '.github/workflows/pypi-publish.yml' - - '.github/workflows/build_linux_wheel/**' - - '.github/workflows/build_mac_wheel/**' - - '.github/workflows/build_windows_wheel/**' - - '.github/workflows/upload_wheel/**' + - ".github/workflows/pypi-publish.yml" + - ".github/workflows/build_linux_wheel/**" + - ".github/workflows/build_mac_wheel/**" + - ".github/workflows/build_windows_wheel/**" + - ".github/workflows/upload_wheel/**" jobs: linux: @@ -29,7 +29,7 @@ jobs: name: Python Linux 3.${{ matrix.python-minor-version }} ${{ matrix.config.platform }} manylinux${{ matrix.config.manylinux }} strategy: matrix: - python-minor-version: [ "9" ] + python-minor-version: ["9"] config: - platform: x86_64 manylinux: "2_17" @@ -42,54 +42,54 @@ jobs: - platform: aarch64 manylinux: "2_17" extra_args: "" - runner: warp-ubuntu-2404-arm64-4x + runner: ubuntu-24.04-arm64-4x - platform: aarch64 manylinux: "2_28" extra_args: "--features fp16kernels" - runner: warp-ubuntu-2404-arm64-4x + runner: ubuntu-24.04-arm64-4x runs-on: ${{ matrix.config.runner }} steps: - - uses: actions/checkout@v4 - with: - ref: ${{ inputs.ref || github.ref }} - fetch-depth: 0 - lfs: true - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.${{ matrix.python-minor-version }} - - name: Handle tag - id: handle_tag - run: | - # If the tag ends with -beta.N or -rc.N, we need to call setup_version.py - # and export repo as "fury" instead of "pypi" - if [[ ${{ github.ref }} == refs/tags/*-beta.* ]] || [[ ${{ github.ref }} == refs/tags/*-rc.* ]]; then - TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') - pip install packaging - python ci/setup_version.py $TAG - echo "repo=fury" >> $GITHUB_OUTPUT - else - echo "repo=pypi" >> $GITHUB_OUTPUT - fi - - uses: ./.github/workflows/build_linux_wheel - with: - python-minor-version: ${{ matrix.python-minor-version }} - args: "--release ${{ (github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && !inputs.debug)) && '--strip' || '' }} ${{ matrix.config.extra_args }}" - arm-build: ${{ matrix.config.platform == 'aarch64' }} - manylinux: ${{ matrix.config.manylinux }} - - name: Upload wheels as artifacts - if: github.event_name == 'workflow_dispatch' - uses: actions/upload-artifact@v4 - with: - name: pylance-debug-manylinux_${{ matrix.config.manylinux }}_${{ matrix.config.platform }} - path: python/target/wheels/*.whl - retention-days: 90 - - uses: ./.github/workflows/upload_wheel - if: github.event_name == 'release' - with: - pypi_token: ${{ secrets.PYPI_TOKEN }} - fury_token: ${{ secrets.FURY_TOKEN }} - repo: ${{ steps.handle_tag.outputs.repo }} + - uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref || github.ref }} + fetch-depth: 0 + lfs: true + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.${{ matrix.python-minor-version }} + - name: Handle tag + id: handle_tag + run: | + # If the tag ends with -beta.N or -rc.N, we need to call setup_version.py + # and export repo as "fury" instead of "pypi" + if [[ ${{ github.ref }} == refs/tags/*-beta.* ]] || [[ ${{ github.ref }} == refs/tags/*-rc.* ]]; then + TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') + pip install packaging + python ci/setup_version.py $TAG + echo "repo=fury" >> $GITHUB_OUTPUT + else + echo "repo=pypi" >> $GITHUB_OUTPUT + fi + - uses: ./.github/workflows/build_linux_wheel + with: + python-minor-version: ${{ matrix.python-minor-version }} + args: "--release ${{ (github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && !inputs.debug)) && '--strip' || '' }} ${{ matrix.config.extra_args }}" + arm-build: ${{ matrix.config.platform == 'aarch64' }} + manylinux: ${{ matrix.config.manylinux }} + - name: Upload wheels as artifacts + if: github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v4 + with: + name: pylance-debug-manylinux_${{ matrix.config.manylinux }}_${{ matrix.config.platform }} + path: python/target/wheels/*.whl + retention-days: 90 + - uses: ./.github/workflows/upload_wheel + if: github.event_name == 'release' + with: + pypi_token: ${{ secrets.PYPI_TOKEN }} + fury_token: ${{ secrets.FURY_TOKEN }} + repo: ${{ steps.handle_tag.outputs.repo }} mac: timeout-minutes: 60 runs-on: ${{ matrix.config.runner }} @@ -98,51 +98,51 @@ jobs: python-minor-version: ["9"] config: - target: x86_64-apple-darwin - runner: macos-13 + runner: macos-13-large - target: aarch64-apple-darwin - runner: macos-14 + runner: macos-14-xlarge env: MACOSX_DEPLOYMENT_TARGET: 10.15 steps: - - uses: actions/checkout@v4 - with: - ref: ${{ inputs.ref || github.ref }} - fetch-depth: 0 - lfs: true - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.13 - - name: Handle tag - id: handle_tag - run: | - # If the tag ends with -beta.N or -rc.N, we need to call setup_version.py - # and export repo as "fury" instead of "pypi" - if [[ ${{ github.ref }} == refs/tags/*-beta.* ]] || [[ ${{ github.ref }} == refs/tags/*-rc.* ]]; then - TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') - pip install packaging - python ci/setup_version.py $TAG - echo "repo=fury" >> $GITHUB_OUTPUT - else - echo "repo=pypi" >> $GITHUB_OUTPUT - fi - - uses: ./.github/workflows/build_mac_wheel - with: - python-minor-version: ${{ matrix.python-minor-version }} - args: "--release ${{ (github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && !inputs.debug)) && '--strip' || '' }} --target ${{ matrix.config.target }} --features fp16kernels" - - name: Upload wheels as artifacts - if: github.event_name == 'workflow_dispatch' - uses: actions/upload-artifact@v4 - with: - name: pylance-debug-macosx_${{ matrix.config.target == 'x86_64-apple-darwin' && 'x86_64' || 'arm64' }} - path: python/target/wheels/*.whl - retention-days: 90 - - uses: ./.github/workflows/upload_wheel - if: github.event_name == 'release' - with: - pypi_token: ${{ secrets.PYPI_TOKEN }} - fury_token: ${{ secrets.FURY_TOKEN }} - repo: ${{ steps.handle_tag.outputs.repo }} + - uses: actions/checkout@v4 + with: + ref: ${{ inputs.ref || github.ref }} + fetch-depth: 0 + lfs: true + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: 3.13 + - name: Handle tag + id: handle_tag + run: | + # If the tag ends with -beta.N or -rc.N, we need to call setup_version.py + # and export repo as "fury" instead of "pypi" + if [[ ${{ github.ref }} == refs/tags/*-beta.* ]] || [[ ${{ github.ref }} == refs/tags/*-rc.* ]]; then + TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') + pip install packaging + python ci/setup_version.py $TAG + echo "repo=fury" >> $GITHUB_OUTPUT + else + echo "repo=pypi" >> $GITHUB_OUTPUT + fi + - uses: ./.github/workflows/build_mac_wheel + with: + python-minor-version: ${{ matrix.python-minor-version }} + args: "--release ${{ (github.event_name == 'release' || (github.event_name == 'workflow_dispatch' && !inputs.debug)) && '--strip' || '' }} --target ${{ matrix.config.target }} --features fp16kernels" + - name: Upload wheels as artifacts + if: github.event_name == 'workflow_dispatch' + uses: actions/upload-artifact@v4 + with: + name: pylance-debug-macosx_${{ matrix.config.target == 'x86_64-apple-darwin' && 'x86_64' || 'arm64' }} + path: python/target/wheels/*.whl + retention-days: 90 + - uses: ./.github/workflows/upload_wheel + if: github.event_name == 'release' + with: + pypi_token: ${{ secrets.PYPI_TOKEN }} + fury_token: ${{ secrets.FURY_TOKEN }} + repo: ${{ steps.handle_tag.outputs.repo }} windows: timeout-minutes: 60 runs-on: windows-latest @@ -163,7 +163,7 @@ jobs: id: handle_tag shell: bash run: | - # If the tag ends with -beta.N, we need to call setup_version.py + # If the tag ends with -beta.N, we need to call setup_version.py # and export repo as "fury" instead of "pypi" if [[ ${{ github.ref }} == refs/tags/*-beta.* ]]; then TAG=$(echo ${{ github.ref }} | sed 's/refs\/tags\///') diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml index 3e4d03b686e..53fd74a6f0f 100644 --- a/.github/workflows/python.yml +++ b/.github/workflows/python.yml @@ -155,7 +155,7 @@ jobs: linux-arm: timeout-minutes: 45 - runs-on: warp-ubuntu-2404-arm64-4x + runs-on: ubuntu-24.04-arm64-4x name: Python Linux 3.13 ARM defaults: run: @@ -187,7 +187,7 @@ jobs: mac: timeout-minutes: 45 name: Python macOS 3.13 ARM - runs-on: "macos-14" + runs-on: "macos-14-xlarge" defaults: run: shell: bash diff --git a/.github/workflows/rust-benchmark.yml b/.github/workflows/rust-benchmark.yml index 522d01713a3..498d4173da1 100644 --- a/.github/workflows/rust-benchmark.yml +++ b/.github/workflows/rust-benchmark.yml @@ -29,7 +29,7 @@ env: jobs: Benchmark: - runs-on: warp-ubuntu-latest-arm64-8x + runs-on: ubuntu-24.04-arm64-4x timeout-minutes: 120 steps: - name: Apt-get diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index fbf1978113f..6b4a43b4333 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -104,7 +104,7 @@ jobs: flags: unittests fail_ci_if_error: false linux-arm: - runs-on: warp-ubuntu-2404-arm64-4x + runs-on: ubuntu-24.04-arm64-4x timeout-minutes: 75 steps: - uses: actions/checkout@v4 @@ -129,7 +129,7 @@ jobs: ALL_FEATURES=`cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | .features | keys | .[]' | grep -v protoc | sort | uniq | paste -s -d "," -` cargo test --profile ci --locked --features ${ALL_FEATURES} build-no-lock: - runs-on: warp-ubuntu-2404-x64-8x + runs-on: ubuntu-24.04-8x timeout-minutes: 30 env: # Need up-to-date compilers for kernels @@ -150,7 +150,7 @@ jobs: ALL_FEATURES=`cargo metadata --format-version=1 --no-deps | jq -r '.packages[] | .features | keys | .[]' | grep -v protoc | sort | uniq | paste -s -d "," -` cargo build --profile ci --benches --features ${ALL_FEATURES} --tests mac-build: - runs-on: warp-macos-14-arm64-6x + runs-on: macos-14-xlarge timeout-minutes: 45 strategy: matrix: @@ -182,7 +182,7 @@ jobs: run: | cargo check --profile ci --benches --features fp16kernels,cli,dynamodb,substrait windows-build: - runs-on: warp-windows-latest-x64-4x + runs-on: windows-latest-4x defaults: run: working-directory: rust