[go: up one dir, main page]

CIAO: before_merging/scheduled, pt 9: coverage

Stack

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.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by Arvid Jakobsson

Merge request reports

Loading