Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: split biggest unit test suites in Makefile + CI #205

Merged
merged 1 commit into from
May 19, 2022

Conversation

moul
Copy link
Member

@moul moul commented May 19, 2022

the pros:

  • it makes things faster to run on CI, and potentially faster locally when using
    make -j.
  • make logs more readable on failing CI jobs (GitHub is not very easy to use for
    very long CI logs).
  • allow retrying a specific job on CI instead of running everything.
  • give a feeling on the impact of a recent change based on if everything is red VS
    only one suite is red.

the bad:

  • the Makefile starts being complex, I think we'll need a rewrite in a near future.

    $ go test -v ./pkgs/... | grep -E '^ok'| awk '{print $3 " " $2}' | sort -nr | head
    466.970s github.com/gnolang/gno/pkgs/amino
    129.709s github.com/gnolang/gno/pkgs/bft/consensus
    42.514s github.com/gnolang/gno/pkgs/bft/wal
    23.129s github.com/gnolang/gno/pkgs/iavl
    11.344s github.com/gnolang/gno/pkgs/crypto/keys
    9.834s github.com/gnolang/gno/pkgs/bft/rpc/lib/client
    8.694s github.com/gnolang/gno/pkgs/bft/mempool
    8.211s github.com/gnolang/gno/pkgs/bft/privval
    8.034s github.com/gnolang/gno/pkgs/bft/rpc/lib

the pros:
* it makes things faster to run on CI, and potentially faster locally when using
`make -j`.
* make logs more readable on failing CI jobs (GitHub is not very easy to use for
very long CI logs).
* allow retrying a specific job on CI instead of running everything.
* give a feeling on the impact of a recent change based on if everything is red VS
only one suite is red.

the bad:
* the Makefile starts being complex, I think we'll need a rewrite in a near future.

  $ go test -v ./pkgs/... | grep -E '^ok'| awk '{print $3 " " $2}' | sort -nr | head
  466.970s github.com/gnolang/gno/pkgs/amino
  129.709s github.com/gnolang/gno/pkgs/bft/consensus
  42.514s github.com/gnolang/gno/pkgs/bft/wal
  23.129s github.com/gnolang/gno/pkgs/iavl
  11.344s github.com/gnolang/gno/pkgs/crypto/keys
  9.834s github.com/gnolang/gno/pkgs/bft/rpc/lib/client
  8.694s github.com/gnolang/gno/pkgs/bft/mempool
  8.211s github.com/gnolang/gno/pkgs/bft/privval
  8.034s github.com/gnolang/gno/pkgs/bft/rpc/lib

Signed-off-by: Manfred Touron <94029+moul@users.noreply.github.com>
@moul moul merged commit 259e1a3 into gnolang:master May 19, 2022
@moul moul deleted the dev/moul/parallel-go-test branch May 19, 2022 15:19
@moul moul self-assigned this May 19, 2022
@moul moul added this to the 🏗2️⃣ test2.gno.land milestone Oct 20, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

None yet

1 participant