Issue971

Title Find a way to run CPLEX during Github actions
Priority feature Status chatting
Superseder Nosy List florian, jendrik, malte, patfer, silvan
Assigned To Keywords infrastructure
Optional summary
blocker for issue940

TODO:
* ~~Look at the CPLEX licenses~~
* ~~Wait for response from IBM~~
* ~~See if self-hosted runners are an option~~
* Find out how to compile the planner with CPLEX on Windows on the command line in GitHub Actions

Created on 2020-07-01.11:50:15 by florian, last changed by jendrik.

Summary
blocker for issue940

TODO:
* Look at the CPLEX licenses
* Wait for response from IBM
* See if self-hosted runners are an option
* Find out how to compile the planner with CPLEX on Windows on the command line in GitHub Actions
Files
File name Uploaded Type Edit Remove
Dockerfile patfer, 2020-07-02.18:27:30 application/octet-stream
Dockerfile patfer, 2020-07-02.18:58:01 application/octet-stream
international-program-license-agreement.txt silvan, 2020-07-03.17:34:09 text/plain
license-information.txt silvan, 2020-07-03.17:34:20 text/plain
Messages
msg9586 (view) Author: jendrik Date: 2020-07-10.19:16:26
Add TODO: Find out how to compile the planner with CPLEX on Windows on the command line in GitHub Actions.
msg9564 (view) Author: malte Date: 2020-07-09.14:54:11
Indeed, that was a requirement by IBM, and of course it also makes sense.
msg9549 (view) Author: silvan Date: 2020-07-09.11:36:29
Malte said that when running CPLEX in Github actions, we should make sure that everyone with admin access on the Github repo is registered in the IBM academic initiative.
msg9481 (view) Author: jendrik Date: 2020-07-06.13:59:56
I think this answer resolves all TODOs.
msg9480 (view) Author: jendrik Date: 2020-07-06.13:58:23
We got an answer from IBM:

"The Academic Initiative license doesn't restrict on which or how many machines you can run CPLEX.  So I don't see an issue with running it in GitHub. Of course, you should protect the software from unauthorized access, as all users running it must be registered in the Academic Initiative program."
msg9457 (view) Author: silvan Date: 2020-07-03.17:34:09
Regarding the other alternative of running CPLEX in non-self-hosted github actions, I  managed to obtain the license (however, for version 12.10; we only tested up to version 12.9). After having a first look at the license, it seems to me that only ยง3 is related to what we are granted to do with the program, and it remains quite unspecific. Most of the other parts are related to judicial things as far as I understand. I'll have a closer look on Monday.
msg9419 (view) Author: patfer Date: 2020-07-02.18:58:01
(Dockerfile uses now the github api)
msg9417 (view) Author: patfer Date: 2020-07-02.18:27:10
Update about self-hosted runners:
Yes they would work!
- github workflow allows to assign jobs to specific (e.g. one for SOPLEX, 
CPLEX) self hosted runners
- job should not run on pull request due to security issues (arbitrary code of 
peoples PR should not be executed on our machines)
- I have a docker prototype that sets up a self hosted runner and registers it 
with the repository.

- Todo: To register a self-hosted runner, each runner gets its own access 
token. The prototype requires the user to enter those tokens manually. I am 
now able to use the github api and will tomorrow automate this.
- Todo (after the previous todo): let a docker magician improve the Dockerfile
History
Date User Action Args
2020-07-10 19:16:26jendriksetmessages: + msg9586
summary: blocker for issue940 TODO: * ~~Look at the CPLEX licenses~~ * ~~Wait for response from IBM~~ * ~~See if self-hosted runners are an option~~ -> blocker for issue940 TODO: * ~~Look at the CPLEX licenses~~ * ~~Wait for response from IBM~~ * ~~See if self-hosted runners are an option~~ * Find out how to compile the planner with CPLEX on Windows on the command line in GitHub Actions
2020-07-09 14:54:11maltesetmessages: + msg9564
2020-07-09 11:36:29silvansetmessages: + msg9549
2020-07-06 13:59:56jendriksetmessages: + msg9481
summary: blocker for issue940 TODO: * Look at the CPLEX licenses * Wait for response from IBM * See if self-hosted runners are an option -> blocker for issue940 TODO: * ~~Look at the CPLEX licenses~~ * ~~Wait for response from IBM~~ * ~~See if self-hosted runners are an option~~
2020-07-06 13:58:23jendriksetmessages: + msg9480
2020-07-03 17:34:20silvansetfiles: + license-information.txt
2020-07-03 17:34:10silvansetfiles: + international-program-license-agreement.txt
messages: + msg9457
2020-07-02 18:58:01patfersetfiles: + Dockerfile
messages: + msg9419
2020-07-02 18:27:30patfersetfiles: + Dockerfile
2020-07-02 18:27:10patfersetstatus: unread -> chatting
nosy: + patfer
messages: + msg9417
2020-07-02 17:21:50floriansetpriority: meta -> feature
keyword: + infrastructure
summary: TODO: * Look at the CPLEX licenses * Wait for response from IBM * See if self-hosted runners are an option -> blocker for issue940 TODO: * Look at the CPLEX licenses * Wait for response from IBM * See if self-hosted runners are an option
2020-07-01 13:05:20silvansetnosy: + silvan
2020-07-01 11:50:15floriancreate