Skip to content
Merged
Show file tree
Hide file tree
Changes from 8 commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
0b057bb
WIP
Jun 9, 2025
ff37a08
Fix
Jun 9, 2025
2c52601
Fix
Jun 9, 2025
0b0b99b
Fix
Jun 9, 2025
e1a377c
Fix
Jun 9, 2025
d5dc908
Fix
Jun 9, 2025
e3c128c
Comment out to test
Jun 9, 2025
2accf9a
Test
Jun 9, 2025
21d22f9
Remove unnecessary workflows and not use container for now
Jun 9, 2025
540a400
Fix
Jun 9, 2025
dab9c18
Merge branch 'presto-0.293-clp-connector' into xwei/modify-ci
Jun 9, 2025
973c3f0
fix
Jun 9, 2025
b198689
Fix
Jun 9, 2025
45c153a
Check disk room
Jun 10, 2025
0b213ef
Fix
Jun 10, 2025
eb2bcaf
Fix
Jun 10, 2025
05ff13d
Only built certain targets
Jun 10, 2025
ef94fa3
Fix
Jun 10, 2025
adc3214
Add some comments
Jun 10, 2025
08cea66
Merge branch 'presto-0.293-clp-connector' into xwei/modify-ci
anlowee Jun 10, 2025
9003b9e
Use self-host runner
Jun 11, 2025
ddd55e5
Merge branch 'xwei/modify-ci' of github.com:anlowee/velox into xwei/m…
Jun 11, 2025
8737e4e
Fix
Jun 11, 2025
80f2aa5
Fix
Jun 11, 2025
7c0418b
Fix
Jun 11, 2025
11aa6e7
Test
Jun 11, 2025
d5b3536
Fix
Jun 11, 2025
67c530a
Test
Jun 11, 2025
46f36ca
Retry
Jun 11, 2025
75fb8b8
Fix
Jun 11, 2025
0849cd7
Fix
Jun 11, 2025
86ce4d5
Fix
Jun 11, 2025
ddd311d
Fix
Jun 11, 2025
7929198
Try less cores
Jun 12, 2025
16bebad
Uncomment steps to install dependencies.
kirkrodrigues Jun 12, 2025
bcd1429
Increase NUM_THREADS to 8.
kirkrodrigues Jun 12, 2025
4b193cc
Fix
Jun 12, 2025
96d91a9
Merge branch 'xwei/modify-ci' of github.com:y-scope/velox into xwei/m…
Jun 12, 2025
f0422d6
Fix
Jun 12, 2025
fe82b67
Fix
Jun 13, 2025
e7432fc
Fix
Jun 13, 2025
6c7da21
Fix
Jun 13, 2025
b1396a8
Fix
Jun 13, 2025
8c3e1a9
Fix
Jun 13, 2025
0165a42
Fix
Jun 13, 2025
df99ae2
Fix
Jun 13, 2025
1e66e06
Change the owner
Jun 13, 2025
70528d3
Debug
Jun 13, 2025
dc72e08
Test
Jun 13, 2025
ce80c24
Text
Jun 13, 2025
84c977b
Fix
Jun 13, 2025
7a45c53
Test
Jun 13, 2025
0513689
Add doc
Jun 13, 2025
20a2405
Fix
Jun 13, 2025
3f9c574
Fix
Jun 13, 2025
d7aaa6f
Fix
Jun 13, 2025
781a338
Fix
Jun 13, 2025
0a2ad4c
Fix
Jun 13, 2025
7818f21
Fix
Jun 13, 2025
9e27974
Fix
Jun 13, 2025
4349d21
Fix
Jun 13, 2025
6c80e2d
Fix
Jun 13, 2025
4707029
Clean up and test ccache
Jun 13, 2025
0e9b6d4
Remove ccache stash for now
Jun 13, 2025
f3ef085
Fix comments
Jun 16, 2025
dfedabf
Fix
Jun 16, 2025
b580fe9
Fix
Jun 16, 2025
bc175ed
Test clang
Jun 16, 2025
cd58dcb
test
Jun 16, 2025
ad69eba
Fix doc runner
Jun 16, 2025
a20198c
remove the conatiner
Jun 16, 2025
13ccbc7
Fix
Jun 16, 2025
dcd2351
Fix
Jun 16, 2025
5e33f87
Try fix conversion issue
Jun 16, 2025
1e56666
Remove test
Jun 16, 2025
458908a
Fix
Jun 16, 2025
238bc12
Revert the fix
Jun 16, 2025
2892dbd
Fix partial comments
Jun 16, 2025
7c58006
Fix
Jun 16, 2025
06ad2e6
Fix 2
Jun 16, 2025
88a76dd
Fix 3
Jun 17, 2025
18988ea
Remove trailing space
Jun 17, 2025
0c0a8a6
Fix
Jun 17, 2025
03b2ca6
Fix
anlowee Jun 18, 2025
1e86cba
Add comment
anlowee Jun 18, 2025
be67d66
Update .github/workflows/scheduled.yml
anlowee Jun 18, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
91 changes: 1 addition & 90 deletions .github/workflows/benchmark.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,20 @@ on:
- 'scripts/ci/setup-ubuntu.sh'

