Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
37deaed
CI: Replace build_manylinux_wheel.sh with Python script
esafak Aug 17, 2025
e9afea5
add copyright
esafak Aug 17, 2025
857c722
fix workflow name
esafak Aug 17, 2025
3087fa2
try a different syntax for calling the python script
esafak Aug 17, 2025
3e75edd
call like a regular script then
esafak Aug 17, 2025
1bb51bb
make script +x
esafak Aug 17, 2025
edb75ef
Consolidate and streamline CI workflows for wheel building
esafak Aug 18, 2025
af48e5d
reindent build-containerized-release.yml
esafak Aug 18, 2025
d57b798
reindent build-containerized-release.yml
esafak Aug 18, 2025
52e7b16
reindent build-containerized-release.yml
esafak Aug 18, 2025
e94a854
pass runner.arch in build-containerized-pr.yml
esafak Aug 18, 2025
98d54e6
don't run shell scripts with python
esafak Aug 18, 2025
6e5db8c
Remove unnecessary Bazel installation from containerized workflow
esafak Aug 18, 2025
9441b08
Enhance CI scripts for robust Bazel and Python package installation (…
esafak Aug 18, 2025
572a227
Disable musllinux, use PYTHON_PATH throughout deploy.sh
esafak Aug 18, 2025
21b43ec
debug path in setup.py
esafak Aug 18, 2025
9f3f2ef
debug bazel path
esafak Aug 18, 2025
5c0e3fc
debug bazel path
esafak Aug 18, 2025
71b634f
add .local/bin (bazel) to build_pyfory path
esafak Aug 18, 2025
a695811
add python to PATH in container
esafak Aug 18, 2025
e549826
fix OLD_PATH
esafak Aug 18, 2025
b3bad2f
tweak PATH for bazel
esafak Aug 18, 2025
b8fb0ab
try installing 3.8 first
esafak Aug 18, 2025
78fd5f8
bazel clean --expunge between runs
esafak Aug 18, 2025
2736928
Test wheels inside the container
esafak Aug 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
Original file line number Diff line number Diff line change
Expand Up @@ -15,19 +15,21 @@
# specific language governing permissions and limitations
# under the License.

name: build wheels for release
name: Build Containerized PR Wheels
on:
pull_request:
paths: [ci/**, python/**, .github/workflows/**]
push:
tags: ["v*"]
branches: [main]
paths: [ci/**, python/**, .github/workflows/**]

jobs:
build-wheels:
uses: ./.github/workflows/build-wheels.yaml
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-13, macos-14, macos-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
bump-version: true
os: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v5
- name: Build and test wheels
run: ./ci/build_linux_wheels.py --arch ${{ runner.arch }}
Original file line number Diff line number Diff line change
Expand Up @@ -15,33 +15,27 @@
# specific language governing permissions and limitations
# under the License.

name: build wheels for pull request
name: Build Containerized Release Wheels
on:
push:
branches:
- main
paths:
- 'python/**'
- 'cpp/**'
- 'bazel/**'
- 'BUILD'
- 'WORKSPACE'
- '.github/workflows/build-wheels*.yml'
pull_request:
paths:
- 'python/**'
- 'cpp/**'
- 'bazel/**'
- 'BUILD'
- 'WORKSPACE'
- '.github/workflows/build-wheels*.yml'
tags: ['v*'] # NO PATH FILTER - critical for releases

jobs:
build-wheels:
uses: ./.github/workflows/build-wheels.yaml
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, ubuntu-24.04-arm, macos-latest, windows-latest]
python-version: ['3.8', '3.13']
with:
os: ${{ matrix.os }}
python-version: ${{ matrix.python-version }}
os: [ubuntu-latest, ubuntu-24.04-arm]
steps:
- uses: actions/checkout@v5
- name: Bump version
run: ./ci/deploy.sh bump_py_version
- name: Install bazel
run: ./ci/run_ci.sh install_bazel
- name: Build and test wheels
run: ./ci/build_linux_wheels.py --arch ${{ runner.arch }} --release
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: pyfory-wheels-${{ matrix.os }}-${{ runner.arch }}-${{ github.ref_name }}
path: dist/*.whl
53 changes: 53 additions & 0 deletions .github/workflows/build-native-pr.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Build Native PR Wheels
on:
pull_request:
paths: [ci/**, python/**, .github/workflows/**]
push:
branches: [main]
paths: [ci/**, python/**, .github/workflows/**]

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest]
python-version: ['3.8', '3.13']
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install bazel
if: runner.os != 'Windows'
run: ./ci/run_ci.sh install_bazel
- name: Install bazel (Windows)
if: runner.os == 'Windows'
run: ./ci/run_ci.sh install_bazel_windows
shell: bash
- name: Build wheel
run: ./ci/deploy.sh build_pyfory
shell: bash
- name: Install and verify wheel
shell: bash
run: |
python -m pip install --upgrade pip
pip install dist/*.whl
python -c "import pyfory; print(pyfory.__version__)"
56 changes: 56 additions & 0 deletions .github/workflows/build-native-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.

name: Build Native Release Wheels
on:
push:
tags: ['v*'] # NO PATH FILTER - critical for releases

jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [macos-latest, windows-latest]
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12', '3.13']
steps:
- uses: actions/checkout@v5
- name: Bump version
run: ./ci/deploy.sh bump_py_version
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
- name: Install bazel
if: runner.os != 'Windows'
run: ./ci/run_ci.sh install_bazel
- name: Install bazel (Windows)
if: runner.os == 'Windows'
run: ./ci/run_ci.sh install_bazel_windows
shell: bash
- name: Build wheel
run: ./ci/deploy.sh build_pyfory
- name: Install and verify wheel
shell: bash
run: |
python -m pip install --upgrade pip
pip install dist/*.whl
python -c "import pyfory; print(pyfory.__version__)"
- name: Upload artifacts
uses: actions/upload-artifact@v4
with:
name: pyfory-wheels-${{ matrix.os }}-${{ matrix.python-version }}-${{ github.ref_name }}
path: dist/*.whl
94 changes: 0 additions & 94 deletions .github/workflows/build-wheels.yaml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/release-python.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ name: Publish Python

on:
workflow_run:
workflows: ["build wheels for release"]
workflows: ["Build Containerized Release Wheels", "Build Native Release Wheels"]
types: [completed]

permissions:
Expand Down
Loading
Loading