Skip to content

Commit de326b8

Browse files
adapt .github/workflows/PRTesting.yml according to feedback from #4767; publish main scripts in .CI\ReSim folder
1 parent 66e8dc4 commit de326b8

File tree

3 files changed

+62
-18
lines changed

3 files changed

+62
-18
lines changed

.CI/ReSim/git_pr_pull.sh

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/bin/bash
2+
cd /shared_data/repos/pr_testing/ModelicaStandardLibrary
3+
4+
# clean up repositiory from previous attempts/prs
5+
git stash
6+
git clean -fd
7+
pr_number=$1
8+
9+
# checkout the PR
10+
git pull https://github.com/modelica/ModelicaStandardLibrary/ pull/$pr_number/head:PR_$pr_number
11+
git checkout PR_$pr_number
12+
13+
# get the current hash and print it (for manual checks)
14+
new_hash=$(git rev-parse HEAD)
15+
echo $new_hash

.CI/ReSim/run_pr.sh

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
event_number=$1
2+
master_hash=$2
3+
pkg_name=$3
4+
5+
# Run Modelica in all tools
6+
tools=$4
7+
8+
for tool in tools
9+
do
10+
uppertool=$tool | tr 'a-z' 'A-Z'
11+
docker run --rm --name $tool\_pr_compare_$event_number\_$pkg_name --volume shared_data:/shared_data $tool\_image python /shared_data/run_scripts/$uppertool\_PR_compare.py $master_hash $event_number $pkg_name
12+
done
13+
14+
#docker run --rm --name dymola_pr_compare_$event_number\_$pkg_name --volume shared_data:/shared_data dymola_image python /shared_data/run_scripts/Dymola_PR_compare.py $master_hash $event_number $pkg_name
15+
#docker run --rm --name om_pr_compare_$event_number\_$pkg_name --volume shared_data:/shared_data om_image python /shared_data/run_scripts/OM_PR_compare.py $master_hash $event_number $pkg_name
16+
#docker run --rm --name wsm_pr_compare_$event_number\_$pkg_name --volume shared_data:/shared_data wsm_image python /shared_data/run_scripts/WSM_PR_compare.py $master_hash $event_number $pkg_name
17+
18+
# create an overview over all tools
19+
docker run --name create_overview_$event_number\_$pkg_name --volume shared_data:/shared_data om_image python /shared_data/run_scripts/overview_report.py $event_number $pkg_name
20+
21+
# clear published directory (web server)
22+
if [ -d "/var/www/html/prs/$event_number/$pkg_name" ]; then
23+
rm -rf "/var/www/html/prs/$event_number/$pkg_name"
24+
fi
25+
if [ ! -d "/var/www/html/prs/$event_number" ]; then
26+
mkdir /var/www/html/prs/$event_number
27+
fi
28+
mkdir /var/www/html/prs/$event_number/$pkg_name
29+
30+
# copy data to webserver directory
31+
docker cp create_overview_$event_number\_$pkg_name:/shared_data/resim_output/PRs/PR_$event_number/$pkg_name/report /var/www/html/prs/$event_number/$pkg_name
32+
docker rm create_overview_$event_number\_$pkg_name
33+
exit $(head -n 1 /var/www/html/prs/$event_number/$pkg_name/status.txt)

.github/workflows/PRTesting.yml

Lines changed: 14 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,31 @@
1-
name: PR_testing
1+
name: CI ReSim
22
on:
3-
# Triggers the workflow on push or pull request events but only for the "main" branch
43
pull_request:
5-
6-
# Allows you to run this workflow manually from the Actions tab
74
workflow_dispatch:
85

9-
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
106
jobs:
117
prepare:
12-
runs-on: self-hosted
8+
runs-on: [ self-hosted, Linux, regression_testing ]
139
steps:
14-
- name: checkout_pr_repo
15-
run: /home/resimuser/regression_testing/docker/work/run_scripts/prepare_pr.sh ${{ github.event.number }}
10+
- name: Checkout code
11+
run: ./.CI/prepare_pr.sh ${{ github.event.number }}
1612

1713
testrun_modelica:
1814
needs: prepare
19-
runs-on: self-hosted
15+
runs-on: [ self-hosted, Linux, regression_testing ]
2016
environment:
21-
name: test
22-
url: https://serv.ltx.de/prs/${{ github.event.number }}/Modelica/report/PR_comparison_report.html
17+
name: Report modelica
18+
url: ${{ vars.LTX_PR_SERVER }}/${{ github.event.number }}/Modelica/report/PR_comparison_report.html
2319
steps:
24-
- name: run modelica
25-
run: /home/resimuser/regression_testing/docker/work/run_scripts/run_pr.sh ${{ github.event.number }} ${{ github.event.pull_request.base.sha }} Modelica
20+
- name: Run tests modelica
21+
run: ./.CI/run_pr.sh ${{ github.event.number }} ${{ github.event.pull_request.base.sha }} Modelica {{ vars.LTX_TESTING_TOOLS }}
2622

2723
testrun_modelicatest:
2824
needs: prepare
29-
runs-on: self-hosted
25+
runs-on: [ self-hosted, Linux, regression_testing ]
3026
environment:
31-
name: test
32-
url: https://serv.ltx.de/prs/${{ github.event.number }}/ModelicaTest/report/PR_comparison_report.html
27+
name: Report modelicatest
28+
url: ${{ vars.LTX_PR_SERVER }}/${{ github.event.number }}/ModelicaTest/report/PR_comparison_report.html
3329
steps:
34-
- name: run modelicatest
35-
run: /home/resimuser/regression_testing/docker/work/run_scripts/run_pr.sh ${{ github.event.number }} ${{ github.event.pull_request.base.sha }} ModelicaTest
30+
- name: Run tests modelicatest
31+
run: ./.CI/run_pr.sh ${{ github.event.number }} ${{ github.event.pull_request.base.sha }} ModelicaTest {{ vars.LTX_TESTING_TOOLS }}

0 commit comments

Comments
 (0)