ci: backport workflows from main

This commit is contained in:
Corentin Le Molgat
2025-03-13 14:35:51 +01:00
parent a4b37b6465
commit 461505f4af
34 changed files with 558 additions and 263 deletions

View File

@@ -3,6 +3,10 @@ name: aarch64 Toolchain
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
aarch64:
@@ -10,15 +14,15 @@ jobs:
matrix:
targets: [aarch64, aarch64be]
fail-fast: false
name: LinuxToolchain ${{ matrix.targets }}
name: LinuxToolchain ${{matrix.targets}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build env stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_env
run: make --directory=cmake toolchain_${{matrix.targets}}_env
- name: Build devel stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_devel
run: make --directory=cmake toolchain_${{matrix.targets}}_devel
- name: Build build stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_build
run: make --directory=cmake toolchain_${{matrix.targets}}_build
- name: Build Test stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_test
run: make --directory=cmake toolchain_${{matrix.targets}}_test

View File

@@ -1,10 +1,15 @@
# ref: https://github.com/actions/runner-images
name: amd64 CMake Glop C++
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
docker:
name: DockerCMakeGlop
name: amd64•DockerCMakeGlop
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -31,6 +36,7 @@ jobs:
matrix:
cmake: [
{
platform: amd64,
runner: "ubuntu-latest",
generator: "Unix Makefiles",
config: Release,
@@ -39,6 +45,7 @@ jobs:
install_target: install
},
{
platform: amd64,
runner: "macos-13", # last macos intel based runner
generator: "Xcode",
config: Release,
@@ -47,6 +54,7 @@ jobs:
install_target: install
},
{
platform: arm64,
runner: "macos-latest", # macos arm64 based runner
generator: "Xcode",
config: Release,
@@ -55,6 +63,7 @@ jobs:
install_target: install
},
{
platform: amd64,
runner: "windows-latest",
generator: "Visual Studio 17 2022",
config: Release,
@@ -64,8 +73,8 @@ jobs:
},
]
fail-fast: false
name: ${{ matrix.cmake.runner }}CMakeGlop
runs-on: ${{ matrix.cmake.runner }}
name: ${{matrix.cmake.platform}}•${{matrix.cmake.runner}}CMakeGlop
runs-on: ${{matrix.cmake.runner}}
steps:
- uses: actions/checkout@v4
- name: Check cmake
@@ -73,20 +82,20 @@ jobs:
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_DEPS=ON
-DBUILD_CXX=OFF -DBUILD_GLOP=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v

View File

@@ -0,0 +1,40 @@
# ref: https://github.com/docker-library/official-images
name: amd64 Docker Bazel
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
bazel:
strategy:
matrix:
distro: [
almalinux,
# alpine,
archlinux,
debian,
fedora,
opensuse,
rockylinux,
ubuntu
]
fail-fast: false
name: amd64•${{matrix.distro}}•Bazel
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Check docker
run: |
docker info
docker buildx ls
- name: Build env image
run: make --directory=bazel amd64_${{matrix.distro}}_env
- name: Build devel image
run: make --directory=bazel amd64_${{matrix.distro}}_devel
- name: Build project
run: make --directory=bazel amd64_${{matrix.distro}}_build
- name: Test project
run: make --directory=bazel amd64_${{matrix.distro}}_test

View File

@@ -3,6 +3,10 @@ name: amd64 Docker CMake
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
cmake:
strategy:
@@ -10,26 +14,26 @@ jobs:
distro: [almalinux, alpine, archlinux, debian, fedora, opensuse, rockylinux, ubuntu]
lang: [cpp, python, dotnet, java]
fail-fast: false
name: ${{ matrix.distro }}CMake${{ matrix.lang }}
name: amd64•${{matrix.distro}}CMake${{matrix.lang}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build base image
run: make --directory=cmake ${{ matrix.distro }}_base
run: make --directory=cmake amd64_${{matrix.distro}}_base
- name: Build env image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_env
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_env
- name: Build devel image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_devel
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_devel
- name: Build project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_build
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_build
- name: Test project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_test
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_test
- name: Build install env image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_env
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_install_env
- name: Build install devel image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_devel
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_install_devel
- name: Build install project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_build
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_install_build
- name: Test install project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_test
run: make --directory=cmake amd64_${{matrix.distro}}_${{matrix.lang}}_install_test

View File

@@ -2,6 +2,10 @@ name: amd64 FreeBSD CMake
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Only macos-12 runner provide virtualisation with vagrant/virtualbox installed.
# ref: https://github.com/actions/runner-images/tree/main/images/macos
# ref: https://app.vagrantup.com/generic/boxes/freebsd13
@@ -20,7 +24,7 @@ jobs:
- distro: freebsd
lang: java
allow_failure: true
name: FreeBSDCMake${{ matrix.lang }}
name: amd64•FreeBSDCMake${{matrix.lang}}
runs-on: macos-12
steps:
- uses: actions/checkout@v4
@@ -29,4 +33,4 @@ jobs:
- name: VirtualBox version
run: virtualbox -h
- name: Build
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}

View File

@@ -3,19 +3,23 @@ name: amd64 Linux Bazel
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
python: [
# {version: '3.10'},
# {version: '3.11'},
#{version: '3.10'},
#{version: '3.11'},
{version: '3.12'},
# {version: '3.13'},
#{version: '3.13'},
]
fail-fast: false
name: LinuxBazelPython-${{ matrix.python.version }}
name: amd64•LinuxBazelPython-${{matrix.python.version}}
runs-on: ubuntu-latest
env:
CC: gcc-12
@@ -29,7 +33,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Check Python
run: python --version
- name: Install Bazel
@@ -43,11 +47,11 @@ jobs:
run: bazel version
- name: Change Python in .bazelrc
run: |
sed -i -e 's/\(python_version=\)3.[0-9]\+/\1${{ matrix.python.version }}/g' .bazelrc
sed -i -e 's/\(python_version=\)3.[0-9]\+/\1${{matrix.python.version}}/g' .bazelrc
cat .bazelrc
- name: Change Python in .bazelrc
run: |
sed -i -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]\+"/\1 "${{ matrix.python.version }}"/g' MODULE.bazel
sed -i -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]\+"/\1 "${{matrix.python.version}}"/g' MODULE.bazel
cat MODULE.bazel
- name: Build
run: >
@@ -61,3 +65,9 @@ jobs:
-c opt
--test_output=errors
//ortools/... //examples/...
amd64_linux_bazel:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,6 +3,10 @@ name: amd64 Linux CMake CoinOR OFF
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
@@ -15,7 +19,7 @@ jobs:
{language: 'Python', args: '-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DBUILD_PYTHON=ON'},
]
fail-fast: false
name: LinuxCMake${{ matrix.cmake.language }}CoinOR OFF
name: amd64•LinuxCMake${{matrix.cmake.language}}CoinOR=OFF
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -48,7 +52,7 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DBUILD_DEPS=ON
-DUSE_COINOR=OFF
${{ matrix.cmake.args }}
${{matrix.cmake.args}}
- name: Build
run: >
cmake --build build

