Skip to content

ci: trigger status-app build - #7480

Open
siddarthkay wants to merge 4 commits into
developfrom
fix-client-build
Open

ci: trigger status-app build#7480
siddarthkay wants to merge 4 commits into
developfrom
fix-client-build

Conversation

@siddarthkay

Copy link
Copy Markdown
Contributor

Summary

  • Trigger client build on status-go changes.
  • Would catch build failures introduced by status-go changes.

@siddarthkay siddarthkay self-assigned this May 27, 2026
@github-actions

Copy link
Copy Markdown

⚠️ Companion PR Required

Add a link to your status-app PR in this PR's description.

Example: https://github.com/status-im/status-app/pull/123

@status-im-auto

status-im-auto commented May 27, 2026

Copy link
Copy Markdown
Member

Jenkins Builds

Click to see older builds (44)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 0b3b407 1 2026-05-27 10:50:50 ~3 min linux/status-go 📦zip
✔️ 0b3b407 1 2026-05-27 10:53:57 ~6 min windows/status-go 📦zip
✖️ 0b3b407 1 2026-05-27 11:09:12 ~21 min tests-rpc 📄log
✔️ 0b3b407 1 2026-05-27 11:24:53 ~37 min tests 📄log
✔️ 39d30e8 2 2026-05-27 11:00:57 ~6 min windows/status-go 📦zip
✔️ 39d30e8 2 2026-05-27 11:01:31 ~4 min macos/status-go 📦zip
✖️ 39d30e8 2 2026-05-27 11:36:36 ~27 min tests-rpc 📄log
✔️ 39d30e8 2 2026-05-27 12:12:43 ~47 min tests 📄log
✖️ 2325a7c 3 2026-05-28 09:56:41 ~44 sec tests-rpc 📄log
2325a7c 3 2026-05-28 09:59:23 ~3 min linux/status-go 📄log
✖️ 2325a7c 3 2026-05-28 10:00:39 ~4 min tests 📄log
✔️ 2325a7c 3 2026-05-28 10:00:47 ~4 min macos/status-go 📦zip
✔️ 2325a7c 3 2026-05-28 10:01:33 ~5 min windows/status-go 📦zip
✔️ ab2a47d 4 2026-05-29 09:52:08 ~5 min windows/status-go 📦zip
✔️ ab2a47d 4 2026-05-29 09:55:09 ~9 min linux/status-go 📦zip
✔️ ab2a47d 4 2026-05-29 09:55:20 ~9 min macos/status-go 📦zip
✔️ ab2a47d 4 2026-05-29 10:24:32 ~38 min tests 📄log
818a49b 5 2026-07-30 16:30:48 ~36 sec windows/status-go 📄log
✔️ 818a49b 5 2026-07-30 16:35:54 ~5 min macos/status-go 📦zip
✔️ 818a49b 5 2026-07-30 17:15:42 ~45 min linux/status-go 📦zip
✔️ 818a49b 5 2026-07-30 17:35:14 ~1 hr 5 min tests 📄log
✔️ 818a49b 5 2026-07-30 17:36:58 ~1 hr 6 min tests-rpc 📄log
✔️ 818a49b 1 2026-07-30 17:58:42 ~1 hr 28 min tests-rpc-compat 📄log
69a1222 6 2026-07-31 04:03:16 ~37 sec windows/status-go 📄log
✔️ 69a1222 6 2026-07-31 04:07:57 ~5 min macos/status-go 📦zip
✔️ 69a1222 6 2026-07-31 04:15:28 ~13 min linux/status-go 📦zip
✔️ 69a1222 6 2026-07-31 04:24:32 ~21 min tests 📄log
✔️ 69a1222 6 2026-07-31 04:33:07 ~30 min tests-rpc 📄log
✔️ 69a1222 2 2026-07-31 05:03:20 ~1 hr 0 min tests-rpc-compat 📄log
⁉️ 69a1222 4 2026-07-31 05:09:12 ~1 hr 6 min unknown 📄log
69a1222 7 2026-07-31 07:08:40 ~8 min windows/status-go 📄log
✔️ 69a1222 8 2026-07-31 07:24:06 ~7 min windows/status-go 📦zip
4e03335 9 2026-08-02 12:05:53 ~36 sec windows/status-go 📄log
4e03335 10 2026-08-02 12:06:31 ~32 sec windows/status-go 📄log
✔️ 4e03335 8 2026-08-02 12:11:02 ~5 min macos/status-go 📦zip
✔️ 4e03335 11 2026-08-02 12:18:36 ~7 min windows/status-go 📦zip
✔️ 4e03335 8 2026-08-02 12:21:24 ~2 min linux/status-go 📦zip
✔️ 4e03335 8 2026-08-02 12:26:53 ~21 min tests 📄log
✔️ 4e03335 4 2026-08-02 12:32:28 ~26 min tests-rpc-compat 📄log
✔️ 4e03335 8 2026-08-02 12:37:25 ~31 min tests-rpc 📄log
4e03335 6 2026-08-02 12:53:09 ~47 min unknown 📄log
4e03335 7 2026-08-02 15:26:38 ~47 min unknown 📄log
4e03335 8 2026-08-02 17:41:19 ~1 hr 3 min unknown 📄log
✔️ c6c4837 7 2026-08-02 12:18:18 ~13 min linux/status-go 📦zip
Commit #️⃣ Finished (UTC) Duration Platform Result
9d88dc1 12 2026-08-04 06:25:58 ~2 min windows/status-go 📄log
✔️ 9d88dc1 9 2026-08-04 06:28:16 ~4 min macos/status-go 📦zip
✔️ 9d88dc1 13 2026-08-04 06:41:48 ~7 min windows/status-go 📦zip
✔️ 9d88dc1 9 2026-08-04 08:01:02 ~1 hr 37 min tests-rpc 📄log
✔️ 3118de5 14 2026-08-04 07:38:16 ~5 min windows/status-go 📦zip
✔️ 3118de5 10 2026-08-04 08:05:04 ~32 min macos/status-go 📦zip
✔️ 3118de5 10 2026-08-04 08:25:22 ~52 min linux/status-go 📦zip
✔️ 3118de5 10 2026-08-04 08:51:34 ~50 min tests-rpc 📄log
✖️ 3118de5 10 2026-08-04 09:57:48 ~1 hr 32 min tests 📄log
3118de5 10 2026-08-04 10:30:31 ~2 hr 58 min unknown 📄log
✔️ 3118de5 6 2026-08-04 10:47:49 ~1 hr 44 min tests-rpc-compat 📄log

