Skip to content

Commit 2b78b32

Browse files
authored
Merge pull request #3345 from meetagrawal09/model-run-workflow
[Integration Testing] PEcAn Docker Stack Run : Single Site, Single Model
2 parents 8f39a30 + 9571570 commit 2b78b32

File tree

2 files changed

+139
-0
lines changed

2 files changed

+139
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name : Docker Stack Model Test
2+
on :
3+
pull_request:
4+
5+
# allow manual triggering
6+
workflow_dispatch:
7+
8+
schedule:
9+
# run Thursday 4:30 AM UTC
10+
- cron: '30 4 * * 4'
11+
jobs:
12+
sipnet:
13+
runs-on: ubuntu-latest
14+
15+
env:
16+
GITHUB_PAT: ${{ secrets.GITHUB_TOKEN }}
17+
18+
steps:
19+
- name: Free Disk Space (Ubuntu)
20+
uses: jlumbroso/free-disk-space@main
21+
with:
22+
tool-cache: false
23+
android: true
24+
dotnet: true
25+
haskell: true
26+
large-packages: true
27+
docker-images: false
28+
swap-storage: true
29+
30+
- name: Checkout source code
31+
uses: actions/checkout@v4
32+
33+
- name: Set up Docker Compose
34+
run: |
35+
sudo apt-get update
36+
sudo apt-get -y install docker-compose
37+
38+
- name: Add Volumes to Executor
39+
run: |
40+
cp docker-compose.dev.yml docker-compose.override.yml
41+
sed -i'' '/R_library/d' docker-compose.override.yml
42+
43+
- name: Build Containers
44+
run: |
45+
cp docker/env.example .env
46+
echo "COMPOSE_PROJECT_NAME=pecan" >> .env
47+
echo "PECAN_VERSION=develop" >> .env
48+
echo "UID=$(id -u)" >> .env
49+
echo "GID=$(id -g)" >> .env
50+
51+
docker compose up --wait -d postgres
52+
docker run --rm --network pecan_pecan pecan/db:ci
53+
docker run --rm --network pecan_pecan --volume pecan_pecan:/data --env FQDN=docker pecan/data:develop
54+
docker image rm pecan/db:ci pecan/data:develop
55+
56+
- name: Run required containers
57+
run: |
58+
docker compose up --wait -d sipnet executor monitor rabbitmq
59+
60+
- name: List running containers
61+
run: |
62+
sleep 50
63+
docker ps
64+
65+
# - name: Add models
66+
# run: |
67+
# docker compose cp scripts/add.util.sh postgres:/tmp/add.util.sh
68+
# docker compose cp scripts/add.models.sh postgres:/tmp/add.models.sh
69+
# docker compose exec postgres /tmp/add.models.sh
70+
71+
- name: Run SIPNET
72+
run: |
73+
docker compose exec --workdir /pecan/tests executor R CMD ../web/workflow.R --settings docker-ghaction.sipnet.xml

tests/docker-ghaction.sipnet.xml

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
<?xml version="1.0"?><pecan>
2+
<outdir>/tmp/docker_stack_tests/sipnet</outdir>
3+
<database>
4+
<bety>
5+
<user>bety</user>
6+
<password>bety</password>
7+
<host>postgres</host>
8+
<port>5432</port>
9+
<dbname>bety</dbname>
10+
<driver>PostgreSQL</driver>
11+
<write>true</write>
12+
</bety>
13+
<dbfiles>/data/dbfiles</dbfiles>
14+
</database>
15+
<pfts>
16+
<pft>
17+
<name>semiarid.grassland</name>
18+
</pft>
19+
</pfts>
20+
<meta.analysis>
21+
<iter>3000</iter>
22+
<random.effects>
23+
<on>FALSE</on>
24+
<use_ghs>TRUE</use_ghs>
25+
</random.effects>
26+
</meta.analysis>
27+
<ensemble>
28+
<size>1</size>
29+
<variable>NPP</variable>
30+
<samplingspace>
31+
<parameters>
32+
<method>uniform</method>
33+
</parameters>
34+
<met>
35+
<method>sampling</method>
36+
</met>
37+
</samplingspace>
38+
</ensemble>
39+
<model>
40+
<name>SIPNET</name>
41+
<revision>git</revision>
42+
</model>
43+
<run>
44+
<site>
45+
<id>2000001297</id>
46+
<met.start>2004/01/01</met.start>
47+
<met.end>2004/12/31</met.end>
48+
</site>
49+
<inputs>
50+
<met>
51+
<source>CRUNCEP</source>
52+
<output>SIPNET</output>
53+
<product/>
54+
</met>
55+
</inputs>
56+
<start.date>2004/01/01</start.date>
57+
<end.date>2004/12/31</end.date>
58+
</run>
59+
<host>
60+
<name>localhost</name>
61+
<rabbitmq>
62+
<uri>amqp://guest:guest@rabbitmq/%2F</uri>
63+
<queue>SIPNET_git</queue>
64+
</rabbitmq>
65+
</host>
66+
</pecan>

0 commit comments

Comments
 (0)