push:
branches: [main]

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
cancel-in-progress: "${{github.ref != 'refs/heads/presto-0.293-clp-connector'}}"

defaults:
run:
shell: bash

jobs:
benchmark:
if: github.repository == 'facebookincubator/velox'
runs-on: 8-core-ubuntu-22.04
env:
CCACHE_DIR: "${{ github.workspace }}/ccache/"
Expand Down Expand Up @@ -140,90 +138,3 @@ jobs:
path: "benchmark-results"
name: "benchmark-results"
retention-days: 5

upload:
runs-on: ubuntu-latest
needs: benchmark
if: false && github.event_name == 'push'
permissions:
actions: read
statuses: write
steps:

- name: Download artifacts
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
with:
merge-multiple: true
path: /tmp/artifacts/

- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
path: velox
persist-credentials: false

- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: '3.10'
cache: 'pip'
cache-dependency-path: "velox/scripts/*"

- name: Install dependencies
run: pip install -r velox/scripts/ci/benchmark-requirements.txt

- name: Upload results
env:
CONBENCH_URL: "https://velox-conbench.voltrondata.run/"
CONBENCH_MACHINE_INFO_NAME: "GitHub-runner-8-core"
CONBENCH_EMAIL: "${{ secrets.CONBENCH_EMAIL }}"
CONBENCH_PASSWORD: "${{ secrets.CONBENCH_PASSWORD }}"
CONBENCH_PROJECT_REPOSITORY: "${{ github.repository }}"
CONBENCH_PROJECT_COMMIT: "${{ github.sha }}"
RUN_ID: "GHA-${{ github.run_id }}-${{ github.run_attempt }}"
run: |
./velox/scripts/ci/benchmark-runner.py upload \
--run_id "$RUN_ID" \
--sha "$CONBENCH_PROJECT_COMMIT" \
--output_dir "/tmp/artifacts/contender/"

- name: Check the status of the upload
# Status functions like failure() only work in `if:`
if: failure()
id: status
run: echo "failed=true" >> $GITHUB_OUTPUT

- name: Create a GitHub Status on the contender commit (whether the upload was successful)
uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
if: ${{ !cancelled() && steps.extract.conclusion != 'failure' }}
with:
script: |
let url = 'https://github.com/${{github.repository}}/actions/runs/${{ github.run_id }}'
let state = 'success'
let description = 'Result upload succeeded!'

if(${{ steps.status.outputs.failed == 'true' && true || false }}) {
state = 'failure'
description = 'Result upload failed!'
}

github.rest.repos.createCommitStatus({
owner: context.repo.owner,
repo: context.repo.repo,
sha: context.sha,
state: state,
target_url: url,
description: description,
context: 'Benchmark Result Upload'
})

- name: Create a GitHub Check benchmark report on the merged PR
env:
CONBENCH_URL: "https://velox-conbench.voltrondata.run/"
GITHUB_APP_ID: "${{ secrets.GH_APP_ID }}"
GITHUB_APP_PRIVATE_KEY: "${{ secrets.GH_APP_PRIVATE_KEY }}"
COMMIT_MESSAGE: "${{ github.event.head_commit.message }}"
CONTENDER_SHA: "${{ github.sha }}"
run: |
./velox/scripts/ci/benchmark-alert.py \
--contender-sha "$CONTENDER_SHA" \
--merge-commit-message "$COMMIT_MESSAGE" \
--z-score-threshold 50
9 changes: 2 additions & 7 deletions .github/workflows/breeze.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,7 @@ name: Breeze Linux Build

on:
push:
branches:
- "main"
branches: [presto-0.293-clp-connector]
paths:
- "velox/experimental/breeze/**"
- "velox/external/perfetto/**"
Expand All @@ -40,13 +39,11 @@ permissions:

