Commit Graph
178 Commits
Author SHA1 Message Date
Fabiana Cecin 517bef1591 fix(ci): daily build times out (#4126) 2026-08-18 16:42:15 -03:00
Egor Rachkovskii 2fb625f463 ci(e2e): point the S11/S25 store peers at the built image too (#4128)
The job set NODE_2 but not NODE_1, so the two docker store peers in
test_send_lightpush_and_edge.py (S11 and S25) silently fell back to the
DEFAULT_NWAKU literal, wakuorg/nwaku:v0.38.1, instead of the image built by
this run. Both tests are docker_required, so they run in the subset that
does receive node_image; they were the only NODE_1 readers in the suite and
the only ones missing out.

An empty node_image keeps working: get_env_var treats "" as unset, so the
non-docker subset and fork PRs still land on v0.38.1, exactly as NODE_2
already did.

DEFAULT_NWAKU is left as the hardcoded literal it is. Nothing reachable from
tests/wrappers_tests reads it except as the NODE_1/NODE_2 fallback -
src/steps/sharding.py and src/steps/rln.py are its only direct consumers and
neither is imported here - so making it env-driven would add a knob with no
effect. ADDITIONAL_NODES is likewise unused: its only readers,
setup_additional_publishing_nodes and setup_additional_store_nodes, have no
callers anywhere in tests-e2e.
2026-08-17 20:56:48 +01:00
Fabiana Cecin e2a8c2b5d1 fix(ci): nightly pre-release and release-assets fixes (#4112) 2026-08-12 10:02:16 -03:00
Igor SirotinandClaude Fable 5 56dda125ff ci: pull and publish the Logos Attic cache in nix builds (#4071)
Adopts logos-co/setup-nix-cache-action (as in logos-delivery-module#69);
flake.nix substituter moves from the retired status.im nix-cache to
cache.nix.logos.co/public.

Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 13:58:17 +01:00
Fabiana Cecin 13d9b52f4a fix(ci): misc CI fixes (#4107) 2026-08-06 22:43:51 -03:00
Egor Rachkovskii 26e1d62524 ci: run docker subset of the API/e2e wrapper tests (#4052)
* Add in-repo API/e2e test suite (tests-e2e)

Migrate the liblogosdelivery API/wrapper pytest suite into tests-e2e/ and run it in CI (e2e-api-tests.yml) against the built library. Edge senders use the real lightpush path (relay=False).

* ci: run docker subset of the API/e2e wrapper tests

Parametrize e2e-api-tests.yml with `subset` (non-docker|docker) and `node_image` inputs, and add a send-api-e2e-docker-tests job that runs the docker_required wrapper tests (S19/S20/S31) against the built node image.

The docker job needs both the liblogosdelivery artifact and the container-image build, and skips when no image is available (fork PRs lack the registry secrets). The non-docker subset still needs only `build`, so a docker-image build failure cannot mask its result.

* ci: run docker e2e subset on fork PRs against a pinned public image

Drop the gate that skipped the docker subset when no PR-built node image
is available. Fork PRs lack the quay secrets, so build-docker-image
succeeds with an empty output and the subset now falls back to
DEFAULT_NWAKU instead of being skipped.

Pin DEFAULT_NWAKU to wakuorg/nwaku:v0.38.1. The rolling :latest tag is a
daily upstream master build and currently fails to boot with
"updateAddressInENR: Public key does not correspond with given private
key", which would have made the subset permanently red on fork PRs.
s31 passes against v0.38.1 and against the PR-built image.

Echo the resolved peer image at the start of the test step. The job name
is left static so the check can still be made required.
2026-07-29 13:31:26 +01:00
a7df0d9c56 chore: adjust artifact builds and uploads to contain logosdeliverynode app (#4059)
* feat(nix): add logosdeliverynode build target

Generalize the wakucanary-only binary path in nix/default.nix into an
app-target map so any app binary shares one build/install/rln-bundle
path, and expose a `logosdeliverynode` flake package (with gitVersion
for --version reporting).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci(github): build logosdeliverynode in release/pre-release/windows workflows

- release-assets.yml: build logosdeliverynode (POSTGRES=1) so it ships in
  the waku-<arch>-<os>.tar.gz release asset.
- pre-release.yml: add logosdeliverynode to the make targets and to the
  nwaku nightly/RC tarball.
- windows-build.yml: build logosdeliverynode.exe and assert it exists.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* ci(jenkins): build & push logosdeliverynode docker image to harbor

Jenkinsfile.release now builds a second image from the dedicated
logosdeliverynode Dockerfile stage and pushes it to
harbor.status.im/wakuorg/logosdelivery:<IMAGE_TAG> alongside the primary
image. Add a logosdeliverynode stage to the root Dockerfile so the image
entrypoint is /usr/bin/logosdeliverynode rather than the generic
/usr/bin/wakunode symlink. Bump the pipeline timeout to 40m to cover the
extra compile.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

* Apply suggestions from code review

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

---------

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-28 11:20:05 +01:00
NagyZoltanPeter 29861bc286 chore: bump nim-brokers to 3.3.0 and add nim-brokers skill (#4058)
* chore: bump nim-brokers to 3.3.0 and add nim-brokers skill

Bump brokers requirement v3.1.4 -> v3.3.0 (nimble, lock, nix/deps.nix)
and add the nim-brokers Claude skill copied from nim-brokers master
(doc/CLAUDE_brokers_skill.md) at .claude/skills/nim-brokers/SKILL.md.

* ci(container-image): serialize wakunode2 and logosdeliverynode builds
2026-07-24 07:22:22 +02:00
Egor Rachkovskii 8ad99f10f4 Add in-repo API/e2e test suite (tests-e2e) (#4027)
Migrate the liblogosdelivery API/wrapper pytest suite into tests-e2e/ and run it in CI (e2e-api-tests.yml) against the built library. Edge senders use the real lightpush path (relay=False).
2026-07-23 11:06:01 +01:00
9827be5990 feat: logos_delivery_node app + messaging REST API with event observability (#4014)
* WIP logosdeliverynode app initial commit

* WIP - extra cli option

* WIP: messaging client REST endpoints

* Add event poll for messaging rest with cache mechanism

* Messaging rest tests

* test: assert 404 via raw string client in messaging REST test

presto's typed REST client raises RestDecodingError when it cannot decode
a non-2xx text error body into the response type. Add a RestResponse[string]
stub (messagingGetSendEventsByIdRawV1) and point the "already-polled id ->
404" assertion at it, matching the relay REST test pattern.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

* remove customized cli args as confutils has no support for it

* Introduce --entry-layer and re-introduce --mode flags into cli args, applied new driver into LogosDelivery + tests

* Add messaging REST client test

* Add docker image build of logosdeliverynode for CI builds

* Fix tests

* Potential fix for pull request finding

Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>

* Refactor Messaging REST API to better match Messaging Send and Receive APIs

* chore: migrate messaging REST API to Opt[T]

Follow-up to the rebase onto master's repo-wide Option[T] -> Opt[T] change
(#4035). Converts the code this branch adds to the new convention:

- messaging/rest_api/types.nim: MessagingJsonEnvelope fields to Opt[T],
  Opt.some/Opt.none, and json_serialization/pkg/results instead of
  json_serialization/std/options.
- tests: WakuNodeConf.clusterId is now Opt[uint16]; DTO fields are Opt.

`Option[ContentBody]` in the handlers is presto's own API and stays as-is.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
2026-07-17 18:14:52 +02:00
AYAHASSAN287 26098d76cf Add send API e2e tests to the PR job (#3983)
* Add send API e2e tests to the PR job

* Update yml reference

* ci: pin interop smoke tests to SMOKE_TEST_2026.06.25 tag

* ci: retrigger CI

* ci: retrigger CI
2026-06-26 18:36:06 +02:00
Tanya S fc15430e52 Temporarily extend ci test job timeout (#3997) 2026-06-25 17:13:38 +02:00
Ivan FB 1a3b3204fa feat: add LogosDelivery orchestrator as project entry point for FFI (#3970) 2026-06-23 01:20:09 +02:00
Ivan FBandIgor Sirotin 319c0c68fe chore: simplify release process — merge deploy into prepare_release (#3964)
Co-authored-by: Igor Sirotin <sirotin@status.im>
2026-06-19 15:29:33 +02:00
Ivan FB 54c890856f feat: unify libs into a single liblogosdelivery (#3949) 2026-06-15 13:03:44 +02:00
Darshan 9289ba6220 chore: update release issue templates to logos fleets (#3952) 2026-06-13 10:48:29 +05:30
Fabiana Cecin b7c2cee2c9 fix(pr-lint): grant the comment job pull-requests:write (#3944) 2026-06-11 10:31:53 +02:00
Ivan FBandNagyZoltanPeter 3b03ca29b1 refactor: introduce proper logos_delivery layers folder structure (#3935)
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
2026-06-08 13:37:53 +02:00
Ivan FB 6fd0f9c079 ci: fix Windows build hang on re-downloading nimble deps (#3920) 2026-06-04 21:17:43 +02:00
Ivan FB 5bc1ad63a7 ci: pass -d:disableMarchNative to avoid secp256k1 build failures (#3916) 2026-05-29 22:28:15 +02:00
Ivan FBandNagyZoltanPeter c5b24e21da better pending segments management (#3914)
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
2026-05-29 22:24:46 +02:00
Darshan bb23ee64af feat: fetch prebuilt zerokit rln, fall back to source build (#3915) 2026-05-29 23:53:38 +05:30
Ivan FB 2447ce9e73 disable js-waku from ci (#3917) 2026-05-29 08:11:41 +02:00
Ivan FB 74057c6622 start basic reliable channel folder (#3886) 2026-05-27 23:05:20 +02:00
Darshan 5e262badf7 chore: fixing daily ci (#3878) 2026-05-27 23:58:30 +05:30
Darshan 67eebe3a02 ci: add daily rln simulator e2e workflow (#3885) 2026-05-22 17:15:31 +05:30
Igor SirotinandClaude Opus 4.7 c6e448a0ba fix: real getNodeInfo Version in Nix/lgpm builds (#3889)
* fix(node-info): real Version + new Commit in Nix/lgpm builds

getNodeInfo Version returned "n/a" on Nix-built libs (and lgpm
releases built from the flake) because nix/default.nix never passed
-d:git_version. A flake sandbox has no .git, so git describe is
impossible; derive the semver from waku.nimble's version field plus
the flake short commit, and expose the full commit SHA via a new
Commit node info id.

- waku_state_info: add Commit to NodeInfoId + dispatch git_commit
- waku_node: add git_commit {.strdefine.} (default "n/a")
- node start logs ("Starting Waku node" / "Running nwaku node") now
  print commit = git_commit alongside version
- Makefile: inject -d:git_commit (full SHA), mirrors docker label
- nix/default.nix: accept gitVersion/gitCommit, pass as nim defines
- flake.nix: gitVersion = <nimble version>-g<shortRev>, gitCommit = rev
- CI version-check (PR only): ancestor-aware `git describe --tags
  --abbrev=0` vs PR HEAD, base-version compare, so waku.nimble is kept
  current early and a new tag never breaks in-flight PRs
- release-assets.yml: gate build/upload on a verify-version job
  asserting tag base == waku.nimble (RC tags allowed), so a mismatched
  tag publishes no artifacts
- docs: prepare_release.md explains the bump-before-tag requirement

Refs: status-im/infra-logos#4
Closes: logos-messaging/logos-delivery#3884

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* docs: simplify

* chore: update version in waku.nimble

* fix(node-info): remove Commit node info field

Drop the newly added Commit (full SHA) node info id and its
git_commit compile-time define plumbing across Makefile, flake.nix
and nix/default.nix; revert the start/run log lines to version only.
The PR now solely fixes the getNodeInfo Version regression.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* chore(nix): align git_version format closer to Makefile

Adds the `v` prefix and uses a 6-char SHA so Nix-built nodes report
e.g. `v0.38.1-g52e980`, matching the shape of `git describe --abbrev=6
--always --tags` aside from the unreachable commit-count segment (tag
metadata isn't exposed through the flake input protocol).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-20 21:57:14 +01:00
Darshan 324048430b fix: restore -d:postgres in nimble task and propagate NIMFLAGS (#3830) 2026-04-25 00:03:46 +05:30
NagyZoltanPeter 820ccc6e10 Add ci support for liblogosdeliery, build and artifacts (#3746) 2026-04-23 18:24:55 +02:00
Ivan FB cda0197168 use nimble 0.22.3 and more appropriate nimble.lock (#3809) 2026-04-20 13:54:34 +02:00
Fabiana Cecin 494ea94606 fix: recv_service delivers store-recovered messages (#3805)
* recv_service now delivers store-recovered messages via MessageReceivedEvent
* add regression test_api_receive to prove store recovery actually delivers messages
* fix confusing "UNSUCCESSFUL / Missed message" log message
* removed some dead/duplicated code

Co-authored-by: Ivan FB <128452529+Ivansete-status@users.noreply.github.com>
Co-authored by Zoltan Nagy
2026-04-09 14:29:17 -03:00
f5762af4c4 Start using nimble and deprecate vendor dependencies (#3798)
Co-authored-by: NagyZoltanPeter <113987313+NagyZoltanPeter@users.noreply.github.com>
Co-authored-by: Darshan K <35736874+darshankabariya@users.noreply.github.com>
2026-04-08 12:42:14 +02:00
Ivan FB 5c335c2002 address leftover comments (#3782) 2026-03-27 13:55:27 +01:00
Ivan FB 03249df715 Add deployment process (#3751) 2026-03-12 19:13:40 +01:00
Ivan FB a77870782a Change release process (#3750)
* Simplify release process and leave the DST validation for deployment process
* Rename prepare_full_release.md to prepare_release.md
* Remove release-process.md as it duplicates info and causes confusion
2026-03-12 19:13:09 +01:00
Darshan 2f3f56898f fix: update release process (#3727) 2026-02-18 11:51:15 +05:30
Ivan FB 895f3e2d36 update after rename to logos-delivery (#3729) 2026-02-17 19:59:45 +01:00
Darshan 6421685eca chore: bump v0.38.0 (#3712) 2026-02-10 22:30:57 +01:00
jakub 538b279b94 nix: drop unnecessay asert for Android SDK on macOS
Newer nixpkgs should have Android SDK for aarch64.

Signed-off-by: Jakub Sokołowski <jakub@status.im>
2026-01-29 17:26:32 +01:00
Ivan FB 74b19c05d1 simple refactor to reduce PRs CI load (#3701)
* add discord notification in ci-daily
2026-01-29 15:48:34 +01:00
Sasha a865ff72c8 update js-waku repo reference (#3684) 2026-01-06 10:19:37 +01:00
Fabiana Cecin bc5059083e chore: pin logos-messaging-interop-tests to SMOKE_TEST_STABLE (#3667)
* pin to interop-tests SMOKE_TEST_STABLE
2025-12-16 17:49:03 +01:00
Fabiana Cecin 2477c4980f chore: update ci container-image.yml ref to a commit in master (#3666) 2025-12-15 10:33:39 -03:00
Fabiana Cecin 10dc3d3eb4 chore: misc CI fixes (#3664)
* add make update to CI workflow
* add a nwaku -> logos-messaging-nim workflow rename
* pin local container-image.yml workflow to a commit
2025-12-15 09:15:33 -03:00
Ivan FB 9e2b3830e9 Distribute libwaku (#3612)
* allow create libwaku pkg
* fix Makefile create library extension libwaku
* make sure libwaku is built as part of assets
* Makefile: avoid rm libwaku before building it
* properly format debian pkg in gh release workflow
* waku.nimble set dylib extension correctly
* properly pass lib name and ext to waku.nimble
2025-12-15 12:11:11 +01:00
Tanya S 2cf4fe559a Chore: bump waku-rlnv2-contract-repo commit (#3651)
* Bump commit for vendor wakurlnv2contract

* Update RLN registration proc for contract updates

* add option to runAnvil for state dump or load with optional contract deployment on setup

* Code clean up

* Upodate rln relay tests to use cached anvil state

* Minor updates to utils and new test for anvil state dump

* stopAnvil needs to wait for graceful shutdown

* configure runAnvil to use load state in other tests

* reduce ci timeout

* Allow for RunAnvil load state file to be compressed

* Fix linting

* Change return type of sendMintCall to Futre[void]

* Update naming of ci path for interop tests
2025-12-08 08:29:48 +02:00
Fabiana Cecin 54f4ad8fa2 fix: fix .github waku-org/ --> logos-messaging/ (#3653)
* fix: fix .github waku-org/ --> logos-messaging/
* bump CI tests timeout 45 --> 90 minutes
* fix .gitmodules waku-org --> logos-messaging
2025-12-02 11:00:26 -03:00
Darshan K 7eb1fdb0ac chore: new release process ( beta and full ) (#3647) 2025-12-01 19:03:59 +05:30
Ivan FB 7e3617cd48 Bump to macos-15 in GitHub ci workflow (#3620) 2025-10-14 21:14:24 +02:00
Darshan K 5fc8c59f54 chore: bump dependencies to v0.37.0 (#3536) 2025-09-10 13:20:37 +05:30