Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/tmp maintenance planning rte i build exe #159

Open
wants to merge 323 commits into
base: New-Antares-Emulator-2
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
323 commits
Select commit Hold shift + click to select a range
61403d3
fix calculateAverageRenewableTs
Milos-RTEi Nov 13, 2023
a50962f
clean
Milos-RTEi Nov 13, 2023
ae0810d
fix calculateAverageRenewableTs - 2
Milos-RTEi Nov 13, 2023
2d59c60
refactor solver.hxx -> to run-only-ts-gen -> ApplyScenarioBuilderDueT…
Milos-RTEi Nov 13, 2023
96b789c
refactor ApplyScenarioBuilderDueToMaintenancePlanning
Milos-RTEi Nov 13, 2023
5302a71
method calculateTimeHorizonAndStep
Milos-RTEi Nov 13, 2023
fe54194
calculateNumberOfMaintenances
Milos-RTEi Nov 13, 2023
bda47a4
calculateMaintenanceGroupENSandSpillageCost
Milos-RTEi Nov 13, 2023
bb31402
calculateMaxUnitOutput & calculateDailySums
Milos-RTEi Nov 13, 2023
d1a891f
calculateAverageMaintenanceDuration - TODO
Milos-RTEi Nov 13, 2023
c672bdf
calculateAverageMaintenanceDuration implement
Milos-RTEi Nov 13, 2023
6af2a8e
re-arrange methods for better readability
Milos-RTEi Nov 13, 2023
f480e32
calculateUnit[Latest/Earliest]StartOfFirstMaintenance
Milos-RTEi Nov 13, 2023
41563d6
clang format
Milos-RTEi Nov 13, 2023
aa07321
in addition to inheritance, lets juts make OptimizedThermalGenerator …
Milos-RTEi Nov 14, 2023
afcd241
refactor - create separate generator for each mnt group - easier to m…
Milos-RTEi Nov 14, 2023
75f2b84
refactor - setMaintenanceGroupParameters
Milos-RTEi Nov 14, 2023
d71fb08
update call to calculateNumberOfMaintenances
Milos-RTEi Nov 14, 2023
97f0972
add checks before loops - add loops per scenario nad per length
Milos-RTEi Nov 14, 2023
492d8c8
clean
Milos-RTEi Nov 14, 2023
be54e64
create opt problem formulation structure files
Milos-RTEi Nov 14, 2023
99dabaa
refactor - class OptProblemSettings
Milos-RTEi Nov 14, 2023
7c0dd5b
add auxillary method dayOfTheYear
Milos-RTEi Nov 14, 2023
28cf562
clean
Milos-RTEi Nov 14, 2023
30a492e
create OptimizationProblemVariableIndexes
Milos-RTEi Nov 14, 2023
d1383f4
improve checks
Milos-RTEi Nov 14, 2023
0c2834b
earliest/latest start of the first maintenance TODO
Milos-RTEi Nov 16, 2023
95cba2e
add static - minNumberOfMaintenances
Milos-RTEi Nov 17, 2023
878a41b
fix calculateUnit[Earliest/Latest]StartOfFirstMaintenance methods
Milos-RTEi Nov 17, 2023
1ad0802
clean
Milos-RTEi Nov 17, 2023
d1a6ba9
initialize MILP solver called CBC (ortools family)
Milos-RTEi Nov 17, 2023
6402aa4
refactor/fix OptimizedThermalGenerator destructor
Milos-RTEi Nov 17, 2023
d30f132
refactor initialize MPSolver - which one is better - maybe revert to …
Milos-RTEi Nov 17, 2023
8d0c7d7
add solver infinity to the OptimizedThermalGenerator
Milos-RTEi Nov 17, 2023
3dc3427
clean
Milos-RTEi Nov 17, 2023
a1b657a
test CBC solver on dummy MILP case - works!
Milos-RTEi Nov 17, 2023
cae2b52
add some instructions comments
Milos-RTEi Nov 17, 2023
55b0641
access/set MPSolver parameters
Milos-RTEi Nov 20, 2023
510c659
redefine OptimizationProblemVariables struct
Milos-RTEi Nov 20, 2023
daadbd9
ens & spill variable bounds
Milos-RTEi Nov 20, 2023
adf7657
typo
Milos-RTEi Nov 20, 2023
a9c7b7a
redefine OptimizationProblemVariables
Milos-RTEi Nov 20, 2023
469f0b8
reset problem
Milos-RTEi Nov 20, 2023
b6379c8
refactor + create P[t][u] variables + print out variables for debug
Milos-RTEi Nov 20, 2023
d5e6a4a
refactor calculateNumberOfMaintenances
Milos-RTEi Nov 20, 2023
8d768f4
create start & end variables
Milos-RTEi Nov 20, 2023
dea7b3a
set boundaries
Milos-RTEi Nov 20, 2023
047e41b
refactor
Milos-RTEi Nov 20, 2023
7d5c524
improve printAllVariables
Milos-RTEi Nov 20, 2023
49b4951
set problem cost - ens & spill + print out cost
Milos-RTEi Nov 21, 2023
29a9993
set problem cost - power output
Milos-RTEi Nov 21, 2023
0e6dacb
refactor set objective cost - add optSett due to cluster power cost c…
Milos-RTEi Nov 21, 2023
a202e5b
calculateUnitPowerCost - structure [WIP]
Milos-RTEi Nov 21, 2023
6bb6bbb
create DailyClusterData structure
Milos-RTEi Nov 21, 2023
9882ff0
calculateAvrUnitDailyCost [WIP]
Milos-RTEi Nov 21, 2023
f826191
getters for cluster daily output and cost
Milos-RTEi Nov 21, 2023
56fb3f1
setClusterDailyValues - not checked!
Milos-RTEi Nov 21, 2023
5fa408c
clean & refactor + tested setClusterDailyValues-OK
Milos-RTEi Nov 21, 2023
29ed5c5
refactor - move parameters calc methods to separate cpp file
Milos-RTEi Nov 22, 2023
f8a386a
refactor createVariables
Milos-RTEi Nov 22, 2023
13e508a
improve calculateNumberOfMaintenances
Milos-RTEi Nov 22, 2023
2e482f7
refactor - override method names - simpler
Milos-RTEi Nov 22, 2023
93929dd
improve calculateUnitLatest/EarliestStartOfFirstMaintenance
Milos-RTEi Nov 22, 2023
9ca71b3
setFirstMntStartBounds
Milos-RTEi Nov 22, 2023
a8699f3
store daysSinceLastMaintenance locally - since we are going to update…
Milos-RTEi Nov 22, 2023
30afaed
fix setFirstMntStartBounds + print out
Milos-RTEi Nov 22, 2023
96bc28c
improve calculateUnitEarliestStartOfFirstMaintenance
Milos-RTEi Nov 22, 2023
e12f0ab
refactor fixBounds - [WIP]
Milos-RTEi Nov 22, 2023
a01c434
clean
Milos-RTEi Nov 22, 2023
c13ba09
clean
Milos-RTEi Nov 22, 2023
35d0ab4
fixBounds - tested OK
Milos-RTEi Nov 22, 2023
df8a260
typo
Milos-RTEi Nov 22, 2023
1250c12
rename
Milos-RTEi Nov 22, 2023
70627e9
add scenario number and solved trigger to optSett
Milos-RTEi Nov 22, 2023
b282072
improve main scenario/step loop
Milos-RTEi Nov 22, 2023
c86c8bf
add comments
Milos-RTEi Nov 22, 2023
2962d27
small refactor
Milos-RTEi Nov 22, 2023
e932e98
fixVariableBounds - refactor + rename + add last one
Milos-RTEi Nov 22, 2023
c555a1d
add numberOfMaintenances & averageMaintenanceDuration to DailyCluste…
Milos-RTEi Nov 22, 2023
bde9e5d
call getters instead of calculate - avoid numerous recalculation
Milos-RTEi Nov 22, 2023
6b46918
refactor
Milos-RTEi Nov 22, 2023
5455baa
renaming + more getters
Milos-RTEi Nov 23, 2023
c4ebbdb
refactor create P var - create by all days first
Milos-RTEi Nov 23, 2023
603185c
clean-refactor
Milos-RTEi Nov 23, 2023
87b773c
refactor build start/end vars - all days first
Milos-RTEi Nov 23, 2023
2dc9f4c
setLoadBalanceConstraints + print
Milos-RTEi Nov 23, 2023
35be8fd
improve debug printing constraints
Milos-RTEi Nov 23, 2023
b62d143
deltaSolver for <= & >= constraints
Milos-RTEi Nov 23, 2023
ac54c53
setMaxUnitOutputConstraints - tested
Milos-RTEi Nov 23, 2023
7f9497c
adjust max output constraint if cluster/unit is not in maintenance ju…
Milos-RTEi Nov 23, 2023
3718dcf
fix comments
Milos-RTEi Nov 23, 2023
76c18c3
maybe idea for refactoring phase-II
Milos-RTEi Nov 23, 2023
4272581
setStartEndMntLogicConstraints - tested one by one - works - solver w…
Milos-RTEi Nov 23, 2023
464632d
clean + comments
Milos-RTEi Nov 24, 2023
3bff790
clean/refactor - move all print to separate file
Milos-RTEi Nov 24, 2023
7e4253b
clean
Milos-RTEi Nov 24, 2023
9ebc70e
printResults method - for debugging purpose - result tested - seems l…
Milos-RTEi Nov 24, 2023
b5a4a4a
re-naming
Milos-RTEi Nov 24, 2023
6ffe65e
refactor+comments
Milos-RTEi Nov 24, 2023
8ccc3c2
refactor
Milos-RTEi Nov 24, 2023
ad5edd3
HUGE refactor - re-define var structure and all the loops
Milos-RTEi Nov 26, 2023
80ad7da
update auxiliary structures due to future use
Milos-RTEi Nov 26, 2023
0b646e9
add separate cpp-s for post optimization
Milos-RTEi Nov 26, 2023
6eca1cb
structure for postScenarioOptimization
Milos-RTEi Nov 26, 2023
1bb69bc
post-timeStep optimization struct
Milos-RTEi Nov 26, 2023
07faba8
comments
Milos-RTEi Nov 26, 2023
427b341
post scenario optimization clear storage
Milos-RTEi Nov 26, 2023
a9099ca
add comments in OptimizedGenerator for clearer picture
Milos-RTEi Nov 26, 2023
3c1a9e1
TODO-s refactoring ideas
Milos-RTEi Nov 26, 2023
1ca156f
create instance for appending scenario results step by step
Milos-RTEi Nov 26, 2023
8ded34c
update todo comments
Milos-RTEi Nov 26, 2023
739b720
extract auxiliary methods out of the class
Milos-RTEi Nov 26, 2023
998aba1
move calculate Average time-series functions out of class
Milos-RTEi Nov 26, 2023
5eaca86
extract 2 calculate parameters methods - per cluster out of the class
Milos-RTEi Nov 26, 2023
6af86e9
move second part of calculate parameters methods - per cluster out of…
Milos-RTEi Nov 26, 2023
3b96580
move free functions definition to separate cpp
Milos-RTEi Nov 26, 2023
e567fcf
make header file for auxillary functions
Milos-RTEi Nov 26, 2023
941dbc7
assert
Milos-RTEi Nov 26, 2023
4891b6b
future tips
Milos-RTEi Nov 26, 2023
7b0fbc7
auxillary function findFirstOne in vector
Milos-RTEi Nov 27, 2023
8964fa6
fix populating scenarioResults while creating variables
Milos-RTEi Nov 27, 2023
3e317f1
appendTimeStepResults - collect mnt start values
Milos-RTEi Nov 27, 2023
222f672
draw random maintenance duration [WIP]
Milos-RTEi Nov 27, 2023
7690241
draw random maintenance duration
Milos-RTEi Nov 27, 2023
049d8c5
refactor - calculate and store all cluster data for rand gen before l…
Milos-RTEi Nov 27, 2023
fbbd40a
small refactor
Milos-RTEi Nov 27, 2023
481779c
re-calculate days since last mnt [WIP]
Milos-RTEi Nov 27, 2023
1d6d120
rename-refactor
Milos-RTEi Nov 28, 2023
f152726
writeTsResults - final call after all scenarios - includes: derated, …
Milos-RTEi Nov 28, 2023
df1a047
post scenario optimization auxillary functions [WIP] - expandAndMean
Milos-RTEi Nov 28, 2023
44a9eca
refactor availableDailyPower
Milos-RTEi Nov 28, 2023
631503d
upgrade calculateAvailableDailyPower
Milos-RTEi Nov 28, 2023
d6f50f0
fix - reCalculateDaysSinceLastMnt
Milos-RTEi Nov 28, 2023
ed6ed08
TODO
Milos-RTEi Nov 28, 2023
636e282
call and test calculateAvailableDailyPower - ok
Milos-RTEi Nov 28, 2023
5063434
calculateScenarioResults tested ok
Milos-RTEi Nov 28, 2023
fdb7010
small rename
Milos-RTEi Nov 28, 2023
75f0aa5
move reSetDaysSinceLastMnt to postScenario actions
Milos-RTEi Nov 28, 2023
2b231dd
refactor - simplify maintenanceData structure - one loop only
Milos-RTEi Nov 28, 2023
9472bcb
small refactor - simplification in build variables
Milos-RTEi Nov 28, 2023
e28fd38
small refactor
Milos-RTEi Nov 28, 2023
d69175d
saveScenarioResults [WIP]
Milos-RTEi Nov 28, 2023
9e9474e
saveScenarioResults - per cluster - not tested
Milos-RTEi Nov 28, 2023
4a25197
print maintenances - debug only - to be reverted
Milos-RTEi Nov 29, 2023
98c11ef
clean TODOs
Milos-RTEi Nov 29, 2023
026127f
only first maintenance can happen in timeStep - do not loop mnt
Milos-RTEi Nov 29, 2023
48f7327
update comments
Milos-RTEi Nov 29, 2023
95a031b
fix reCalculateDaysSinceLastMnt - as discussed with Hugo - not tested
Milos-RTEi Nov 29, 2023
fb95d39
todo comments
Milos-RTEi Nov 29, 2023
e924a04
improve printing for debug
Milos-RTEi Nov 29, 2023
b713d37
remove unused parameters
Milos-RTEi Nov 29, 2023
1274bb6
print availability vector
Milos-RTEi Nov 29, 2023
58d26c6
Big refactor before changing logic for number of maintenances - check…
Milos-RTEi Nov 29, 2023
98afa15
reminders to remove debug print
Milos-RTEi Nov 29, 2023
cf4c4b2
calculateNumberOfMaintenances - new approach
Milos-RTEi Nov 29, 2023
d03c3bd
reCalculateNumberOfMaintenances
Milos-RTEi Nov 29, 2023
26b2ddf
fix order of caclulating parameters
Milos-RTEi Nov 29, 2023
da2edbe
todo comment
Milos-RTEi Nov 30, 2023
2d54b65
re-name
Milos-RTEi Nov 30, 2023
edff7fc
refactor - wrap up optimization parameters - preparation to make time…
Milos-RTEi Nov 30, 2023
926f762
timeHorizon - is changing - initial calculation
Milos-RTEi Nov 30, 2023
c16ac0b
reCalculateTimeHorizon
Milos-RTEi Nov 30, 2023
6d9ad46
reSetTimeHorizon
Milos-RTEi Nov 30, 2023
a68e6a2
timeHorizon is dynamic now - calculate last day differently
Milos-RTEi Nov 30, 2023
14be2aa
refactor
Milos-RTEi Nov 30, 2023
55ad39d
refactor - pack into sub-folders
Milos-RTEi Nov 30, 2023
9c37f18
move parameters into class
Milos-RTEi Dec 1, 2023
f89b216
move post-optimization to class
Milos-RTEi Dec 1, 2023
c6fddd7
re-name
Milos-RTEi Dec 1, 2023
68981cb
writeTsResults - back to main class
Milos-RTEi Dec 1, 2023
4c02b81
make var & sceRes available to OptimizationParameter class
Milos-RTEi Dec 1, 2023
9d45059
move write results to separate file
Milos-RTEi Dec 1, 2023
f1c0df2
progression++
Milos-RTEi Dec 1, 2023
257ca6a
move print results to OptPar
Milos-RTEi Dec 1, 2023
26f83f6
clang
Milos-RTEi Dec 1, 2023
15f7c09
refactor - simplify Unit::startDay method
Milos-RTEi Dec 1, 2023
6dcb6bb
refactor in order of call
Milos-RTEi Dec 1, 2023
4242256
fix crash when optimize-maintenance = false
Milos-RTEi Dec 1, 2023
781f75b
remove duplicate function definition
Milos-RTEi Dec 1, 2023
4c02e0d
Merge branch 'develop-new' into feature/maintenance-planning-rtei-cr27
Milos-RTEi Dec 1, 2023
f26136c
add limitations
Milos-RTEi Dec 7, 2023
0e91a6a
check timeHorizon after each step
Milos-RTEi Dec 7, 2023
5fe09e1
let daysSinceLast maintenance goes into negative value
Milos-RTEi Dec 7, 2023
6ed802e
make wrong parameters warning - improve log
Milos-RTEi Dec 7, 2023
ae43372
improve logs
Milos-RTEi Dec 7, 2023
457f5b8
bounds-> ct (better solver behavior)
Milos-RTEi Dec 7, 2023
bd5171e
fix - postScenarioOptimization after crash
Milos-RTEi Dec 7, 2023
7e65e89
fix - calc number of maintenances - exclude edge case
Milos-RTEi Dec 7, 2023
66a0b39
Revert "let daysSinceLast maintenance goes into negative value"
Milos-RTEi Dec 7, 2023
9788ccb
fix - std::min(averageDurationBetweenMaintenances - 1, daysSinceLastM…
Milos-RTEi Dec 11, 2023
baa72c4
add pre-check - ts num in simulation must equal sc.len*sc.num
Milos-RTEi Dec 11, 2023
04cf6d2
fix - check
Milos-RTEi Dec 11, 2023
210e6b8
Revert "bounds-> ct (better solver behavior)"
Milos-RTEi Dec 11, 2023
0555850
clean redundant checks
Milos-RTEi Dec 12, 2023
ff04e3d
Update cleaner
nikolaredstork Dec 13, 2023
49e4143
fix time horizon. Add +1 ( when po.win = 0)
Milos-RTEi Dec 14, 2023
a71e84e
Merge branch 'feature/maintenance-planning-rtei-cr27' of https://gith…
Milos-RTEi Dec 14, 2023
51b483a
small improve cause of +1 in timeHorizon
Milos-RTEi Dec 14, 2023
f55f333
move printColumnToFile to aux
Milos-RTEi Dec 19, 2023
236fb36
remove printing
Milos-RTEi Dec 19, 2023
e9f592d
use lowercase for folder names
Milos-RTEi Dec 19, 2023
4d33117
Merge branch 'develop-new' into feature/tmp-maintenance-planning-rte-…
Milos-RTEi Dec 19, 2023
130dc13
try fix - window build fail
Milos-RTEi Dec 19, 2023
8fdbfc7
try fix - shorter name
Milos-RTEi Dec 19, 2023
c123ef7
fix double file
Milos-RTEi Dec 19, 2023
d78f2e2
do not use aux folder name
Milos-RTEi Dec 19, 2023
41b6f16
make it beta
Milos-RTEi Dec 19, 2023
fb252a6
fix
a-zakir Feb 21, 2024
aeae7eb
Update to 8.8.3
JasonMarechal25 Feb 21, 2024
c1c98e3
Changelog
JasonMarechal25 Feb 21, 2024
01aa590
install cmake 3.28
a-zakir Feb 22, 2024
8e84e32
8.8.4 (#1998)
payetvin Mar 26, 2024
432bc4b
simtest version
payetvin Mar 29, 2024
0573c5f
Version 8.8.5 (#2110)
payetvin May 27, 2024
9fa753e
Release 8.8.6 (#2194)
payetvin Jun 28, 2024
f10fa2b
update centos7 action
payetvin Jul 1, 2024
2d9adcb
Release 8.8.7 (#2262)
payetvin Jul 17, 2024
72dd69a
allow unsecure nodejs version for centos
payetvin Jul 18, 2024
30334ff
simtest version
payetvin Jul 31, 2024
3d183ed
Release 8.8.8 (#2379)
payetvin Sep 9, 2024
e32af00
Use upload artifact v4
payetvin Sep 9, 2024
dc309fe
Merge branch 'release/8.8.x' of https://github.com/AntaresSimulatorTe…
payetvin Sep 9, 2024
f3386bd
Remove artifact upload for centos
payetvin Sep 10, 2024
3333200
version number, update changelog
payetvin Sep 10, 2024
f19ecef
artifact names for oracle
payetvin Sep 10, 2024
a7ffc45
Release 8.8.8 v2 (#2388)
payetvin Sep 10, 2024
b3d5d60
update changelog
payetvin Sep 11, 2024
eb52850
Release 8.8.9 (#2393)
payetvin Sep 12, 2024
91320b8
Use OR-Tools v9.11-rte1.1 [ANT-2069] (#2418)
flomnes Sep 24, 2024
890c308
Place CSR after hydro remix [ANT-2070] (#2407)
flomnes Sep 24, 2024
0577520
Force enable-first-step=false (#2419)
flomnes Sep 26, 2024
8dbf5c1
Adequacy patch CSR - revamp output variables [ANT-1932] (#2421)
flomnes Sep 27, 2024
3ebda61
Release 8.8.10 (#2436)
flomnes Sep 27, 2024
91678db
use devtoolset 11 for centos
payetvin Sep 27, 2024
59c9453
Use devtoolset-11 CentOS7 (#2442)
flomnes Sep 29, 2024
a506037
remove "Aux" from folder and file names
Milos-RTEi Oct 4, 2024
4167856
try fix-17
Milos-RTEi Oct 4, 2024
200e38b
try fix-18
Milos-RTEi Oct 4, 2024
c068732
try fix-19
Milos-RTEi Oct 4, 2024
b917ab1
Merge remote-tracking branch 'origin/release/8.8.x' into feature/tmp-…
Milos-RTEi Oct 7, 2024
2a42a10
fix wrong merge with 8.8.x
Milos-RTEi Oct 7, 2024
8c3fe99
fix bad merge - cluster_list
Milos-RTEi Oct 7, 2024
ef485f3
fix merge
Milos-RTEi Oct 7, 2024
6c71954
fix local fail
Milos-RTEi Oct 7, 2024
7326993
fix issues with Namespaces
Milos-RTEi Oct 7, 2024
4dd45da
fix issue with Namespaces-2
Milos-RTEi Oct 7, 2024
833b302
catch RTE ts-gen changes
Milos-RTEi Oct 7, 2024
fbce28f
Update vcpkg to latest version for branch 8.8.x (#2457)
payetvin Oct 10, 2024
5e853ed
Merge branch 'release/8.8.x' into feature/tmp-maintenance-planning-rt…
Milos-RTEi Oct 10, 2024
76a89f9
try fix - increase stack memory
Milos-RTEi Nov 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
61 changes: 28 additions & 33 deletions .github/workflows/centos7.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,17 @@ on:
inputs:
run-tests:
required: true
type: boolean
type: string
target_branch:
required: true
type: string

env:
GITHUB_TOKEN: ${{ github.token }}
IS_RELEASE: ${{ github.event_name == 'workflow_dispatch' }}
IS_PUSH: ${{ github.event_name == 'push' }}
REF: ${{ inputs.target_branch =='' && github.ref_name || inputs.target_branch}}
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:

Expand All @@ -33,7 +38,14 @@ jobs:

- name: Checkout
run: |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b $GITHUB_REF_NAME .
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b ${{ env.REF }} .

- name: Install gcc 11
run: |
yum install -y centos-release-scl
yum install -y devtoolset-11-gcc*

- uses: ./.github/workflows/install-cmake-328

- name: Init submodule
run: |
Expand All @@ -49,7 +61,7 @@ jobs:

- name: Config OR-Tools URL
run: |
echo "URL_ORTOOLS=https://github.com/rte-france/or-tools/releases/download/$(cat ortools_tag)/ortools_cxx_centos7_static_sirius.zip" >> $GITHUB_ENV
echo "URL_ORTOOLS=https://github.com/rte-france/or-tools-rte/releases/download/$(cat ortools_tag)/ortools_cxx_centos7_static_sirius.zip" >> $GITHUB_ENV

- name: Download OR-Tools
id: ortools
Expand All @@ -59,41 +71,43 @@ jobs:
unzip -q ortools.zip
rm ortools.zip

- name: Install gcc 10
- name: Install gh if needed
if: ${{ env.IS_RELEASE == 'true' }}
run: |
yum install -y centos-release-scl
yum install -y devtoolset-10-gcc*
wget https://github.com/cli/cli/releases/download/v2.52.0/gh_2.52.0_linux_amd64.rpm
rpm -i gh_2.52.0_linux_amd64.rpm
gh --version

- name: Configure
run: |
source /opt/rh/devtoolset-10/enable
cmake3 -B _build -S src \
source /opt/rh/devtoolset-11/enable
cmake -B _build -S src \
-DCMAKE_C_COMPILER_LAUNCHER=ccache \
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
-DDEPS_INSTALL_DIR=/rte-antares-deps-Release \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=ON \
-DBUILD_not_system=OFF \
-DBUILD_TOOLS=OFF \
-DBUILD_TOOLS=ON \
-DBUILD_UI=OFF \
-DCMAKE_PREFIX_PATH=${{ env.ORTOOLSDIR }}/install \

- name: Build
run: |
source /opt/rh/devtoolset-10/enable
source /opt/rh/devtoolset-11/enable
source /opt/rh/rh-git227/enable
cmake3 --build _build --config Release -j$(nproc)
cmake --build _build --config Release -j$(nproc)
ccache -s

- name: Installer .rpm creation
run: |
cd _build
cpack3 -G RPM
cpack -G RPM

- name: Solver archive creation
run: |
cd _build
cmake3 --install . --prefix install
cmake --install . --prefix install
pushd .
cd install/bin
tar czf ../../antares-solver_centos7.tar.gz antares-*-solver libsirius_solver.so
Expand All @@ -103,25 +117,7 @@ jobs:
- name: .tar.gz creation
run: |
cd _build
cpack3 -G TGZ

- name: Installer TGZ push
uses: actions/upload-artifact@v3
with:
path: _build/*.tar.gz

- name: Installer RPM push
uses: actions/upload-artifact@v3
with:
path: _build/*.rpm

- name: Install gh
if: ${{ env.IS_RELEASE == 'true' }}
run: |
yum -y install dnf
dnf -y install 'dnf-command(config-manager)'
dnf -y config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
dnf -y install gh
cpack -G TGZ

- name: Publish assets
if: ${{ env.IS_RELEASE == 'true' }}
Expand All @@ -131,4 +127,3 @@ jobs:
run: |
gh release upload "$tag" _build/*.tar.gz _build/*.rpm


17 changes: 17 additions & 0 deletions .github/workflows/install-cmake-328/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: "Install cmake 3.28 using devtoolset 10"
description: "Download and install system wide cmake 3.28"

runs:
using: "composite"
steps:
- name: Build cmake
shell: bash
run: |
source /opt/rh/devtoolset-11/enable
yum -y install openssl-devel
wget https://github.com/Kitware/CMake/releases/download/v3.28.2/cmake-3.28.2.tar.gz
tar -xvf cmake-3.28.2.tar.gz
cd cmake-3.28.2
./bootstrap
make -j$(nproc)
make install
29 changes: 22 additions & 7 deletions .github/workflows/new_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: Create new release
on:
workflow_dispatch:
inputs:
target_branch:
description: "Target branch or full commit SHA"
required: true
release_tag:
description: "Release tag"
required: true
Expand All @@ -12,6 +15,11 @@ on:
run-tests:
description: "Run all tests (true/false)"
required: true
type: string
set_latest:
description: "Set the release as latest"
required: true
type: boolean
jobs:
release:
name: Release pushed tag
Expand All @@ -23,45 +31,52 @@ jobs:
tag: ${{ github.event.inputs.release_tag }}
title: ${{ github.event.inputs.release_name }}
tests: ${{ github.event.inputs.run-tests }}
target_branch: ${{ github.event.inputs.target_branch }}
latest: ${{ github.event.inputs.set_latest }}
run: |
gh release create "$tag" \
--repo="$GITHUB_REPOSITORY" \
--title="$title" \
--notes="Run tests: $tests"

--notes="Run tests: $tests"\
--target="$target_branch" \
--latest=$latest


ubuntu:
name: Release - Ubuntu
needs: release
uses: ./.github/workflows/ubuntu.yml
with:
run-tests: ${{ fromJSON(inputs.run-tests) }}
run-tests: ${{ inputs.run-tests }}
target_branch: ${{ inputs.target_branch }}

windows:
name: Release - Windows
needs: release
uses: ./.github/workflows/windows-vcpkg.yml
with:
run-tests: ${{ fromJSON(inputs.run-tests) }}
run-tests: ${{ inputs.run-tests }}
target_branch: ${{ inputs.target_branch }}

centos7:
name: Release - centos7
needs: release
uses: ./.github/workflows/centos7.yml
with:
run-tests: ${{ fromJSON(inputs.run-tests) }}
run-tests: ${{ inputs.run-tests }}
target_branch: ${{ inputs.target_branch }}

oracle8:
name: Release - oracle8
needs: release
uses: ./.github/workflows/oracle8.yml
with:
run-tests: ${{ fromJSON(inputs.run-tests) }}
run-tests: ${{ inputs.run-tests }}
target_branch: ${{ inputs.target_branch }}

user_guide:
name: User Guide
needs: release
uses: ./.github/workflows/build-userguide.yml
with:
run-tests: ${{ fromJSON(inputs.run-tests) }}
run-tests: ${{ inputs.run-tests }}
61 changes: 41 additions & 20 deletions .github/workflows/oracle8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,25 +6,32 @@ on:
push:
branches:
- develop
- dependabot/*

schedule:
- cron: '21 2 * * *'
workflow_call:
inputs:
run-tests:
required: true
type: boolean
type: string
target_branch:
required: true
type: string

env:
GITHUB_TOKEN: ${{ github.token }}
IS_RELEASE: ${{ github.event_name == 'workflow_dispatch' }}
IS_PUSH: ${{ github.event_name == 'push' }}
REF: ${{ inputs.target_branch =='' && github.ref_name || inputs.target_branch}}


jobs:

build:
name: Build
env:
ORTOOLSDIR: ${{ github.workspace }}/or-tools
ORTOOLS_DIR: ${{ github.workspace }}/or-tools

runs-on: ubuntu-latest
container: 'oraclelinux:8'
Expand All @@ -38,12 +45,24 @@ jobs:

- name: Install libraries
run: |
dnf install -y epel-release git cmake wget rpm-build redhat-lsb-core
dnf install -y unzip libuuid-devel boost-test boost-devel gcc-toolset-10-toolchain zlib-devel
dnf install -y epel-release git cmake wget rpm-build redhat-lsb-core
dnf install -y unzip libuuid-devel boost-test boost-devel gcc-toolset-11 zlib-devel

- name: Checkout
run: |
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b $GITHUB_REF_NAME .
git clone $GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git -b ${{ env.REF }} .

- name: Config OR-Tools URL
run: |
echo "ORTOOLS_URL=https://github.com/rte-france/or-tools-rte/releases/download/$(cat ortools_tag)/ortools_cxx_oraclelinux-8_static_sirius.zip" >> $GITHUB_ENV

- name: Download & extract OR-Tools
run: |
mkdir -p ${{env.ORTOOLS_DIR}}
cd ${{env.ORTOOLS_DIR}}
wget ${{env.ORTOOLS_URL}} -O ortools.zip
unzip ortools.zip
rm ortools.zip

- name: Init submodule
run: |
Expand All @@ -54,18 +73,26 @@ jobs:
run: |
pip3 install -r src/tests/examples/requirements.txt

- name: Install gh if needed
if: ${{ env.IS_RELEASE == 'true' }}
run: |
dnf -y install 'dnf-command(config-manager)'
dnf -y config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
dnf -y install gh

- name: Configure
run: |
source /opt/rh/gcc-toolset-10/enable
source /opt/rh/gcc-toolset-11/enable
cmake -B _build -S src \
-DCMAKE_BUILD_TYPE=Release \
-DBUILD_TESTING=ON \
-DBUILD_TOOLS=OFF \
-DBUILD_TESTING=OFF \
-DBUILD_TOOLS=ON \
-DBUILD_UI=OFF \
-DCMAKE_PREFIX_PATH=${{ env.ORTOOLS_DIR }}/install

- name: Build
run: |
source /opt/rh/gcc-toolset-10/enable
source /opt/rh/gcc-toolset-11/enable
cmake --build _build --config Release -j$(nproc)

- name: Run unit and end-to-end tests
Expand Down Expand Up @@ -95,27 +122,21 @@ jobs:
cpack -G TGZ

- name: Installer TGZ push
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: oracle-targz
path: _build/*.tar.gz

- name: Installer RPM push
uses: actions/upload-artifact@v3
uses: actions/upload-artifact@v4
with:
name: oracle-rpm
path: _build/*.rpm

- name: Install gh
if: ${{ env.IS_RELEASE == 'true' }}
run: |
dnf -y install 'dnf-command(config-manager)'
dnf -y config-manager --add-repo https://cli.github.com/packages/rpm/gh-cli.repo
dnf -y install gh

- name: Publish assets
if: ${{ env.IS_RELEASE == 'true' }}
env:
GITHUB_TOKEN: ${{ github.token }}
tag: ${{ github.event.inputs.release_tag }}
run: |
gh release upload "$tag" _build/*.tar.gz _build/*.rpm

gh release upload "$tag" _build/*.tar.gz _build/*.rpm
2 changes: 1 addition & 1 deletion .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:

- name: Config OR-Tools URL
run: |
echo "ORTOOLS_URL=https://github.com/rte-france/or-tools/releases/download/$(cat ortools_tag)/ortools_cxx_ubuntu-20.04_static_sirius.zip" >> $GITHUB_ENV
echo "ORTOOLS_URL=https://github.com/rte-france/or-tools-rte/releases/download/$(cat ortools_tag)/ortools_cxx_ubuntu-20.04_static_sirius.zip" >> $GITHUB_ENV

- name: Install sonar-scanner and build-wrapper
uses: SonarSource/sonarcloud-github-c-cpp@v2
Expand Down
Loading