concurrency:
group: ${{ github.workflow }}-${{ github.repository }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
cancel-in-progress: "${{github.ref != 'refs/heads/presto-0.293-clp-connector'}}"

jobs:
ubuntu-debug:
runs-on: ubuntu-22.04
# prevent errors when forks ff their main branch
if: ${{ github.repository == 'facebookincubator/velox' }}
name: "Ubuntu debug"
defaults:
run:
Expand Down Expand Up @@ -80,8 +77,6 @@ jobs:

ubuntu-gpu-relwithdebinfo:
runs-on: 4-core-ubuntu-gpu-t4
# prevent errors when forks ff their main branch
if: ${{ github.repository == 'facebookincubator/velox' }}
name: "Ubuntu GPU debug"
env:
CUDA_VERSION: "12.2"
Expand Down
97 changes: 5 additions & 92 deletions .github/workflows/build-metrics.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,18 @@ on:
description: "ref to check"
required: true

schedule:
# Run every day at 04:05
- cron: "5 4 * * *"

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.sha }}
cancel-in-progress: "${{github.ref != 'refs/heads/presto-0.293-clp-connector'}}"

jobs:
metrics:
name: Linux ${{ matrix.link-type }} - ${{ matrix.type }} with adapters
if: ${{ github.repository == 'facebookincubator/velox' }}
runs-on: ${{ matrix.runner }}
container: ghcr.io/facebookincubator/velox-dev:adapters
container: ghcr.io/y-scope/clp/velox-dev:adapters
strategy:
fail-fast: false
matrix:
Expand Down Expand Up @@ -104,89 +103,3 @@ jobs:
with:
path: ${{ env.sizes_file }}
name: "${{ matrix.type }}-${{ matrix.link-type }}-sizes"

- name: Copy ninja_log
run: cp _build/${{ matrix.type }}/.ninja_log /tmp/metrics/.ninja_log

- name: "Install dependencies"
run: |
python3 -m pip install setuptools
python3 -m pip install -r scripts/ci/benchmark-requirements.txt

- name: "Upload Metrics"
# This disables the upload and report generation on fork PRs but allows it for forks from within the main repo.
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == 'facebookincubator/velox' }}
env:
CONBENCH_URL: "https://velox-conbench.voltrondata.run/"
CONBENCH_MACHINE_INFO_NAME: "GitHub-runner-${{ matrix.runner }}"
CONBENCH_EMAIL: "${{ secrets.CONBENCH_EMAIL }}"
CONBENCH_PASSWORD: "${{ secrets.CONBENCH_PASSWORD }}"
# These don't actually work https://github.com/conbench/conbench/issues/1484
# but have to be there to work regardless??
CONBENCH_PROJECT_REPOSITORY: "${{ github.repository }}"
CONBENCH_PROJECT_COMMIT: "${{ inputs.ref || github.sha }}"
run: |
./scripts/ci/bm-report/build-metrics.py upload \
--build_type "${{ matrix.link-type }}-${{ matrix.type }}" \
--run_id "BM-${{ matrix.link-type }}-${{ matrix.type }}-${{ github.run_id }}-${{ github.run_attempt }}" \
--pr_number "${{ github.event.number }}" \
--sha "${{ inputs.ref || github.sha }}" \
"/tmp/metrics"

upload-report:
permissions:
contents: write
runs-on: ubuntu-latest
name: Generate and Upload Build Metric Report
needs: metrics
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:
fetch-depth: 0

- name: Setup Git User
run: |
git config --global user.email "velox@users.noreply.github.com"
git config --global user.name "velox"

- uses: cachix/install-nix-action@08dcb3a5e62fa31e2da3d490afc4176ef55ecd72 # v30
with:
nix_path: nixpkgs=channel:nixos-unstable

- name: Build Environment
run: |
cd scripts/ci/bm-report
nix-build

- name: Build Documentation
env:
CONBENCH_URL: "https://velox-conbench.voltrondata.run/"
CONBENCH_EMAIL: "${{ secrets.CONBENCH_EMAIL }}"
CONBENCH_PASSWORD: "${{ secrets.CONBENCH_PASSWORD }}"
run: |
cd scripts/ci/bm-report
nix-shell --run "quarto render report.qmd"

- name: Upload Report Artifact
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
with:
name: report
path: scripts/ci/bm-report/report.html
retention-days: 5

- name: Push Report
# The report only uses conbench data from 'main'
# so any data generated in a PR won't be included
if: ${{ github.event_name != 'pull_request' && github.repository == 'facebookincubator/velox'}}
run: |
git checkout gh-pages
mkdir -p docs/bm-report
cp -R scripts/ci/bm-report/report.html docs/bm-report/index.html
git add docs

