Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support CPython 3.11, 3.12, and aarch64 processors #2331

Open
wants to merge 53 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
53 commits
Select commit Hold shift + click to select a range
1e175c9
fix[ml]: adjust tests to reflect latest apis of 3rd party libraries (…
JovanVeljanoski Feb 7, 2024
8ea928d
Build wheels on pull_request
ddelange Jan 20, 2023
a210a40
Maximize wheel build parallellization
ddelange Jan 20, 2023
3395947
git submodule update --remote --merge packages/vaex-core/vendor/pybind11
ddelange Jan 20, 2023
b6c6925
Fix gcc error
ddelange Jan 20, 2023
9134301
Fix workflow syntax
ddelange Jan 20, 2023
65e1fd8
Remove redefinition
ddelange Jan 20, 2023
c1c15e6
Disable win32
ddelange Jan 20, 2023
0d0b272
Remove testing leftovers
ddelange Jan 20, 2023
7817433
Add upper cap on lightgbm
ddelange Sep 1, 2023
f556f56
Migrate to mamba-org/setup-micromamba@v1
ddelange Sep 4, 2023
34b0209
Upload release assets on Github (pre)release
ddelange Oct 14, 2023
8573502
Add missing permission for release assets
ddelange Oct 14, 2023
b614cd3
Build cp312 wheels
ddelange Oct 18, 2023
39eed15
Remove setuptools and wheel from pyproject.toml
ddelange Oct 19, 2023
0e37c40
Replace imp with importlib
ddelange Oct 20, 2023
63acdb6
chore: trigger ci
maartenbreddels Feb 7, 2024
ba4943b
ci: upgrade xcode for brew install libomp
maartenbreddels Feb 7, 2024
a346454
update requirements-ml to comply with the latest veex-ml expectations.
JovanVeljanoski Feb 9, 2024
d7023a7
try to install lightgbm via pip
JovanVeljanoski Feb 9, 2024
021e60f
fix: only the mini taxi file is on s3 for cost savings
maartenbreddels Feb 13, 2024
a44e464
ci: pin dask<2024.2.0 to get the same hash keys
maartenbreddels Feb 14, 2024
915d977
fix: only the mini taxi file is on s3 for cost savings (2)
maartenbreddels Feb 14, 2024
658816d
ci: skip notebooks that depend on the dataframe server
maartenbreddels Feb 14, 2024
afa6225
ci: skip ci steps in various old python versions
maartenbreddels Feb 14, 2024
eb2afa3
Bump micromamba and other actions
ddelange Feb 22, 2024
1f04e2e
ci: specific test hangs on ci+osx
maartenbreddels Mar 5, 2024
167e500
Bump cibuildwheel, use native arm64 mac runners
ddelange Apr 5, 2024
100a13f
test: log is renamed to log loss
maartenbreddels Jun 19, 2024
d32a9a5
test: skip lightgbm tests on 36 and 37
maartenbreddels Jun 19, 2024
310087c
test: skip sklearn tests on 36 and 37
maartenbreddels Jun 19, 2024
12e2478
Update packages/vaex-core/setup.py
maartenbreddels Jun 22, 2024
a19eb7e
chore: drop python 3.6 and 3.7 support
maartenbreddels Jul 3, 2024
5a34fee
test: skip a failing test for windows
maartenbreddels Jul 3, 2024
a32d9cb
ci: macOS 11 is retired as of June 28
maartenbreddels Jul 3, 2024
00d6c3a
ci: always build wheels, but do not publish instead
maartenbreddels Jul 3, 2024
a50ddca
ci: try with older micromamba, 1.5.6 seems to sometimes hang
maartenbreddels Jul 3, 2024
66a4500
Install setuptools in wheel.yml
ddelange Jul 3, 2024
3d078ae
Add sudo
ddelange Jul 3, 2024
9bb7964
Fix windows
ddelange Jul 3, 2024
1dbdb19
Use sudo only on macos
ddelange Jul 4, 2024
27d34e2
Fix empty string evaluating false
ddelange Jul 4, 2024
c4f234c
Add .readthedocs.yaml
ddelange Jul 4, 2024
0d9a3ce
Pull submodules
ddelange Jul 4, 2024
08da37b
Try editable rtd install
ddelange Jul 4, 2024
8ba6441
Try move editable install to requirements_rtd.txt
ddelange Jul 4, 2024
d46edbc
Allow newer sphinx
ddelange Jul 4, 2024
d4964f7
Autocancel previous runs in PRs
ddelange Jul 4, 2024
976b73f
Autocancel all jobs
ddelange Jul 4, 2024
4cf3f94
Sphinx sidebar fix
ddelange Jul 4, 2024
eacef43
Remove autocancel, doesn't work from forks
ddelange Jul 4, 2024
3fdd98e
Add cancel-in-progress keys
ddelange Jul 4, 2024
8fb9b3e
Amend to only cancel on PRs
ddelange Jul 4, 2024
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
51 changes: 22 additions & 29 deletions .github/workflows/pythonpackage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ defaults:
shell: bash -l {0}

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
main:
Expand All @@ -30,8 +30,8 @@ jobs:
fail-fast: false
max-parallel: 12
matrix:
os: [ubuntu-latest, windows-latest, macOS-11]
python-version: [3.6, 3.7, 3.8, 3.9]
os: [ubuntu-latest, windows-latest, macOS-12]
python-version: [3.8, 3.9]

steps:
- name: disk space
Expand All @@ -40,9 +40,9 @@ jobs:
df -h
- uses: maxim-lobanov/setup-xcode@v1
# alternative would be to upgrade tapi to 1100.0.11, we can possibly remove this in the future
if: matrix.os == 'macOS-11'
if: matrix.os == 'macOS-12'
with:
xcode-version: "11.7.0"
xcode-version: "13.2.1"
- uses: actions/checkout@v2
with:
submodules: true
Expand All @@ -53,11 +53,12 @@ jobs:
token: ${{ secrets.PAT_PULL_ENTERPRISE }}
path: vaex-enterprise
- name: install micromamba
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
micromamba-version: 1.1.0-1
environment-name: vaex-dev
environment-file: ci/conda-env.yml
extra-specs: |
create-args: >-
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
create-args: >-
timeout-minutes: 12
create-args: >-

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Weird that this happened, I'll try an older version instead.

python=${{ matrix.python-version }}
- name: Extra non-windows installs
if: matrix.os != 'windows-latest'
Expand All @@ -79,12 +80,12 @@ jobs:
# docker rmi $(docker image ls -aq)
# df -h
- name: Install OpenMP runtime (Mac-only)
if: matrix.os == 'macOS-11'
if: matrix.os == 'macOS-12'
run: |
brew install libomp
- name: Cache compiled binaries
# this fails for this combination, leading to binaries filled with 0's
if: matrix.python-version != '3.6' || matrix.os != 'macOS-11'
if: matrix.os != 'macOS-12'
id: cache-compiled-binaries
uses: actions/cache@v2
with:
Expand Down Expand Up @@ -137,11 +138,6 @@ jobs:
# # flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
# # flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Install fixes for Python 3.6
if: matrix.python-version == '3.6'
run: |
# by default on 3.6 we get an old version, so manually upgrade
pip install gcsfs==0.8.0
- name: Install pytest-asyncio correct version
if: matrix.python-version != '3.10'
run: |
Expand All @@ -155,8 +151,8 @@ jobs:
run: |
VAEX_CACHE_RESULTS=1 ./ci/04-run-test-suite.sh
- name: Check ml spec
# no catboost for py39 and py37
if: matrix.python-version != '3.9' && matrix.os != 'windows-latest' && matrix.python-version != '3.7'
# no catboost for py39 and py37, xgboost fails on 3.6
if: matrix.python-version != '3.9' && matrix.os != 'windows-latest'
run: |
python -m vaex.ml.spec packages/vaex-ml/vaex/ml/spec_new.json
diff packages/vaex-ml/vaex/ml/spec_new.json packages/vaex-ml/vaex/ml/spec.json
Expand All @@ -165,19 +161,19 @@ jobs:
# run: |
# py.test vaex-enterprise/tests --timeout=1000
- name: Test notebooks
if: matrix.os != 'windows-latest' && matrix.python-version != '3.6'
if: matrix.os != 'windows-latest'
run: |
./ci/05-run-notebooks.sh
- name: Authenticate Google Cloud Platform
if: ${{ (github.event.pull_request.head.repo.full_name == 'vaexio/vaex') && !((matrix.os == 'windows-latest') || (matrix.os == 'macOS-11' && matrix.python-version == '3.6')) }}
if: ${{ (github.event.pull_request.head.repo.full_name == 'vaexio/vaex') && !((matrix.os == 'windows-latest')) }}
uses: google-github-actions/setup-gcloud@v0
with:
project_id: ${{ secrets.GCP_PROJECT_ID_VAEX }}
service_account_key: ${{ secrets.GCP_SA_KEY_VAEX }}
export_default_credentials: true
- name: Test vaex-contrib
# do not run in a PR from someone else, skip windows, and osx+py36
if: ${{ (github.event.pull_request.head.repo.full_name == 'vaexio/vaex') && !((matrix.os == 'windows-latest') || (matrix.os == 'macOS-11' && matrix.python-version == '3.6')) }}
# do not run in a PR from someone else, skip windows
if: ${{ (github.event.pull_request.head.repo.full_name == 'vaexio/vaex') && !((matrix.os == 'windows-latest')) }}
env:
PROJECT_ID: ${{ secrets.GCP_PROJECT_ID_VAEX }}
run: |
Expand All @@ -191,12 +187,8 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-11]
python-version: [3.7, 3.8, 3.9]
# ssl/certifi issues with this combination
exclude:
- os: windows-latest
python-version: 3.7
os: [ubuntu-latest, windows-latest, macOS-12]
python-version: [3.8, 3.9]

