CIAO: before_merging/scheduled, pt 9: coverage
Stack
- !12695 (merged): test (scripts)
- !12696 (merged): test (tezt)
- !12697 (merged): test (kernels)
- !12698 (merged): docs
- !12699 (merged): coverage <-- you are here
- !12700 (merged): packaging (debian repository)
- !12701 (merged): concluding cleanup
What
Part of the CIAO translation of the test stage for the before_merging/scheduled pipelines.
Translates the job unified_coverage.
Why
How
Nothing really surprising with the job itself. We did however discover
recently that there is no need to spell out each instance of a
parallel job (e.g. tezt 1/60, tezt 2/60...) to receive the
artifacts. Just giving the base of the name suffices (e.g. tezt).
We exploit this in the translation.
To make this work we also have to modify the script scripts/download_coverage/download.ml.
Previously, it would read the file .gitlab/ci/jobs/coverage/unified_coverage-before_merging.yml
to find out which jobs had coverage artifacts. Now, it simply tries each job in the stage test.
While I was at it, I clapified the script.
Manually testing the MR
This MR is best reviewed commit-per-commit for the OCaml part. Commits should have a message explaining any non-obvious changes.
For the generated YML, do review the result of these commands (see previous MRs like !11501 (merged) for setup instructions for gci-tezos):
$ gci-tezos diff-full-config master . master_branch,test_release_tag,release_tag,non_release_tag,non_release_tag_test,beta_release_tag
$ gci-tezos diff-full-config master . schedule_extended_tests
$ gci-tezos diff-full-config master . before_merging
Note, depending on the state on local checkout, you might get results of the above commands by replacing
master with git merge-base origin/master HEAD, where origin might change depending on the name of your tezos git remote.
this also requires that you've run a fetch on origin such that it does not lag behind the branch in this MR.
The first command shows no diff, meaning that those environments are unaffected.
The second two commands will show a diff. There might be some changes that might not be obvious -- it is perhaps easiest to review the diff commit per commit:
$ gci-tezos log-full-config master..HEAD all-envs
This allows you to read, commit-per-commit, the message of the commit and the fully merged diff per environment.
Coverage downloader
Check that
dune exec scripts/ci/download_coverage/download.exe -- --from last-merged-pipeline --verbose
populates _coverage_output.
PS: this currently fails for me with a HTTPS error for from the job tezt:static-binaries. I'm hoping this is a transient gitlab error which will be resolved by the time you read this.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR