Skip to content

Merge pull request #4880 from google/mizux/julia #3295

Merge pull request #4880 from google/mizux/julia

Merge pull request #4880 from google/mizux/julia #3295

# ref: https://github.com/actions/runner-images
name: amd64 Linux CMake CoinOR OFF
on:
push:
branches:
- main
- v99bugfix
pull_request:
workflow_dispatch:
concurrency:
group: ${{github.workflow}}-${{github.ref}}
cancel-in-progress: true
# Building using the github runner environement directly.
env:
CCACHE_BASEDIR: ${{github.workspace}}
CCACHE_DIR: ${{github.workspace}}/.ccache
jobs:
native:
name: amd64•Linux•CMake•CoinOR=OFF
runs-on: ubuntu-latest
env:
deps_src_key: amd64_linux_coinor_deps_src
deps_build_key: amd64_linux_coinor_deps_build
ccache_key: amd64_linux_coinor_ccache
steps:
- uses: actions/checkout@v5
- name: Install Dependencies
run: |
sudo apt update
sudo apt install -y ninja-build ccache swig
swig -version
# Install .NET SDKs
- name: Setup .NET 8.0
uses: actions/setup-dotnet@v5
with:
dotnet-version: 8.0.x
- name: Check dotnet
run: dotnet --info
# Install Java
- name: Check java
run: java -version
# Install Python
- name: Install python3 venv
run: sudo apt-get install python3-venv
- name: Update Path
run: echo "$HOME/.local/bin" >> $GITHUB_PATH
# RESTORING CACHES
- name: Restore CMake dependency source code
uses: actions/cache/restore@v4
id: deps_src_restore
with:
key: ${{env.deps_src_key}}-${{hashFiles('CMakeLists.txt', 'cmake/**')}}
path: ${{github.workspace}}/build/_deps/*-src
- name: Restore CMake dependency build
uses: actions/cache/restore@v4
id: deps_build_restore
with:
key: ${{env.deps_build_key}}-${{hashFiles('CMakeLists.txt', 'cmake/**')}}
path: |
${{github.workspace}}/build/_deps/*-build
${{github.workspace}}/build/_deps/*-subbuild
- name: Restore CCache
uses: actions/cache/restore@v4
id: ccache_restore
with:
key: ${{env.ccache_key}}-${{github.sha}}
restore-keys: ${{env.ccache_key}}-
path: ${{env.CCACHE_DIR}}
- name: Check CMake
run: cmake --version
- name: Configure
run: >
cmake -S. -Bbuild
-G "Ninja"
-DCMAKE_BUILD_TYPE=Release
-DBUILD_DOTNET=ON -DBUILD_JAVA=ON -DBUILD_PYTHON=ON
-DUSE_GLPK=OFF -DUSE_SCIP=OFF
-DUSE_COINOR=OFF
-DCMAKE_INSTALL_PREFIX=install
- name: Build
run: >
cmake --build build
--config Release
--target all
-v -j2
- 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
- name: CCache stats
run: |
ccache --show-stats
ccache --zero-stats
# SAVING CACHES
- name: Save CCache
if: github.ref == 'refs/heads/main'
uses: actions/cache/save@v4
with:
key: ${{steps.ccache_restore.outputs.cache-primary-key}}
path: ${{env.CCACHE_DIR}}
- name: Save CMake dependency build
if: github.ref == 'refs/heads/main'
uses: actions/cache/save@v4
with:
key: ${{steps.deps_build_restore.outputs.cache-primary-key}}
path: |
${{github.workspace}}/build/_deps/*-build
${{github.workspace}}/build/_deps/*-subbuild
- name: Save CMake dependency source code
if: github.ref == 'refs/heads/main'
uses: actions/cache/save@v4
with:
key: ${{steps.deps_src_restore.outputs.cache-primary-key}}
path: ${{github.workspace}}/build/_deps/*-src
amd64_linux_cmake_coinor:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v5