-
-
Notifications
You must be signed in to change notification settings - Fork 27
/
.travis.yml
72 lines (70 loc) · 4.72 KB
/
.travis.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
language: python
python:
- '3.8'
- '3.9'
- '3.10'
- '3.11'
dist: bionic
os: linux
arch:
- arm64
jobs:
fast_finish: true
before_install:
- sudo apt remove -y python3-virtualenv
- pip install -U poetry virtualenv
install:
- poetry install
script:
- black --check .
- coverage run --source=opshin -m pytest opshin/tests
# the samples from the README file
- >
coverage run -a --source=opshin -m opshin eval spending examples/smart_contracts/assert_sum.py "{\"int\": 4}" "{\"int\": 38}" d8799fd8799f9fd8799fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffd8799fd8799fd87a9f581cdbe769758f26efb21f008dc097bb194cffc622acc37fcefc5372eee3ffd87a80ffa140a1401a00989680d87a9f5820dfab81872ce2bbe6ee5af9bbfee4047f91c1f57db5e30da727d5fef1e7f02f4dffd87a80ffffff809fd8799fd8799fd8799f581cdc315c289fee4484eda07038393f21dc4e572aff292d7926018725c2ffd87a80ffa140a14000d87980d87a80ffffa140a14000a140a1400080a0d8799fd8799fd87980d87a80ffd8799fd87b80d87a80ffff80a1d87a9fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffffd87980a15820dfab81872ce2bbe6ee5af9bbfee4047f91c1f57db5e30da727d5fef1e7f02f4dd8799f581cdc315c289fee4484eda07038393f21dc4e572aff292d7926018725c2ffd8799f5820746957f0eb57f2b11119684e611a98f373afea93473fefbb7632d579af2f6259ffffd87a9fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffffff
- >
coverage run -a --source=opshin -m opshin compile spending examples/smart_contracts/assert_sum.py > assert_sum.uplc
- >
coverage run -a --source=opshin -m opshin eval_uplc spending examples/smart_contracts/assert_sum.py "{\"int\": 4}" "{\"int\": 38}" d8799fd8799f9fd8799fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffd8799fd8799fd87a9f581cdbe769758f26efb21f008dc097bb194cffc622acc37fcefc5372eee3ffd87a80ffa140a1401a00989680d87a9f5820dfab81872ce2bbe6ee5af9bbfee4047f91c1f57db5e30da727d5fef1e7f02f4dffd87a80ffffff809fd8799fd8799fd8799f581cdc315c289fee4484eda07038393f21dc4e572aff292d7926018725c2ffd87a80ffa140a14000d87980d87a80ffffa140a14000a140a1400080a0d8799fd8799fd87980d87a80ffd8799fd87b80d87a80ffff80a1d87a9fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffffd87980a15820dfab81872ce2bbe6ee5af9bbfee4047f91c1f57db5e30da727d5fef1e7f02f4dd8799f581cdc315c289fee4484eda07038393f21dc4e572aff292d7926018725c2ffd8799f5820746957f0eb57f2b11119684e611a98f373afea93473fefbb7632d579af2f6259ffffd87a9fd8799fd8799f582055d353acacaab6460b37ed0f0e3a1a0aabf056df4a7fa1e265d21149ccacc527ff01ffffff
- >
coverage run -a --source=opshin -m opshin compile_pluto spending examples/smart_contracts/assert_sum.py
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/assert_sum.py
# all smart contracts
- >
for i in $(find examples -type f -name "*.py" -not \( -name "broken*" -o -name "extract*" \)); do
echo "$i"
coverage run -a --source=opshin -m opshin compile any "$i" > /dev/null || exit
done
# smart contracts with special parameters
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/parameterized.py '{"int": 42}'
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/dual_use.py -fforce-three-params
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/dual_use.py -fforce-three-params -O0
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/dual_use.py -fforce-three-params -O1
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/dual_use.py -fforce-three-params -O2
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/dual_use.py -fforce-three-params -O3
- >
coverage run -a --source=opshin -m opshin build spending examples/smart_contracts/wrapped_token.py '{"bytes": "ae810731b5d21c0d182d89c60a1eff7095dffd1c0dce8707a8611099"}' '{"bytes": "4d494c4b"}' '{"int": 1000000}' -fforce-three-params
- >
test ! -n "$(coverage run -a --source=opshin -m opshin lint any examples/smart_contracts/always_true.py)"
- >
test -n "$(coverage run -a --source=opshin -m opshin lint any examples/smart_contracts/wrapped_token.py)"
- >
test -n "$(coverage run -a --source=opshin -m opshin lint any examples/broken.py)"
- >
test -n "$(coverage run -a --source=opshin -m opshin lint any examples/broken.py --output-format-json)"
- coverage run -a --source=opshin -m opshin compile lib opshin/prelude.py -fno-remove-dead-code
# build the libraries
- >
for i in $(find opshin/std opshin/ledger -type f -name "*.py" ! -name "*integrity.py"); do
echo "$i"
coverage run -a --source=opshin -m opshin compile lib "$i" -fno-remove-dead-code > /dev/null || exit
done
after_success:
- coverage report
- coveralls