steps:
- uses: actions/checkout@v2
Expand All @@ -206,11 +198,12 @@ jobs:
path: ./dist

- name: Install micromamba
uses: mamba-org/provision-with-micromamba@main
uses: mamba-org/setup-micromamba@v1
with:
micromamba-version: 1.5.6-0
environment-name: vaex-test
environment-file: ci/conda-base-minimal.yml
extra-specs: |
create-args: >-
python=${{ matrix.python-version }}
pcre
rich
Expand Down
30 changes: 11 additions & 19 deletions .github/workflows/wheel-universal.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@ name: Build universal wheel

on:
push:
tags:
- meta-*
- astro-*
- graphql-*
- jupyter-*
- ml-*
- viz-*
- hdf5-*
- server-*
- contrib-*
branches:
- master
pull_request:
branches:
- master
schedule:
- cron: "0 2 * * 1-5"

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
build_wheels:
Expand Down Expand Up @@ -41,7 +42,6 @@ jobs:
mkdir dist

- name: Build vaex (meta)
if: startsWith(github.ref, 'refs/tags/meta')
run: |
(cp README.md packages/vaex-meta/ && cd packages/vaex-meta && python setup.py sdist bdist_wheel); cp packages/vaex-meta/dist/* dist

Expand All @@ -54,7 +54,6 @@ jobs:
twine upload dist/vaex* dist/vaex*

- name: Build vaex-graphql
if: startsWith(github.ref, 'refs/tags/graphql')
run: |
(cd packages/vaex-graphql && python setup.py sdist bdist_wheel); cp packages/vaex-graphql/dist/* dist

Expand All @@ -68,7 +67,6 @@ jobs:


- name: Build vaex-jupyter
if: startsWith(github.ref, 'refs/tags/jupyter')
run: |
(cd packages/vaex-jupyter && python setup.py sdist bdist_wheel); cp packages/vaex-jupyter/dist/* dist

Expand All @@ -81,7 +79,6 @@ jobs:
twine upload dist/vaex-jupyter* dist/vaex_jupyter*

- name: Build vaex-ml
if: startsWith(github.ref, 'refs/tags/ml')
run: |
(cd packages/vaex-ml && python setup.py sdist bdist_wheel); cp packages/vaex-ml/dist/* dist

Expand All @@ -94,7 +91,6 @@ jobs:
twine upload dist/vaex-ml* dist/vaex_ml*

- name: Build vaex-contrib
if: startsWith(github.ref, 'refs/tags/contrib')
run: |
(cd packages/vaex-contrib && python setup.py sdist bdist_wheel); cp packages/vaex-contrib/dist/* dist

Expand All @@ -109,7 +105,6 @@ jobs:


- name: Build vaex-viz
if: startsWith(github.ref, 'refs/tags/viz')
run: |
(cd packages/vaex-viz && python setup.py sdist bdist_wheel); cp packages/vaex-viz/dist/* dist

Expand All @@ -122,7 +117,6 @@ jobs:
twine upload dist/vaex-viz* dist/vaex_viz*

- name: Build vaex-astro
if: startsWith(github.ref, 'refs/tags/astro')
run: |
(cd packages/vaex-astro && python setup.py sdist bdist_wheel); cp packages/vaex-astro/dist/* dist

Expand All @@ -135,7 +129,6 @@ jobs:
twine upload dist/vaex-astro* dist/vaex_astro*

- name: Build vaex-hdf5
if: startsWith(github.ref, 'refs/tags/hdf5')
run: |
(cd packages/vaex-hdf5 && python setup.py sdist bdist_wheel); cp packages/vaex-hdf5/dist/* dist

Expand All @@ -148,7 +141,6 @@ jobs:
twine upload dist/vaex-hdf5* dist/vaex_hdf5*

- name: Build vaex-server
if: startsWith(github.ref, 'refs/tags/server')
run: |
(cd packages/vaex-server && python setup.py sdist bdist_wheel); cp packages/vaex-server/dist/* dist

Expand Down
Loading
Loading