View File

@@ -3,18 +3,22 @@ name: amd64 Linux CMake C++
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Unix Makefiles", config: "Release"},
{generator: "Ninja", config: "Release"},
{generator: "Ninja Multi-Config", config: "Release"},
]
fail-fast: false
name: Linux • ${{ matrix.cmake.generator }} • C++
matrix:
cmake: [
{name: "Make", generator: "Unix Makefiles", config: Release},
{name: "Ninja", generator: "Ninja", config: Release},
{name: "Ninja Multi", generator: "Ninja Multi-Config", config: Release},
]
fail-fast: false
name: amd64•Linux•CMake(${{matrix.cmake.name}})•C++
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -22,31 +26,37 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install ninja-build
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE="$BUILD_TYPE"
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_DEPS=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--config ${{matrix.cmake.config}}
--target all
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--config ${{matrix.cmake.config}}
--target test
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--config ${{matrix.cmake.config}}
--target install
-v
amd64_linux_cmake_cpp:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,10 +3,14 @@ name: amd64 Linux CMake .Net
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
name: LinuxCMake.Net
name: amd64•LinuxCMake.Net
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -20,7 +24,7 @@ jobs:
dotnet-version: 6.0.x
- name: Check dotnet
run: dotnet --info
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
@@ -48,4 +52,9 @@ jobs:
--config Release
--target install
-v
-- DESTDIR=install
amd64_linux_cmake_dotnet:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,10 +3,14 @@ name: amd64 Linux CMake GLPK ON
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
name: LinuxCMakeGLPK ON
name: amd64•LinuxCMakeGLPK=ON
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@@ -3,10 +3,14 @@ name: amd64 Linux CMake Java
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
name: LinuxCMakeJava
name: amd64•LinuxCMakeJava
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -16,7 +20,7 @@ jobs:
swig -version
- name: Check java
run: java -version
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
@@ -44,3 +48,9 @@ jobs:
--config Release
--target install
-v
amd64_linux_cmake_java:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,10 +3,14 @@ name: amd64 Linux CMake C++ LP_PARSER OFF
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
name: LinuxCMakeLP_PARSER OFF
name: amd64•LinuxCMakeLP_PARSER=OFF
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@@ -3,15 +3,19 @@ name: amd64 Linux CMake Python
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Ninja", config: Release, build_target: all, test_target: test, install_target: install},
{generator: "Ninja Multi-Config", config: Release, build_target: all, test_target: test, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release},
{name: "Ninja", generator: "Ninja", config: Release},
{name: "Ninja Multi", generator: "Ninja Multi-Config", config: Release},
]
python: [
{version: "3.9"},
@@ -21,7 +25,7 @@ jobs:
{version: "3.13"},
]
fail-fast: false
name: Linux • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }}
name: amd64•Linux•CMake(${{matrix.cmake.name}})•Python-${{matrix.python.version}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -36,35 +40,41 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target all
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target test
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target install
-v
amd64_linux_cmake_python:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,6 +3,10 @@ name: amd64 Linux CMake SCIP OFF
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
@@ -15,7 +19,7 @@ jobs:
{language: 'Python', args: '-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF -DBUILD_PYTHON=ON'},
]
fail-fast: false
name: LinuxCMake${{ matrix.cmake.language }}SCIP OFF
name: amd64•LinuxCMake${{matrix.cmake.language}}SCIP=OFF
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
@@ -48,7 +52,7 @@ jobs:
-DCMAKE_BUILD_TYPE=Release
-DBUILD_DEPS=ON
-DUSE_SCIP=OFF
${{ matrix.cmake.args }}
${{matrix.cmake.args}}
- name: Build
run: >
cmake --build build

