-
Notifications
You must be signed in to change notification settings - Fork 2.4k
135 lines (127 loc) · 3.92 KB
/
amd64_linux_cmake_scip_off.yml
File metadata and controls
135 lines (127 loc) · 3.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
# ref: https://github.com/actions/runner-images
name: amd64 Linux CMake SCIP OFF
on:
push:
branches:
- main
- v99bugfix
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•SCIP=OFF
runs-on: ubuntu-latest
env:
deps_src_key: amd64_linux_scip_deps_src
deps_build_key: amd64_linux_scip_deps_build
ccache_key: amd64_linux_scip_ccache
steps:
- uses: actions/checkout@v6
- 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@v5
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@v5
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@v5
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_COINOR=OFF -DUSE_GLPK=OFF
-DUSE_SCIP=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@v5
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@v5
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@v5
with:
key: ${{steps.deps_src_restore.outputs.cache-primary-key}}
path: ${{github.workspace}}/build/_deps/*-src
amd64_linux_cmake_scip:
runs-on: ubuntu-latest
needs: native
steps:
- uses: actions/checkout@v6