From 94f3733d734cd91544a6d0eec58430afa8f50d6d Mon Sep 17 00:00:00 2001 From: Corentin Le Molgat Date: Tue, 27 Aug 2024 15:35:44 +0200 Subject: [PATCH] ci: Update jobs --- .github/workflows/aarch64_toolchain.yml | 1 + .github/workflows/amd64_cmake_glop_cpp.yml | 10 ++- .github/workflows/amd64_docker_cmake.yml | 2 +- .github/workflows/amd64_macos_bazel.yml | 2 +- .github/workflows/amd64_macos_cmake_cpp.yml | 2 +- .../workflows/amd64_macos_cmake_dotnet.yml | 2 +- .github/workflows/amd64_macos_cmake_java.yml | 2 +- .../workflows/amd64_macos_cmake_python.yml | 2 +- .github/workflows/amd64_windows_cmake_cpp.yml | 3 +- .github/workflows/arm64_macos_bazel.yml | 54 +++++++++++++++ .github/workflows/arm64_macos_cmake_cpp.yml | 47 +++++++++++++ .../workflows/arm64_macos_cmake_dotnet.yml | 58 ++++++++++++++++ .github/workflows/arm64_macos_cmake_java.yml | 54 +++++++++++++++ .../workflows/arm64_macos_cmake_python.yml | 66 +++++++++++++++++++ .github/workflows/mips_toolchain.yml | 1 + .github/workflows/powerpc_toolchain.yml | 1 + 16 files changed, 299 insertions(+), 8 deletions(-) create mode 100644 .github/workflows/arm64_macos_bazel.yml create mode 100644 .github/workflows/arm64_macos_cmake_cpp.yml create mode 100644 .github/workflows/arm64_macos_cmake_dotnet.yml create mode 100644 .github/workflows/arm64_macos_cmake_java.yml create mode 100644 .github/workflows/arm64_macos_cmake_python.yml diff --git a/.github/workflows/aarch64_toolchain.yml b/.github/workflows/aarch64_toolchain.yml index 30402ff6b15..38e4ad4a1ea 100644 --- a/.github/workflows/aarch64_toolchain.yml +++ b/.github/workflows/aarch64_toolchain.yml @@ -1,3 +1,4 @@ +# ref: https://toolchains.bootlin.com/ name: aarch64 Toolchain on: [push, pull_request, workflow_dispatch] diff --git a/.github/workflows/amd64_cmake_glop_cpp.yml b/.github/workflows/amd64_cmake_glop_cpp.yml index 8971c7753fb..f2048bdc7b2 100644 --- a/.github/workflows/amd64_cmake_glop_cpp.yml +++ b/.github/workflows/amd64_cmake_glop_cpp.yml @@ -39,7 +39,15 @@ jobs: install_target: install }, { - runner: "macos-latest", + runner: "macos-13", # last macos intel based runner + generator: "Xcode", + config: Release, + build_target: ALL_BUILD, + test_target: RUN_TESTS, + install_target: install + }, + { + runner: "macos-latest", # macos arm64 based runner generator: "Xcode", config: Release, build_target: ALL_BUILD, diff --git a/.github/workflows/amd64_docker_cmake.yml b/.github/workflows/amd64_docker_cmake.yml index f9aa710a472..8c3f2e55c20 100644 --- a/.github/workflows/amd64_docker_cmake.yml +++ b/.github/workflows/amd64_docker_cmake.yml @@ -1,4 +1,4 @@ -# ref: https://github.com/actions/runner-images +# ref: https://github.com/docker-library/official-images name: amd64 Docker CMake on: [push, pull_request, workflow_dispatch] diff --git a/.github/workflows/amd64_macos_bazel.yml b/.github/workflows/amd64_macos_bazel.yml index 39f264bd533..a478b5b6040 100644 --- a/.github/workflows/amd64_macos_bazel.yml +++ b/.github/workflows/amd64_macos_bazel.yml @@ -16,7 +16,7 @@ jobs: ] fail-fast: false name: MacOS • Bazel • Python-${{ matrix.python.version }} - runs-on: macos-latest + runs-on: macos-13 # last macos intel based runner steps: - uses: actions/checkout@v4 - name: Set Java to OpenJDK 17 (Temurin) diff --git a/.github/workflows/amd64_macos_cmake_cpp.yml b/.github/workflows/amd64_macos_cmake_cpp.yml index 70893e6453e..f89a97db9d0 100644 --- a/.github/workflows/amd64_macos_cmake_cpp.yml +++ b/.github/workflows/amd64_macos_cmake_cpp.yml @@ -14,7 +14,7 @@ jobs: ] fail-fast: false name: MacOS • ${{ matrix.cmake.generator }} • C++ - runs-on: macos-latest + runs-on: macos-13 # last macos intel based runner steps: - uses: actions/checkout@v4 - name: Check cmake diff --git a/.github/workflows/amd64_macos_cmake_dotnet.yml b/.github/workflows/amd64_macos_cmake_dotnet.yml index f11a075eab9..cbae5400bd5 100644 --- a/.github/workflows/amd64_macos_cmake_dotnet.yml +++ b/.github/workflows/amd64_macos_cmake_dotnet.yml @@ -14,7 +14,7 @@ jobs: ] fail-fast: false name: MacOS • ${{ matrix.cmake.generator }} • .Net - runs-on: macos-latest + runs-on: macos-13 # last macos intel based runner steps: - uses: actions/checkout@v4 - name: Swig install diff --git a/.github/workflows/amd64_macos_cmake_java.yml b/.github/workflows/amd64_macos_cmake_java.yml index fd09b62d5b9..c5c89a15c7c 100644 --- a/.github/workflows/amd64_macos_cmake_java.yml +++ b/.github/workflows/amd64_macos_cmake_java.yml @@ -14,7 +14,7 @@ jobs: ] fail-fast: false name: MacOS • ${{ matrix.cmake.generator }} • Java - runs-on: macos-latest + runs-on: macos-13 # last macos intel based runner steps: - uses: actions/checkout@v4 - name: Swig install diff --git a/.github/workflows/amd64_macos_cmake_python.yml b/.github/workflows/amd64_macos_cmake_python.yml index 7aa31ab2a00..b1729db0c90 100644 --- a/.github/workflows/amd64_macos_cmake_python.yml +++ b/.github/workflows/amd64_macos_cmake_python.yml @@ -20,7 +20,7 @@ jobs: ] fail-fast: false name: MacOS • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }} - runs-on: macos-latest + runs-on: macos-13 # last macos intel based runner steps: - uses: actions/checkout@v4 - name: Swig install diff --git a/.github/workflows/amd64_windows_cmake_cpp.yml b/.github/workflows/amd64_windows_cmake_cpp.yml index f970d6c4475..18175b69de5 100644 --- a/.github/workflows/amd64_windows_cmake_cpp.yml +++ b/.github/workflows/amd64_windows_cmake_cpp.yml @@ -10,9 +10,10 @@ jobs: 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}, ] fail-fast: false - name: Windows • ${{ matrix.cmake.generator }} • C++ + name: Windows • ${{ matrix.cmake.generator }} (${{ matrix.cmake.config }}) • C++ runs-on: windows-latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/arm64_macos_bazel.yml b/.github/workflows/arm64_macos_bazel.yml new file mode 100644 index 00000000000..59d67a5d1ee --- /dev/null +++ b/.github/workflows/arm64_macos_bazel.yml @@ -0,0 +1,54 @@ +# ref: https://github.com/actions/runner-images +name: arm64 MacOS Bazel + +on: [push, pull_request, workflow_dispatch] + +# Building using the github runner environement directly. +jobs: + native: + strategy: + matrix: + python: [ + {version: '3.9'}, + {version: '3.10'}, + {version: '3.11'}, + {version: '3.12'}, + ] + fail-fast: false + name: MacOS • Bazel • Python-${{ matrix.python.version }} + runs-on: macos-latest # macos arm64 based runner + steps: + - uses: actions/checkout@v4 + - name: Set Java to OpenJDK 17 (Temurin) + uses: actions/setup-java@v3 + with: + distribution: 'temurin' + java-version: '17' + - name: Check mvn + run: mvn --version + - name: Setup Python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python.version }} + - name: Check Python + run: python --version + - name: Check Bazel + run: bazel version + - name: Change Python in WORKSPACE + run: > + sed + -i '' + -e 's/\(DEFAULT_PYTHON =\) "3.[0-9]*"/\1 "${{ matrix.python.version }}"/g' + WORKSPACE + - name: Build + run: > + bazel build + -c opt + --subcommands=pretty_print + //ortools/... //examples/... + - name: Test + run: > + bazel test + -c opt + --test_output=errors + //ortools/... //examples/... diff --git a/.github/workflows/arm64_macos_cmake_cpp.yml b/.github/workflows/arm64_macos_cmake_cpp.yml new file mode 100644 index 00000000000..8388c59aa14 --- /dev/null +++ b/.github/workflows/arm64_macos_cmake_cpp.yml @@ -0,0 +1,47 @@ +# ref: https://github.com/actions/runner-images +name: arm64 MacOS CMake C++ + +on: [push, pull_request, workflow_dispatch] + +# 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}, + ] + fail-fast: false + name: MacOS • ${{ matrix.cmake.generator }} • C++ + runs-on: macos-latest # macos arm64 based runner + steps: + - uses: actions/checkout@v4 + - name: Check cmake + run: cmake --version + - name: Configure + run: > + cmake -S. -Bbuild + -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 }} + -v -j2 + - name: Test + run: > + CTEST_OUTPUT_ON_FAILURE=1 + cmake --build build + --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 }} + -v diff --git a/.github/workflows/arm64_macos_cmake_dotnet.yml b/.github/workflows/arm64_macos_cmake_dotnet.yml new file mode 100644 index 00000000000..193d3675b85 --- /dev/null +++ b/.github/workflows/arm64_macos_cmake_dotnet.yml @@ -0,0 +1,58 @@ +# ref: https://github.com/actions/runner-images +name: arm64 MacOS CMake .Net + +on: [push, pull_request, workflow_dispatch] + +# 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}, + ] + fail-fast: false + name: MacOS • ${{ matrix.cmake.generator }} • .Net + runs-on: macos-latest # macos arm64 based runner + steps: + - uses: actions/checkout@v4 + - name: Swig install + run: | + brew install swig + swig -version + - name: Setup .NET 6.0 + uses: actions/setup-dotnet@v4 + with: + dotnet-version: 6.0.x + - name: Check dotnet + run: dotnet --info + - name: Check cmake + run: cmake --version + - name: Configure + run: > + cmake -S. -Bbuild + -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 }} + -v -j2 + - name: Test + run: > + CTEST_OUTPUT_ON_FAILURE=1 + cmake --build build + --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 }} + -v diff --git a/.github/workflows/arm64_macos_cmake_java.yml b/.github/workflows/arm64_macos_cmake_java.yml new file mode 100644 index 00000000000..225d7773dee --- /dev/null +++ b/.github/workflows/arm64_macos_cmake_java.yml @@ -0,0 +1,54 @@ +# ref: https://github.com/actions/runner-images +name: arm64 MacOS CMake Java + +on: [push, pull_request, workflow_dispatch] + +# 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}, + ] + fail-fast: false + name: MacOS • ${{ matrix.cmake.generator }} • Java + runs-on: macos-latest # macos arm64 based runner + steps: + - uses: actions/checkout@v4 + - name: Swig install + run: | + brew install swig + swig -version + - name: Check java + run: java -version + - name: Check cmake + run: cmake --version + - name: Configure + run: > + cmake -S. -Bbuild + -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 }} + -v -j2 + - name: Test + run: > + CTEST_OUTPUT_ON_FAILURE=1 + cmake --build build + --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 }} + -v diff --git a/.github/workflows/arm64_macos_cmake_python.yml b/.github/workflows/arm64_macos_cmake_python.yml new file mode 100644 index 00000000000..7cd90596f4a --- /dev/null +++ b/.github/workflows/arm64_macos_cmake_python.yml @@ -0,0 +1,66 @@ +# ref: https://github.com/actions/runner-images +name: arm64 MacOS CMake Python + +on: [push, pull_request, workflow_dispatch] + +# 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}, + ] + python: [ + {version: "3.9"}, + {version: "3.10"}, + {version: "3.11"}, + {version: "3.12"} + ] + fail-fast: false + name: MacOS • ${{ matrix.cmake.generator }} • Python-${{ matrix.python.version }} + runs-on: macos-latest # macos arm64 based runner + steps: + - uses: actions/checkout@v4 + - name: Swig install + run: | + brew install swig + swig -version + - 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 + echo "$HOME/.local/bin" >> $GITHUB_PATH + - name: Check cmake + run: cmake --version + - name: Configure + run: > + cmake -S. -Bbuild + -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 }} + -v -j2 + - name: Test + run: > + CTEST_OUTPUT_ON_FAILURE=1 + cmake --build build + --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 }} + -v diff --git a/.github/workflows/mips_toolchain.yml b/.github/workflows/mips_toolchain.yml index b3fbf09cc34..0234f00f21b 100644 --- a/.github/workflows/mips_toolchain.yml +++ b/.github/workflows/mips_toolchain.yml @@ -1,3 +1,4 @@ +# ref: https://codescape.mips.com/components/toolchain/2021.09-01/downloads.html name: mips Toolchain on: [push, pull_request, workflow_dispatch] diff --git a/.github/workflows/powerpc_toolchain.yml b/.github/workflows/powerpc_toolchain.yml index bd210528261..cd64bdb2353 100644 --- a/.github/workflows/powerpc_toolchain.yml +++ b/.github/workflows/powerpc_toolchain.yml @@ -1,3 +1,4 @@ +# ref: https://toolchains.bootlin.com/ name: powerpc Toolchain on: [push, pull_request, workflow_dispatch]