###### tags: `LéCøre`
# `proto-proposal` rebase fix-ups report
- Each MR merged into proto-proposal branch is being checked to pass the full CI using these scripts: https://gitlab.com/metastatedev/tezos/-/commit/97f5a9b2613dd1663fdcd12c8ff7163017e9e6c5
- main challenges
- find tips (last commit) of MRs
- for this we rely on finding the commits in history by commit message
- the tip commits not found in history are reported by the script as `MISSING`, manual work-around is required
- the work-around is to check the MR and find why the tip commit is missing, for changed tips and commit messages, commit title fix-up is applied in the script
- the commit messages have to be unique, this condition is also checked by the script and reported as `AMBIGUOUS`, manual work-around is required
- the work-around is to update the commit message and also apply commit title fix-up in the script
- reliably simulate full CI run
- simulate_ci.sh script
- some tests that were found to spuriously fail are re-tried
## commit message fix-ups
- rename !99 tip from ambiguous "Tests/Python"
- new name "Tests/Python: add test for contract caching"
- rename !173 commits from ambiguous
- "Tests/Python" to "Tests/Python: Add sha3 and keccak tests"
- "Doc" to "Doc : Add sha3 and keccak docs"
## other fix-ups
- squash !215 to !122 - the former fix-ups the opam-repository change of latter
## (WIP) CI simulation results from tips (last commit) of merged MRs
Format of the following is: `return code, MR ID, commit position, commit hash, commit message`
- 0 38 287 baf52f7f6 Proto/Michelson: abstract logging facility
- 0 42 285 f38afd14c Tests/Python: update regression logs for
list\_size
- 0 53 277 6bc156fe9 Tests/Python: regenerate reg. traces
- 0 47 276 13d6db10a Proto: Uniform variable names for context +
comments clean-up
- 0 56 274 9d4d4ed83 Proto: expose parse\_storage
- 0 59 273 0501a29d4 Proto/Michelson: remove some Lwt wrappers
- 0 60 270 90760743c Tests/Python: fix error message in chain\_id
arity test
- 0 63 269 f7432a4c1 Test/Python: move and fix Map\_map side-effect
test
- 2 58 255 aae66f37e Tests/Python: regenerate regression traces
without internal\_gas
- error: regression test output differences for
tests/test\_contract\_legacy.py::TestContractLegacy::test\_contract\_input\_output\[steps\_to\_quota.tz-0-100-133008040\]:
- regenerated regressions
- error:
tests/test\_voting\_full.py::TestVotingFull::test\_testchain\_transfer:
Gas limit exceeded during typechecking or execution
- added migration commit before !58\'s tip:
\"Protocol/Migration: scale gas limit constants in the
context by 128\"
- <https://gitlab.com/metastatedev/tezos/-/commit/d66d43f29af1de2195d6e57c9abc3acf5690748d>
- error: runtest\_sandbox\_voting\_demo\_noops: \"Gas limit
exceeded during typechecking or execution\"
- when the MR was merged, flextesa had way higher limits:
<https://gitlab.com/metastatedev/tezos/-/blob/96f7992a1f45bfba2f3c5cec6a0b20266769efbb/vendors/flextesa-lib/tezos_protocol.ml#L141>
- now the flextesa constant match the sandbox\'s defaults
- to fix scale-up in `vendors/flextesa-lib/tezos_protocol.ml`
- to do this, move
<https://gitlab.com/metastatedev/tezos/-/commit/d72439aa6966a0795918022d9cfcbe144b8c578b>
before all proto-proposal MRs
- also rename `` `DNext `` to `` `Alpha ``
- MR to upstream to master:
<https://gitlab.com/tezos/tezos/-/merge_requests/1942>
- then use `` `DNext `` to update the constants
- fixed in
<https://gitlab.com/metastatedev/tezos/-/commit/56434916b52af981973171c0bb276ab43821834a>
- drop
<https://gitlab.com/metastatedev/tezos/-/commit/f5ba029b638fb4450b1f8029956a8163a3a609a1>
- 0 66 253 a9cd7abbe Protocol: Safer Int64.to\_int
- 0 68 252 96d9b684f Tests/Python: fix gas bound in test\_contract.py
- 2 35 251 655e71113 Proto/RPC: return all delegates if no flags were
used
- error: tests/test\_bootstrap.py
- okay on re-run
- 0 64 243 51eb90f40 Doc: generalize comparable pairs
- 0 67 239 2cf9800c9 Proto/Michelson: Simplify parse\_uint30
- 0 34 234 c4fabe73d Test/Python: update regression tests gas costs
- 0 65 231 f13d0e0d4 Express (comparable\_)ty\_eq in terms of
merge~(comparable\_)~ty
- 0 78 226 6d5f72e5e Remove useless recursion
- 0 76 224 5772d08fe Tests: update error message for big\_drop.tz
- 0 77 222 fc9c909b4 Tests: update error message for big\_dip.tz
- 0 72 217 70243f8f7 Doc: move UNIT to section on type unit
- 2 71 210 c2aa1c1ea Doc: document LEVEL
- error: missing case for new instruction in "src/proto_alpha/lib_client/michelson_v1_printer.ml
- to avoid this error without having to add the case, move MR !185 (4 commits from https://gitlab.com/metastatedev/tezos/-/merge_requests/185) before this MR (7 commits)
- this has removed multiple rebase fix-up commits, that were adding a case for new primitives to michelson printer
- 1 69 207 05e67ac73 Protocol: alpha use environment V1
- pass on re-run
- 0 81 206 c78e2310d Tests/Python: add a test for the LEVEL
instruction
- 2 75 201 7dd0cfe72 Doc/Michelson: document SELF\_ADDRESS
- error: regression tests failing
- reset regressions on the commit "Tests/Python: test the new SELF_ADDRESS instruction"
- 0 55 200 20540327e Proto/Michelson: simplify the interpreter
- 0 52 189 3011209ec Tests/Python: test failed attempt to push a
literal of type never
- 2 43 185 4774b826e Stdlib, ProtoEnv/V1: no more MBytes
- error: test_protocol_compile
```
File "./blinded_public_key_hash.ml", line 55, characters 2-14:
Error: Unbound module Hex
```
- to fix, move MR !107 (1 commit) that adds Hex to V1 before !43 (3 commits)
- 0 107 184 a44feca25 Environment: Add hex to V1
- moved before MR !43
- 0 93 181 32622e88f Environment: remove unused module lwt\_sequence
- 0 91 179 018d5745c Michelson: fix
number\_of\_generated\_growing\_types
- 0 92 175 3943e802f Michelson: simplify GADT matchings in
script\_ir\_translator 4/4
- 2 95 172 2fa1722f9 Tests/Python: update regtest outputs
- error: 3 python tests in test_contract.py failing with `Gas limit exceeded during typechecking or execution`
- In the original MR there were two commits with name "Tests/Python: update regtest outputs", one of which was the tip. During rebases the tip commit has been removed (probably because the regression fix-up was applied on the other commit), so the CI simulation was running on a wrong commit
- To fix, moved the regression reset commit to the tip of the commits
- 0 97 162 6ba15a1f4 Proto/Michelson: simplify Big\_map.fresh
- 0 103 161 70d967f91 Proto/Michelson: expose parse\_ty for
convenience to external tools
- 0 98 158 6eba6630e Proto: simplify Bytes.of\_string (String.make \_)
- 0 94 152 0d3f4eb93 Env: int32 of\_string -\> of\_string\_opt
- 0 110 151 d38f42bca Use plain algebraic types for the Michelson
annotations
- 0 114 146 b88a5a1f8 Tests/Python: Update regression output (UNPAPAIR
annots deprecated)
- 0 54 138 4d63ae205 Tests/Python/Regression: update regression logs
for UNPAIR
- 2 117 134 7e115da66 Tests/Python: typechecking test in legacy mode
- error: python typecheck
- fixed-up `assert_run_failure` syntax change
- 0 133 132 bb71870c7 Proto/Michelson: cleanup error handling for
comparables
- 1 140 131 84d3bb691 Proto/Michelson: expose unparse\_code in
Script\_ir\_translator
- error: flaky flextesa
- okay on re-run
- 0 134 129 6e40e623c Proto/Michelson: Use the right cost function for
SET\_DELEGATE instr
- 0 147 128 b07e3b6d3 Proto\_alpha: spell check
- 2 118 121 8aa23223a Tests/Python: update annotations tests (numerals now allowed)
- error: python typecheck
```
tools/utils.py:421: error: Argument 1 to "assert_run_failure" has incompatible type "Pattern[Any]"; expected "str"
tests/test_contract_annotations.py:53: error: Argument 3 to "assert_typecheck_failure" has incompatible type "str"; expected "Pattern[Any]"
tests/test_contract_annotations.py:66: error: Argument 3 to "assert_typecheck_failure" has incompatible type "str"; expected "Pattern[Any]"
```
- fix-up in commit that added this "Tests/Python: test of the second char of field annotations"
- 0 162 119 e3c582aff Proto: use Z.pp rather than Z.to\_string
- 0 135 115 d60a85859 Docs/Michelson: Update comparable types and
COMPARABLE instruction
- 0 153 112 5fbf05dc9 Proto/coq-of-ocaml: Name the signatures of the
environment
- 2 125 108 2b973914e Tests/Python: update tests for deprecated
instructions
- errors: 11 failing tests in test_contract_legacy.py
- rebase fix-up commit "Tests_python: remove contract_legacy" is right after the tip
- to fix, moved the fix-up commit before the tip
- error: runtest_proto_alpha `interpretation 1 test unaccounted steps to quota`
- to fix, move the fix-up commit "Proto/Tests: remove STEPS_TO_QUOTA test" before the tip
- 0 210 98 b9169a06a Protocol/Migration: scale gas limit constants in
the context by 1000
- 2 157 96 82547ce9b Proto/Client: make integer constant easier to
read
- added migration to pass `test_voting_full.py` (taken from https://gitlab.com/metastatedev/tezos/-/merge_requests/157)
- <https://gitlab.com/metastatedev/tezos/-/commit/b9169a06a4f9b21a6eed45e2d3e5d5c9799d9416>
- flextesa constants update before the last commit to pass flextesa tests
- <https://gitlab.com/metastatedev/tezos/-/commit/dce5ef3f2a435cf159d02f78e4d3e59dab2b6426>
- 2 49 94 6936e56c8 Tests/Python: Add a test case for transfer to
nonexistent contract
- error: check_python_types, `assert_run_failure` syntax change
- fix-up in tip commit that added these
- 0 170 92 2b8899949 Storage: rename Int\_index -\> Int31\_index
- 0 121 89 885c7527c Test/Python: Test RPCs for counter and for global
counter
- 0 79 81 30d95c7d7 Test/OCaml: Change encoding of fractions to uint16
- 2 120 78 ceaa2be5b Protocol/test: verify that error message is
correct
- error: `Makefile:157: recipe for target 'build-deps' failed`
- okay on re-run
- 0 82 71 3c16e50b6 Docs: Add VOTING\_POWER opcode, returns a
delegate\'s voting weight
- 0 137 69 ad977a2c6 Proto: Adding Keccak256 and SHA-3 to
lib\_protocol\_environment
- 0 179 68 998645192 Proto/coq-of-ocaml: Remove a polymorphic variant
in apply.ml to name the type
- 2 99 66 8ee16df47 Tests/Python: add test for contract caching
- error: python typecheck `tests/test_contract_caching.py:24: error: Item "None" of "Optional[Match[Any]]" has no attribute "groups"`
- fix-up in tip commit
- 0 146 59 92d6daa68 Tests/Python: originating with big map diff do
work
- 0 41 54 cf0454904 Doc: Update voting section with the new 5th period
- 0 185 50 7503a972c Client: Refactor Michelson OCaml printer using
namespace function
- moved before MR !107
- 0 181 74 4991939d6 Docs: Michelson's empty type
- 0 186 71 e51c9b244 Test/Python: Check fractions positive and add up to votes_per_roll
- 0 174 71 e51c9b244 Test/Python: Check fractions positive and add up to votes_per_roll
- 0 173 70 5adfd915f CI: Remove `test_voting_power_opcode.py` from integration tests
- 0 178 64 ff3aba174 Docs: New opcode, and update glossary and voting
- 0 192 62 4d0a7bd41 Tests/Python: fix and extend the test of the `CHAIN_ID` instruction
- 0 48 57 484290d68 Proto/test: Prevent double injection evidence
- 2 46 50 b5f821a76 Migration/Tests: Check bootstrap1 migration invoice
- errors: python typechecks
- fix-up in commit "Tests/Python: Add migration integration test"
- *At this point, the rest of MRs have been merged after the last rebase, so they should still all be passing*
### flaky tests
1. p2p
- 2 53 277 6bc156fe9 Tests/Python: regenerate reg. traces
- 2 59 273 0501a29d4 Proto/Michelson: remove some Lwt wrappers
- 2 60 270 90760743c Tests/Python: fix error message in chain\_id
arity test
tests/test_p2p.py:54: in test_check_stat
assert num_connected == NUM_NODES - 1
E assert 3 == 4
E -3
E +4
2. flextesa bootstrap timeout
- test: runtest\_sandbox\_accusations\_simple\_double\_endorsing
3. tests/test_bootstrap.py
```
tests/test_bootstrap.py:71: in test_node_3_bootstrapped
sandbox.client(3).bootstrapped()
client/client.py:573: in bootstrapped
return self.run(['bootstrapped'])
client/client.py:157: in run
(stdout, _, _) = self.run_generic(params, admin, check, trace)
client/client.py:134: in run_generic
completed_process = subprocess.run(cmd,
../../.pyenv/versions/3.8.3/lib/python3.8/subprocess.py:491: in run
stdout, stderr = process.communicate(input, timeout=timeout)
../../.pyenv/versions/3.8.3/lib/python3.8/subprocess.py:1024: in communicate
stdout, stderr = self._communicate(input, endtime, timeout)
../../.pyenv/versions/3.8.3/lib/python3.8/subprocess.py:1866: in _communicate
ready = selector.select(timeout)
../../.pyenv/versions/3.8.3/lib/python3.8/selectors.py:415: in select
fd_event_list = self._selector.poll(timeout)
E Failed: Timeout >5.0s
```