-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (114 loc) · 3.27 KB
/
test_prebuild_hybrid.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
name: Test hybrid public
on:
schedule:
- cron: '0 0 * * *'
workflow_dispatch:
inputs:
empty:
description: 'Empty option'
required: true
default: 'Not used'
jobs:
test:
strategy:
fail-fast: false
matrix:
include:
- id: 0
- id: 1
- id: 2
timeout-minutes: 20
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Poetry
run: curl -sSL https://install.python-poetry.org | python3 - --version 1.8.2
- name: Download and install binaries
run: |
/bin/bash download_binaries.sh
- name: Install binaries
run: |
sudo mkdir -p /usr/lib/yagna
sudo mv golem/downloaded/plugins /usr/lib/yagna/plugins
sudo mv golem/downloaded/* /usr/bin/
- name: Test binaries
run: |
yagna --version
ya-provider --version
ya-provider exe-unit list --json
env:
YA_CONSENT_INTERNAL: "allow"
YA_CONSENT_EXTERNAL: "allow"
- name: Prepare runtime
run: |
python advanced/prepare_runtime.py --mode hybrid
- name: Run requestor
run: |
cd golem/requestor
cat .env
yagna service run&
sleep 4
env > yagnadir/env.log
- name: Run provider
run: |
sudo chown $USER /dev/kvm
cd golem/provider_0
cat .env
golemsp setup --no-interactive
yagna service run&
sleep 6
ya-provider run&
sleep 4
env > yagnadir/env.log
env > providerdir/env.log
env:
YA_CONSENT_INTERNAL: "allow"
YA_CONSENT_EXTERNAL: "allow"
- name: Test yagna provider payment response
run: |
cd golem/provider_0
yagna version show
yagna payment status
- name: Test yagna requestor payment response
run: |
yagna version show
yagna payment status
- name: Requestor app-key list
run: |
cd golem/requestor
yagna app-key list
- name: Run jsexecutor example
run: |
cd examples/jsexecutor
npm install
npm run run
- name: Prepare yapapi test
run: |
git clone https://github.com/golemfactory/yapapi.git
cd yapapi
poetry install
poetry run python examples/blender/blender.py --payment-network holesky
env:
YAGNA_APPKEY: 66iiOdkvV29
- name: Stop requestor
if: always()
run: |
cd golem/requestor
yagna service shutdown
- name: Stop provider
if: always()
run: |
cd golem/provider_0
yagna service shutdown
- name: Prepare logs
if: always()
run: |
# remove image cache from upload
rm -r golem/provider_0/providerdir/exe-unit/cache
tar --zstd -cf data_${{ matrix.id }}.tar.zst golem/requestor/yagnadir golem/provider_0/providerdir golem/provider_0/yagnadir
- name: Upload logs
if: always()
uses: actions/upload-artifact@v4
with:
name: data_${{ matrix.id }}.tar.zst
path: data_${{ matrix.id }}.tar.zst