-
Notifications
You must be signed in to change notification settings - Fork 0
141 lines (140 loc) · 5.23 KB
/
windows_package.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
name: Package for Windows
on:
workflow_dispatch:
inputs:
git-ref:
description: Branch of gem/oq-builders repository
default: master
required: true
path:
description: Path to upload packages
default: /oq-engine/
required: true
oq-ref:
description: Branch of Openquake Engine
default: master
required: true
oq-rel:
description: Build Number of Openquake Engine
default: 1
required: false
# push:
# branches:
# -
schedule:
- cron: "20 11 * * *"
jobs:
Build_Installer:
runs-on: ubuntu-latest
env:
GEM_SET_BRANCH: ${{ github.event.inputs.oq-ref }}
GEM_SET_BRANCH_TOOLS: ${{ github.event.inputs.oq-ref }}
GEM_SET_RELEASE: ${{ github.event.inputs.oq-rel }}
GIT_BRANCH: ${{ github.ref }}
GIT_COMMIT_SHA: ${{ github.sha }}
steps:
- name: Clone Repository (Latest)
uses: actions/checkout@v3
if: github.event.inputs.git-ref == ''
- name: Clone Repository (Custom Ref)
uses: actions/checkout@v3
if: github.event.inputs.git-ref != ''
with:
ref: ${{ github.event.inputs.git-ref }}
- name: Docker build of the container and create installer
run: |
echo "Check variable for build packages"
echo "GEM_SET_BRANCH: ${GEM_SET_BRANCH}"
echo "GEM_SET_BRANCH_TOOLS: ${GEM_SET_BRANCH_TOOLS}"
echo "GEM_SET_RELEASE: ${GEM_SET_RELEASE}"
sleep 2
bash -x ci/windows_package.sh
#
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: Installer
path: /home/runner/work/oq-builders/oq-builders/out
retention-days: 5
Test_OQ:
needs: Build_Installer
runs-on: windows-latest
steps:
- name: Download Windows Installer from build job
uses: actions/download-artifact@v3
with:
name: Installer
- name: Execute the Installer
run: |
$Install = Get-ChildItem -Filter *.exe
Start-Process -FilePath $Install.Fullname -ArgumentList "/S" -Wait
cd "C:\Program Files\OpenQuake Engine\"
$env:PATH="C:\Program Files\OpenQuake Engine\python3\Scripts"
Write-Host ${env:PATH}
pwd
- name: Run oq
run: |
set mypath="C:\Program Files\OpenQuake Engine"
set PATH=%mypath%\python;%mypath%\python3\Scripts;%PATH%
cd "C:\Program Files\Openquake Engine"
dir
oq.exe --version
oq.exe engine --run "https://downloads.openquake.org/pkgs/test_event_based_risk_inputs_bc.zip"
oq.exe engine --list-risk-calculations
shell: cmd
- name: Run oq webui console and curl for the standalone tools
run: |
$env:PATH += ";C:\Program Files\OpenQuake Engine\python3\Scripts"
Write-Host ${env:PATH}
Start-Job -ScriptBlock{& 'C:\Program Files\OpenQuake Engine\python3\Scripts\oq.exe' webui start 127.0.0.1:8800 -s 1> webui.log 2>&1}
ping 127.0.0.1 -n 6 > null
Get-Job
netstat -o -n -a | findstr 8800
Write-Host "Test webui and tools Web pages"
ping 127.0.0.1 -n 6 > null
curl.exe -I -G http://127.0.0.1:8800/engine
ping 127.0.0.1 -n 6 > null
curl.exe -X HEAD -I http://127.0.0.1:8800/ipt/
ping 127.0.0.1 -n 6 > null
curl.exe -X HEAD -I http://127.0.0.1:8800/taxonomy/
ping 127.0.0.1 -n 6 > null
curl.exe -X HEAD -I http://127.0.0.1:8800/taxtweb/
ping 127.0.0.1 -n 6 > null
oq.exe engine --list-risk-calculations
curl.exe -v --fail -G http://127.0.0.1:8800/engine/1/outputs
- name: Upload Artifact WebUI log
uses: actions/upload-artifact@v3
with:
name: WebUI_log
path: webui.log
retention-days: 5
Upload_Installer:
needs: Test_OQ
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Download Windows Installer from build job
uses: actions/download-artifact@v3
with:
name: Installer
- name: rsync to downloads.openquake.org
shell: bash
env:
DOWNLOAD_SSH: ${{ secrets.DOWNLOAD_ARTIFACTS }}
folder: ${{ github.event.inputs.path }}
run: |
gpg --quiet --batch --yes --decrypt --passphrase="$DOWNLOAD_SSH" --output ./.deploy_rsa ./.oq_builders.enc
chmod 600 ./.deploy_rsa
eval $(ssh-agent -s) && ssh-add ./.deploy_rsa
# print value of folder
echo "Folder to upload packages: ${folder}"
if test -z "$folder"
then
echo "\$folder is empty"
folder=oq-engine/nightly/
echo $folder
else
echo "\$folder is NOT empty"
fi
#rsync -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 332' -ax OpenQuake_Engine* [email protected]:/mnt/box/openquake/downloads/pkgs/windows/oq-engine/nightly/
rsync -e 'ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 332' -ax OpenQuake_Engine* [email protected]:/mnt/box/openquake/downloads/pkgs/windows/${folder}