Skip to content

Commit

Permalink
Merge pull request open-ideas#1348 from JavierArroyoBastida/issue1347…
Browse files Browse the repository at this point in the history
…_privateRunnerInstructions

Issue1347 Add instructions to set up the private runner.
  • Loading branch information
javiarrobas authored Jan 25, 2024
2 parents f1f94c0 + 349b487 commit 982e4bb
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 2 deletions.
32 changes: 30 additions & 2 deletions IDEAS/Resources/Scripts/tests/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The IDEAS testing framework relies on [BuildingsPy](https://simulationresearch.l
implement regression testing on example models of the library.
A Docker image with Dymola (`dymimg`) is defined to encapsulate all dependencies and consistently run the tests either
locally or in the server.
The testing framework automates the tests using GitHub Actions with a self-hosted runner of the Sysi's Team at KU Leuven called
The testing framework automates the tests using GitHub Actions with a self-hosted runner of the Sysi Team at KU Leuven called
tony-de-rekenpony.
The tests used to run in Travis, but a major refactoring was implemented in
[this PR](https://github.com/open-ideas/IDEAS/pull/1319) to benefit from the free-tier of GitHub Actions.
Expand Down Expand Up @@ -106,4 +106,32 @@ Once the `.mos` file is ready, you just need to run the tests for the package th
in the previous section (*Running tests locally*).
BuildingsPy will detect that there is not yet any reference result for the new model and will give you the option to
automatically generate one. The reference results are stored as `.txt` files within
`IDEAS/Resources/ReferenceResults/Dymola`.
`IDEAS/Resources/ReferenceResults/Dymola`.


## Setting up the private runner
A *runner* is the platform where the tests actually run. This repository uses a private runner, that is, a self-hosted server of the Sysi Team at KU Leuven called tony-de-rekenpony.
[Here](https://docs.github.com/en/actions/hosting-your-own-runners) you can find general information about self-hosted runners with GitHub Actions.
Normally, the runner is continuously active and listening for new test requests. However, here we specify the steps to restart the private runner in case the server needs to be rebooted and for the information of new people who need to take over maintenance of the testing suite.

- In GitHub, go to Settings - Actions - Runners. When the runner is active and properly configured, it looks as follows:
![Alt text](image.png)
- To remove the runner (e.g. because it's not working properly), click the three dots and select "Remove runner".
- To add a new runner (because it's not showing up or because you've just removed it), click on the "New self-hosted runner" green button. Make sure you select the Linux configuration with x64 architecture. You may not need to go through the steps at the "Download" section unless you want to reinstall the GitHub Actions runner client functionality. If you want to skip the "Download" section, go straight ahead to the "Configure" Section to configure and activate the runner.
![Alt text](image-1.png)
- More specifically, we typically use the following commands:
```
cd /home/actions-runner
nohup ./run.sh &
```
Where [`nohup`](https://www.digitalocean.com/community/tutorials/nohup-command-in-linux) allows you to run a command even if you close the terminal. The [`&` symbol](https://www.digitalocean.com/community/tutorials/nohup-command-in-linux#starting-a-process-in-the-background-using-nohup) tells the command to run in the background, the output will be redirected to a `nohup.out` file.
- If when running the tests you keep getting errors of the type:
![Alt text](image-2.png)
You may want to remove the contents from the `_work` directory to start from a clean workspace.
Not removing the `_work` directory could lead to permission errors when running the unit tests after reconfiguration
You can remove such directory as follows:
```
cd /home/actions-runner
rm -rf _work
```
This folder will be recreated by GitHub Actions upon checking out the repository code to run the tests.
Binary file added IDEAS/Resources/Scripts/tests/image-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added IDEAS/Resources/Scripts/tests/image-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added IDEAS/Resources/Scripts/tests/image.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 982e4bb

Please sign in to comment.