View File

@@ -3,6 +3,10 @@ name: amd64 Linux CMake System Dependencies
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
native:
strategy:
@@ -10,29 +14,29 @@ jobs:
distro: [system_deps]
lang: [cpp, python, dotnet, java]
fail-fast: false
name: ArchlinuxCMake${{ matrix.lang }}BUILD_DEPS OFF
name: amd64•ArchlinuxCMake${{matrix.lang}}BUILD_DEPS=OFF
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build base image
run: make --directory=cmake ${{ matrix.distro }}_base
run: make --directory=cmake ${{matrix.distro}}_base
- name: Build env image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_env
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_env
- name: Build devel image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_devel
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_devel
- name: Build project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_build
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_build
- name: Test project
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_test
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_test
- name: Build Install env image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_env
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_install_env
- name: Build Install devel image
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_devel
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_install_devel
- name: Build Install
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_build
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_install_build
- name: Test Install
run: make --directory=cmake ${{ matrix.distro }}_${{ matrix.lang }}_install_test
run: make --directory=cmake ${{matrix.distro}}_${{matrix.lang}}_install_test
# TODO(user): Add macOS + brew job
# TODO(user): Add Windows + choco/vcpkg job

View File

@@ -3,19 +3,23 @@ name: amd64 MacOS Bazel
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
python: [
# {version: '3.10'},
# {version: '3.11'},
#{version: '3.10'},
#{version: '3.11'},
{version: '3.12'},
# {version: '3.13'},
#{version: '3.13'},
]
fail-fast: false
name: MacOSBazelPython-${{ matrix.python.version }}
name: amd64•MacOSBazelPython-${{matrix.python.version}}
runs-on: macos-13 # last macos intel based runner
steps:
- uses: actions/checkout@v4
@@ -29,18 +33,18 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Check Python
run: python --version
- name: Check Bazel
run: bazel version
- name: Change Python in .bazelrc
run: |
sed -i '' -e 's/\(python_version=\)3.[0-9]*/\1${{ matrix.python.version }}/g' .bazelrc
sed -i '' -e 's/\(python_version=\)3.[0-9]*/\1${{matrix.python.version}}/g' .bazelrc
cat .bazelrc
- name: Change Python in MODULE.bazel
run: |
sed -i '' -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]*"/\1 "${{ matrix.python.version }}"/g' MODULE.bazel
sed -i '' -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]*"/\1 "${{matrix.python.version}}"/g' MODULE.bazel
cat MODULE.bazel
- name: Build
run: >
@@ -54,3 +58,9 @@ jobs:
-c opt
--test_output=errors
//ortools/... //examples/...
amd64_macos_bazel:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,45 +3,55 @@ name: amd64 MacOS CMake C++
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • C++
name: amd64•MacOS•CMake(${{matrix.cmake.name}})•C++
runs-on: macos-13 # last macos intel based runner
steps:
- uses: actions/checkout@v4
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_DEPS=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_macos_cmake_cpp:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,17 +3,21 @@ name: amd64 MacOS CMake .Net
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • .Net
name: amd64•MacOS•CMake(${{matrix.cmake.name}})•.Net
runs-on: macos-13 # last macos intel based runner
steps:
- uses: actions/checkout@v4
@@ -27,32 +31,38 @@ jobs:
dotnet-version: 6.0.x
- name: Check dotnet
run: dotnet --info
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_DOTNET=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_macos_cmake_dotnet:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,17 +3,21 @@ name: amd64 MacOS CMake Java
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • Java
name: amd64•MacOS•CMake(${{matrix.cmake.name}})•Java
runs-on: macos-13 # last macos intel based runner
steps:
- uses: actions/checkout@v4
@@ -23,32 +27,38 @@ jobs:
swig -version
- name: Check java
run: java -version
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_JAVA=ON -DSKIP_GPG=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_macos_cmake_java:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,14 +3,18 @@ name: amd64 MacOS CMake Python
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
python: [
{version: "3.9"},
@@ -20,7 +24,7 @@ jobs:
{version: "3.13"},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }}
name: amd64•MacOS•CMake(${{matrix.cmake.name}})•Python-${{matrix.python.version}}
runs-on: macos-13 # last macos intel based runner
steps:
- uses: actions/checkout@v4
@@ -31,37 +35,43 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Update Path
run: |
echo "$HOME/Library/Python/${{ matrix.python.version }}/bin" >> $GITHUB_PATH
echo "$HOME/Library/Python/${{matrix.python.version}}/bin" >> $GITHUB_PATH
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_macos_cmake_python:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,9 +3,13 @@ name: amd64 Web
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
emscripten:
name: LinuxEmscripten
name: amd64•LinuxEmscripten
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