@codecov

codecov Bot commented May 27, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.30%. Comparing base (f7e4e12) to head (4e03335).

Additional details and impacted files
@@           Coverage Diff            @@
##           develop    #7480   +/-   ##
========================================
  Coverage    62.30%   62.30%           
========================================
  Files          868      868           
  Lines       120155   120155           
========================================
+ Hits         74858    74868   +10     
+ Misses       37662    37623   -39     
- Partials      7635     7664   +29     
Flag Coverage Δ
functional 42.23% <ø> (+0.04%) ⬆️
unit 55.96% <ø> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.
see 36 files with indirect coverage changes

@siddarthkay
siddarthkay force-pushed the fix-client-build branch 2 times, most recently from 2325a7c to ab2a47d Compare May 29, 2026 09:45
@siddarthkay
siddarthkay marked this pull request as ready for review July 31, 2026 04:04
@siddarthkay
siddarthkay requested review from a team and 0xM3R as code owners July 31, 2026 04:04

@alexjba alexjba left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure how it would work. E.g. Changing a signature in status-go requires nim-statusgo update, statusapp bump + some code alignments.

I see the status-app companion PR most useful for quick testing - reviewers and QA can grab the build and do a quick check on it. So I'm not sure a status-app compilation job is a good replacement.

@siddarthkay

Copy link
Copy Markdown
Contributor Author

@alexjba : The point here is that the companion PR forced a dev to perform a task which this job automates.
The status-app job will build all client packages with the current version of status-go and catch build failures if any.

Screenshot 2026-07-31 at 12 31 33 PM

QA can still grab artefacts from here and test if they want to.

If change in status-go introduces a build failure in status-app then this job will force a dev to fix the relevant compatibility issue in status-app otherwise devs that do not introduce such changes can just merge their status-go PR without having to worry about opening companion PRs.

@alexjba

alexjba commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

@siddarthkay what would be the flow in this case:

I'm changing a signature in status-go. It needs a nim-status-go PR first and then a status-app PR, otherwise status-app will fail to link status-go.

@siddarthkay

Copy link
Copy Markdown
Contributor Author

hmm the nim-status-go repo if consumed only by status-app should not be a separate repo.
We didn't have this problem in status-legacy because the bindings or wrapper around status-go lived in status-legacy itself.

In this case the separate repo is complicating the workflow.

@alexjba

alexjba commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

true, there's no good reason to keep nim-status-go as a separate repo. Ideally all these bindings would be generated.
But even so, a change in the signature that's not backwards compatible would still get in the way here.

@jrainville jrainville left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fixes #7667

I guess it will be up to us to enforce companion PRs in the case where APIs are changed, because then running the e2e suite would be good too.
but similar to the nim-status-go bindings, we cannot test it easily

@siddarthkay

siddarthkay commented Aug 2, 2026

Copy link
Copy Markdown
Contributor Author

@alexjba: To make things easier I made status-im/status-app#21746 to bring in nim-status-go into status-app
Please review that change, now status-go signature change will only need a status-app PR to test.

@jrainville: I can run status-app E2E after status-app client builds are done here itself, so that would reduce friction?

@jakubgs

jakubgs commented Aug 3, 2026

Copy link
Copy Markdown
Member

a change in the signature that's not backwards compatible would still get in the way here

The hell does that even mean?

@alexjba

alexjba commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

a change in the signature that's not backwards compatible would still get in the way here

The hell does that even mean?

The new job would fail on a change like this because status-app expects a different signature for Login. Anyways, I don't mean to block this work, just making sure we're all on the same page about enforcing backwards compatibility on status-go since we didn't had it before.

--- a/pkg/backend/geth_backend.go
+++ b/pkg/backend/geth_backend.go
@@ -857,7 +857,7 @@ func (b *StatusBackend) GetEnsUsernames() ([]*ens.UsernameDetail, error) {
        return db.GetEnsUsernames(&removed)
 }
 
-func (b *StatusBackend) Login(keyUID, password string) error {
+func (b *StatusBackend) Login(password string) error {
        return b.startNodeWithAccount(multiaccounts.Account{KeyUID: keyUID}, password, nil, nil)
 }

@siddarthkay

Copy link
Copy Markdown
Contributor Author

Hmm fair enough, currently this job builds status-go PR against master of status-app. For such cases it would be beneficial to allow specifying a branch of status-app to build against... to verify compatibility.

Then the signature changes could be made in status-app, that should solve the problem?

@alexjba

alexjba commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

Hmm fair enough, currently this job builds status-go PR against master of status-app. For such cases it would be beneficial to allow specifying a branch of status-app to build against... to verify compatibility.

Then the signature changes could be made in status-app, that should solve the problem?

Yes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants