Skip to content

Commit

Permalink
ci: Rework python jobs
Browse files Browse the repository at this point in the history
  • Loading branch information
Mizux committed Oct 10, 2023
1 parent 11b3884 commit f2d0dbf
Show file tree
Hide file tree
Showing 6 changed files with 115 additions and 97 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/amd64_linux_bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Check Java
run: java -version
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Check Python
Expand Down
136 changes: 64 additions & 72 deletions .github/workflows/amd64_linux_cmake_python.yml
Original file line number Diff line number Diff line change
@@ -1,80 +1,72 @@
# ref: https://github.com/actions/runner-images
name: amd64 Linux CMake Python

on: [push, pull_request, workflow_dispatch]

jobs:
# Building using the github runner environement directly.
ninja:
linux:
runs-on: ubuntu-latest
strategy:
matrix:
build: [
["Ninja", "Release", "all", "test", "install"],
["Ninja Multi-config", "Release", "all", "test", "install"],
["Unix Makefiles", "Release", "all", "test", "install"]
]
python-version: ['3.9', '3.10', '3.11', '3.12']
fail-fast: false
env:
GENERATOR: ${{ matrix.build[0] }}
BUILD_TYPE: ${{ matrix.build[1] }}
BUILD_TARGET: ${{ matrix.build[2] }}
TEST_TARGET: ${{ matrix.build[3] }}
INSTALL_TARGET: ${{ matrix.build[4] }}
steps:
- uses: actions/checkout@v4
- name: Install python3 venv
run: sudo apt-get install python3-venv
- name: Install Ninja
run: |
sudo apt update
sudo apt install -y ninja-build
- name: Swig install
run: sudo apt install -y swig
- name: Check swig
run: swig -version
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: cmake -S. -Bbuild -G "Ninja" -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON -DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=install
- name: Build
run: cmake --build build --target all -v
- name: Test
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --target test -v
- name: Install
run: cmake --build build --target install -v
ninja-multi:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install python3 venv
run: sudo apt-get install python3-venv
- name: Install Ninja
run: |
sudo apt update
sudo apt install -y ninja-build
- name: Swig install
run: sudo apt install -y swig
- name: Check swig
run: swig -version
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: cmake -S. -Bbuild -G "Ninja Multi-Config" -DBUILD_PYTHON=ON -DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DCMAKE_INSTALL_PREFIX=install
- name: Build
run: cmake --build build --config Release --target all -v
- name: Test
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target test -v
- name: Install
run: cmake --build build --config Release --target install -v
make:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install python3 venv
run: sudo apt-get install python3-venv
- name: Swig install
run: sudo apt install -y swig
- name: Check swig
run: swig -version
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=ON -DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
- name: Build
run: cmake --build build --config Release --target all -v
- name: Test
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config Release --target test -v
- name: Install
run: cmake --build build --config Release --target install -v -- DESTDIR=install
- uses: actions/checkout@v4
- name: Install Ninja
run: |
sudo apt update
sudo apt install -y ninja-build
- name: Swig install
run: |
sudo apt install -y swig
swig -version
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Install python3 venv
run: python3 -m pip install venv
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "$GENERATOR"
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
-DBUILD_PYTHON=ON
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$BUILD_TARGET"
-v
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config "$BUILD_TYPE"
--target "$TEST_TARGET"
-v
--target test -v
- name: Install
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$INSTALL_TARGET"
-v
2 changes: 1 addition & 1 deletion .github/workflows/amd64_macos_bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
- name: Check mvn
run: mvn --version
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Check Python
Expand Down
62 changes: 42 additions & 20 deletions .github/workflows/amd64_macos_cmake_python.yml
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# ref: https://github.com/actions/runner-images
name: amd64 MacOS CMake Python

on: [push, pull_request, workflow_dispatch]
Expand All @@ -12,6 +13,7 @@ jobs:
["Xcode", "Release", "ALL_BUILD", "RUN_TESTS", "install"],
["Unix Makefiles", "Release", "all", "test", "install"]
]
python-version: ['3.9', '3.10', '3.11', '3.12']
fail-fast: false
env:
GENERATOR: ${{ matrix.build[0] }}
Expand All @@ -20,23 +22,43 @@ jobs:
TEST_TARGET: ${{ matrix.build[3] }}
INSTALL_TARGET: ${{ matrix.build[4] }}
steps:
- uses: actions/checkout@v4
- name: Swig install
run: brew install swig
- name: Check swig
run: swig -version
- name: Update Path
run: echo "$HOME/Library/Python/3.12/bin" >> $GITHUB_PATH
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild -G "$GENERATOR" -DCMAKE_BUILD_TYPE="$BUILD_TYPE" -DCMAKE_INSTALL_PREFIX=install
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
- name: Build
run: cmake --build build --config "$BUILD_TYPE" --target "$BUILD_TARGET" -v
- name: Test
run: CTEST_OUTPUT_ON_FAILURE=1 cmake --build build --config "$BUILD_TYPE" --target "$TEST_TARGET" -v
- name: Install
run: cmake --build build --config "$BUILD_TYPE" --target "$INSTALL_TARGET" -v
- uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Update Path
run: echo "$HOME/Library/Python/${{ matrix.python-version }}/bin" >> $GITHUB_PATH
- name: Swig install
run: brew install swig
- name: Check swig
run: swig -version
- name: Check cmake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "$GENERATOR"
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
-DCMAKE_INSTALL_PREFIX=install
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
- name: Build
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$BUILD_TARGET"
-v
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config "$BUILD_TYPE"
--target "$TEST_TARGET"
-v
- name: Install
run: >
cmake --build build
--config "$BUILD_TYPE"
--target "$INSTALL_TARGET"
-v
2 changes: 1 addition & 1 deletion .github/workflows/amd64_windows_bazel.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ jobs:
- name: Check mvn
run: mvn --version
- name: Setup Python
uses: actions/setup-python@v3
uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
- name: Check Python
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/amd64_windows_cmake_python.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,15 @@ jobs:
# Building using the github runner environement directly.
cmake:
runs-on: windows-latest
strategy:
matrix:
python-version: ['3.9', '3.10', '3.11', '3.12']
fail-fast: false
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v2
- uses: actions/setup-python@v4
with:
python-version: '3.10'
python-version: ${{ matrix.python-version }}
- name: Install python3
run: python3 -m pip install --user mypy-protobuf absl-py setuptools wheel numpy pandas
- name: Install SWIG 4.1.1
Expand Down

0 comments on commit f2d0dbf

Please sign in to comment.