if [ -n "$(git status --porcelain --untracked-files=no)" ]
then
git commit -m "Update build metrics"
git push
fi
77 changes: 5 additions & 72 deletions .github/workflows/build_pyvelox.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,13 +33,16 @@ on:
pull_request:
paths:
- '.github/workflows/build_pyvelox.yml'
push:
paths:
- '.github/workflows/build_pyvelox.yml'

permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.repository }}-${{ github.head_ref || github.sha }}
cancel-in-progress: true
cancel-in-progress: "${{github.ref != 'refs/heads/presto-0.293-clp-connector'}}"

jobs:
build_wheels:
Expand All @@ -48,7 +51,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [8-core-ubuntu, macos-13, macos-14]
os: [8-core-ubuntu]
Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
Expand All @@ -68,43 +71,6 @@ jobs:
path: "ccache"
key: ccache-wheels-${{ matrix.os }}

- name: "Restore macOS Dependencies"
if: startsWith(matrix.os, 'macos')
uses: apache/infrastructure-actions/stash/restore@3354c1565d4b0e335b78a76aedd82153a9e144d4
id: restore-deps
with:
path: "dependencies"
key: dependencies-pyvelox-${{ matrix.os }}-${{ hashFiles('scripts/setup-macos.sh') }}

- name: Install macOS dependencies from brew
if: startsWith(matrix.os, 'macos')
run: |
export INSTALL_PREFIX="$GITHUB_WORKSPACE/dependencies"
echo "CMAKE_PREFIX_PATH=$INSTALL_PREFIX" >> $GITHUB_ENV
echo "DYLD_LIBRARY_PATH=$INSTALL_PREFIX/lib:$DYLD_LIBRARY_PATH" >> $GITHUB_ENV

source scripts/setup-macos.sh
install_build_prerequisites
install_velox_deps_from_brew
# CMake 4.0 causes issues with arrows bundled dependencies
brew uninstall cmake
pipx install --force cmake==3.31

- name: Install macOS dependencies
if: ${{ startsWith(matrix.os, 'macos') && steps.restore-deps.outputs.stash-hit != 'true' }}
env:
MACOSX_DEPLOYMENT_TARGET: "13.0"
run: |
bash scripts/setup-macos.sh

- name: "Save macOS Dependencies"
if: ${{ startsWith(matrix.os, 'macos') && steps.restore-deps.outputs.stash-hit != 'true' }}
uses: apache/infrastructure-actions/stash/save@3354c1565d4b0e335b78a76aedd82153a9e144d4
with:
path: "dependencies"
key: dependencies-pyvelox-${{ matrix.os }}-${{ hashFiles('scripts/setup-macos.sh') }}
retention-days: 90

- name: "Create sdist"
if: matrix.os == '8-core-ubuntu'
env:
Expand All @@ -120,8 +86,6 @@ jobs:
CIBW_BUILD: "cp310-* cp311-* cp312-* cp313-*"
CIBW_ENVIRONMENT_PASS_LINUX: "BUILD_VERSION"
CIBW_ENVIRONMENT_LINUX: "CCACHE_DIR=/host${{ github.workspace }}/ccache"
# for macos
MACOSX_DEPLOYMENT_TARGET: ${{ matrix.os == 'macos-14' && '14' || '13' }}
CCACHE_DIR: "${{ github.workspace }}/ccache"
with:
output-dir: wheelhouse
Expand All @@ -132,41 +96,10 @@ jobs:
path: "ccache"
key: ccache-wheels-${{ matrix.os }}

- name: "Rename wheel compatibility tag"
if: false #startsWith(matrix.os, 'macos')
run: |
brew install rename
cd wheelhouse
rename 's/11_0/10_15/g' *.whl

- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
with:
name: wheels-${{ matrix.os }}
retention-days: 5
path: |
./wheelhouse/*.whl
./wheelhouse/*.tar.gz

publish_wheels:
name: Publish Wheels to PyPI
if: ${{ github.event_name == 'schedule' || inputs.publish }}
needs: build_wheels
runs-on: ubuntu-22.04
steps:
- uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806 # v4.1.9
with:
pattern: wheels-*
merge-multiple: true
path: ./wheelhouse

- run: ls wheelhouse

- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # v5.6.0
with:
python-version: "3.10"

- name: Publish a Python distribution to PyPI
uses: pypa/gh-action-pypi-publish@76f52bc884231f62b9a034ebfe128415bbaabdfc # v1.12.4
with:
password: ${{ secrets.PYPI_API_TOKEN }}
packages_dir: wheelhouse
Loading