View File

@@ -3,21 +3,24 @@ name: amd64 Windows Bazel
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
runner: [windows-2022]
python: [
# {version: '3.10'},
# {version: '3.11'},
# {version: '3.10'},
# {version: '3.11'},
{version: '3.12'},
# {version: '3.13'},
# {version: '3.13'},
]
fail-fast: false # Don't cancel all jobs if one fails.
name: ${{ matrix.runner }} • BazelPython-${{ matrix.python.version }}
runs-on: ${{ matrix.runner }}
name: amd64•Windows•BazelPython-${{matrix.python.version}}
runs-on: windows-2022
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v3
@@ -31,7 +34,7 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Check Python
run: python --version
- name: Install Bazel
@@ -50,3 +53,9 @@ jobs:
-c opt
--test_output=errors
//ortools/... //examples/...
amd64_windows_bazel:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,48 +3,58 @@ name: amd64 Windows CMake C++
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{generator: "Visual Studio 17 2022", config: Debug, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{name: "VS2022", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{name: "VS2022", generator: "Visual Studio 17 2022", config: Debug, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
fail-fast: false
name: Windows • VS 2022 (${{ matrix.cmake.config }})C++
name: amd64•Windows•CMake(${{matrix.cmake.name}},${{matrix.cmake.config}})C++
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
steps:
- uses: actions/checkout@v4
- name: Check cmake
- name: Check CMake
run: |
cmake --version
cmake -G || true
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_CONFIGURATION_TYPES=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_CONFIGURATION_TYPES=${{matrix.cmake.config}}
-DBUILD_DEPS=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_windows_cmake_cpp:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,16 +3,20 @@ name: amd64 Windows CMake .Net
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{name: "VS2022", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
fail-fast: false
name: Windows • VS 2022 • .Net
name: amd64•Windows•CMake(${{matrix.cmake.name}})•.Net
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
@@ -24,30 +28,36 @@ jobs:
dotnet-version: 6.0.x
- name: Check dotnet
run: dotnet --info
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_DOTNET=ON
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_windows_cmake_dotnet:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,13 +3,17 @@ name: amd64 Windows CMake Java
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{name: "VS2022", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
java: [
# see https://endoflife.date/azul-zulu
@@ -28,7 +32,7 @@ jobs:
{distrib: 'microsoft', version: '21'}, # 2028/09
]
fail-fast: false
name: Windows • VS 2022 • ${{ matrix.java.distrib }}-${{ matrix.java.version }}
name: amd64•Windows•CMake(${{matrix.cmake.name}})•${{matrix.java.distrib}}-${{matrix.java.version}}
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
@@ -36,8 +40,8 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java.distrib }}
java-version: ${{ matrix.java.version }}
distribution: ${{matrix.java.distrib}}
java-version: ${{matrix.java.version}}
- name: Update maven
run: |
choco upgrade maven
@@ -46,30 +50,36 @@ jobs:
run: |
java -version
mvn --version
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_JAVA=ON
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_windows_cmake_java:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,13 +3,17 @@ name: amd64 Windows CMake Python
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
{name: "VS2022", generator: "Visual Studio 17 2022", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: INSTALL},
]
python: [
{version: "3.9", dir: Python309},
@@ -19,7 +23,7 @@ jobs:
{version: "3.13", dir: Python313},
]
fail-fast: false
name: Windows • VS 2022 • Python-${{ matrix.python.version }}
name: amd64•Windows•CMake(${{matrix.cmake.name}})•Python-${{matrix.python.version}}
runs-on: windows-latest
env:
CTEST_OUTPUT_ON_FAILURE: 1
@@ -27,37 +31,43 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Install python3
run: python3 -m pip install --user mypy-protobuf absl-py setuptools wheel numpy pandas
- name: Add Python binaries to path
run: >
echo "$((Get-Item ~).FullName)/AppData/Roaming/Python/${{ matrix.python.dir }}/Scripts" |
echo "$((Get-Item ~).FullName)/AppData/Roaming/Python/${{matrix.python.dir}}/Scripts" |
Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
amd64_windows_cmake_python:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,19 +3,23 @@ name: arm64 MacOS Bazel
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
python: [
# {version: '3.10'},
# {version: '3.11'},
#{version: '3.10'},
#{version: '3.11'},
{version: '3.12'},
# {version: '3.13'},
#{version: '3.13'},
]
fail-fast: false
name: MacOSBazelPython-${{ matrix.python.version }}
name: arm64•MacOSBazelPython-${{matrix.python.version}}
runs-on: macos-latest # macos arm64 based runner
steps:
- uses: actions/checkout@v4
@@ -29,18 +33,18 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Check Python
run: python --version
- name: Check Bazel
run: bazel version
- name: Change Python in .bazelrc
run: |
sed -i '' -e 's/\(python_version=\)3.[0-9]*/\1${{ matrix.python.version }}/g' .bazelrc
sed -i '' -e 's/\(python_version=\)3.[0-9]*/\1${{matrix.python.version}}/g' .bazelrc
cat .bazelrc
- name: Change Python in MODULE.bazel
run: |
sed -i '' -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]*"/\1 "${{ matrix.python.version }}"/g' MODULE.bazel
sed -i '' -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]*"/\1 "${{matrix.python.version}}"/g' MODULE.bazel
cat MODULE.bazel
- name: Build
run: >
@@ -54,3 +58,9 @@ jobs:
-c opt
--test_output=errors
//ortools/... //examples/...
arm64_macos_bazel:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,45 +3,55 @@ name: arm64 MacOS CMake C++
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • C++
name: arm64•MacOS•CMake(${{matrix.cmake.name}})•C++
runs-on: macos-latest # macos M1 based runner
steps:
- uses: actions/checkout@v4
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_DEPS=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
arm64_macos_cmake_cpp:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,17 +3,21 @@ name: arm64 MacOS CMake .Net
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • .Net
name: arm64•MacOS•CMake(${{matrix.cmake.name}})•.Net
runs-on: macos-latest # macos arm64 based runner
steps:
- uses: actions/checkout@v4
@@ -27,32 +31,38 @@ jobs:
dotnet-version: 6.0.x
- name: Check dotnet
run: dotnet --info
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_DOTNET=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
arm64_macos_cmake_dotnet:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,17 +3,21 @@ name: arm64 MacOS CMake Java
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • Java
name: arm64•MacOS•CMake(${{matrix.cmake.name}})•Java
runs-on: macos-latest # macos arm64 based runner
steps:
- uses: actions/checkout@v4
@@ -23,32 +27,38 @@ jobs:
swig -version
- name: Check java
run: java -version
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_JAVA=ON -DSKIP_GPG=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
arm64_macos_cmake_java:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -3,14 +3,18 @@ name: arm64 MacOS CMake Python
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
native:
strategy:
matrix:
cmake: [
{generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
{name: "Xcode", generator: "Xcode", config: Release, build_target: ALL_BUILD, test_target: RUN_TESTS, install_target: install},
{name: "Make", generator: "Unix Makefiles", config: Release, build_target: all, test_target: test, install_target: install},
]
python: [
{version: "3.9"},
@@ -20,7 +24,7 @@ jobs:
{version: "3.13"},
]
fail-fast: false
name: MacOS • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }}
name: arm64•MacOS•CMake(${{matrix.cmake.name}})•Python-${{matrix.python.version}}
runs-on: macos-latest # macos arm64 based runner
steps:
- uses: actions/checkout@v4
@@ -31,37 +35,43 @@ jobs:
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python.version }}
python-version: ${{matrix.python.version}}
- name: Update Path
run: |
echo "$HOME/Library/Python/${{ matrix.python.version }}/bin" >> $GITHUB_PATH
echo "$HOME/Library/Python/${{matrix.python.version}}/bin" >> $GITHUB_PATH
echo "$HOME/.local/bin" >> $GITHUB_PATH
- name: Check cmake
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "${{ matrix.cmake.generator }}"
-DCMAKE_BUILD_TYPE=${{ matrix.cmake.config }}
-G "${{matrix.cmake.generator}}"
-DCMAKE_BUILD_TYPE=${{matrix.cmake.config}}
-DBUILD_CXX_SAMPLES=OFF -DBUILD_CXX_EXAMPLES=OFF
-DBUILD_PYTHON=ON
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.build_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.build_target}}
-v -j2
- name: Test
run: >
CTEST_OUTPUT_ON_FAILURE=1
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.test_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.test_target}}
-v
- name: Install
run: >
cmake --build build
--config ${{ matrix.cmake.config }}
--target ${{ matrix.cmake.install_target }}
--config ${{matrix.cmake.config}}
--target ${{matrix.cmake.install_target}}
-v
arm64_macos_cmake_python:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v4

View File

@@ -2,6 +2,10 @@ name: Check Format
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
jobs:
# Building using the github runner environement directly.
clang-format:

View File

@@ -3,6 +3,10 @@ name: mips Toolchain
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
mips:
@@ -10,15 +14,15 @@ jobs:
matrix:
targets: [mips64, mips64el]
fail-fast: false
name: LinuxToolchain ${{ matrix.targets }}
name: LinuxToolchain ${{matrix.targets}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build env stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_env
run: make --directory=cmake toolchain_${{matrix.targets}}_env
- name: Build devel stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_devel
run: make --directory=cmake toolchain_${{matrix.targets}}_devel
- name: Build build stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_build
run: make --directory=cmake toolchain_${{matrix.targets}}_build
- name: Build Test stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_test
run: make --directory=cmake toolchain_${{matrix.targets}}_test

View File

@@ -3,6 +3,10 @@ name: powerpc Toolchain
on: [push, pull_request, workflow_dispatch]
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
jobs:
powerpc:
@@ -10,15 +14,15 @@ jobs:
matrix:
targets: [ppc64, ppc64le]
fail-fast: false
name: LinuxToolchain ${{ matrix.targets }}
name: LinuxToolchain ${{matrix.targets}}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build env stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_env
run: make --directory=cmake toolchain_${{matrix.targets}}_env
- name: Build devel stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_devel
run: make --directory=cmake toolchain_${{matrix.targets}}_devel
- name: Build build stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_build
run: make --directory=cmake toolchain_${{matrix.targets}}_build
- name: Build Test stage
run: make --directory=cmake toolchain_${{ matrix.targets }}_test
run: make --directory=cmake toolchain_${{matrix.targets}}_test