Skip to content

Conversation

@dkijania
Copy link
Member

@dkijania dkijania commented Nov 18, 2025

Adding CI for mesa :

  • building noble and bookwom for devnet and lightnet profile for amd64 and arm64 architectures
  • tagged applicable jobs with Mesa tag - here my goal was to not run all other building jobs like we do for devnet/mainnet. Currently Mesa is at bugs exploration path, so we don't need to support every configuration. This is not needed now. But i want to use this branch as new method of filtering jobs per mainline branch. We need to bring back those deleted jobs anyhow
  • regenerated archive static test data for mesa
  • cherry picked [CI][Test] add wait for archive node bootstrap #18159 to stability

@dkijania dkijania self-assigned this Nov 18, 2025
@dkijania dkijania changed the base branch from compatible to mesa November 18, 2025 13:29
@dkijania
Copy link
Member Author

!ci-build-me

1 similar comment
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania mentioned this pull request Nov 19, 2025
@dkijania
Copy link
Member Author

!ci-build-me

5 similar comments
@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania
Copy link
Member Author

!ci-build-me

@dkijania dkijania marked this pull request as ready for review November 24, 2025 19:19
@dkijania dkijania requested review from a team as code owners November 24, 2025 19:19
@dkijania
Copy link
Member Author

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=devnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=lightnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=arm64 profile=devnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=lightnet

1 similar comment
@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=lightnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=armd4 profile=lightnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=devnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=arm64 profile=lightnet

@glyh
Copy link
Member

glyh commented Nov 25, 2025

We will merge mesa back to develop in the end I assume. There's some destructive changes in this repo. What's the plan to deal with them in the future?

@dkijania
Copy link
Member Author

@glyh the plan is to work on dhall filtering and make it common for all branches,before merging to develop. So this branch should only contains ports from compatible for patching issues we are having right now.

I choose that strategy as issues on mesa CI are not directly connected with branch but with limitations of CI which were exposed here

@glyh
Copy link
Member

glyh commented Nov 25, 2025

So the files that would be removed when merging back to develop is expected, or it's a WIP?

, path = "Lint"
, name = "ArchiveUpgrade"
, tags = [ PipelineTag.Type.Fast, PipelineTag.Type.Lint ]
, tags = [] : List PipelineTag.Type
Copy link
Member

Choose a reason for hiding this comment

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

Why is the tag cleaned here?

Copy link
Member Author

Choose a reason for hiding this comment

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

This test is failing, as develop branch has discrepancies between mesa. This is the quickest way to exclude this test from running

[ PipelineTag.Type.Fast
, PipelineTag.Type.Lint
, PipelineTag.Type.Stable
, PipelineTag.Type.Mesa
Copy link
Member

Choose a reason for hiding this comment

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

I'm not a fan tagging all CI jobs with mesa here.

instead. We should probably have another kind of filtering rule that only applies for specific jobs base on branch name.

That filtering should be by default allow all tests, and for mainnet/devnet/mesa specific jobs we configure which branch should it run on with this additional filtering

Copy link
Member

Choose a reason for hiding this comment

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

Again, I'd advocate using a proper programming language instead of dhall because I can only see this mechanism grow more and more complicated and out of hand one day.

Copy link
Member Author

Choose a reason for hiding this comment

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

  1. Generally, I don't mind using another language, (I wonder what proper language means :) ), but first we need to do some deep analysis which one and what we gain/loose. Such investment will be big, ROI a bit small IMHO and we don't have time to launch such campaign,now. It is easiest to say, "we need to rewrite it", but people are not realizing the cost and maintenance burden while doing the transitions. Also keep in mind that we are not using latest dhall version and they added some comparision/equality methods which should make it easier. This is still a PR review and i don't see how i can fix it here :) Let's move such discussion to issues maybe

  2. What mechanism grow more complicated ? Adding another tag is utilizing mechanism which is already there and we are not complicating it

I'm not a fan tagging all CI jobs with mesa here.

instead. We should probably have another kind of filtering rule that only applies for specific jobs base on branch name.

That filtering should be by default allow all tests, and for mainnet/devnet/mesa specific jobs we configure which branch > should it run on with this additional filtering

This is my idea as well, but we need to add such changed from master up. However, i can see some issues with it anyhow. First, we would need to introduce mapping between branch and jobs. We can do it in couple ways.
a) Introducing another field which will defined branch
b) using tags as I'm preparing it above
c) using buildkite filters like .branch == compatible etc (if field)

The main issue though is how to determine what is the mainline branch (on scheduled nightly we should look at BUILDKITE_BRANCH field, in PR it should be BUILDKITE_PULL_REQUEST_BASE, if we are merging not to mainline branch, then we don't know and this is my main concern.

, PipelineTag.Type.Noble
]
, network = Network.Type.Mesa
, tags = [] : List PipelineTag.Type
Copy link
Member

@glyh glyh Nov 25, 2025

Choose a reason for hiding this comment

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

why cleaned all tags here and couple of other places?

Copy link
Member Author

Choose a reason for hiding this comment

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

to disable such jobs.

| Noble
| Focal
| Jammy
| Mesa
Copy link
Member

Choose a reason for hiding this comment

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

Probably this should be replaced by some kind of

BranchsIn and BranchsExclude that carries a list of branches.

Copy link
Member

Choose a reason for hiding this comment

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

I see there's problem converting toNatural though, why do we even want to convert tags to natural?

Copy link
Member Author

Choose a reason for hiding this comment

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

we are using the old dhall version where equality is supported only between naturals, that's why we converting them

@@ -2,8 +2,8 @@
-- PostgreSQL database dump
Copy link
Member

Choose a reason for hiding this comment

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

We're changing this in place, meaning it's going to be a disaster when we try to have both version work together.

Copy link
Member Author

Choose a reason for hiding this comment

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

Why? I had to regenerate sample data as it is so different from develop/compatible that all archive related tests are failing. If we merge mesa to develop this data should be merged, replacing the one in develop

Copy link
Member

@glyh glyh left a comment

Choose a reason for hiding this comment

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

I'm not a fan of the change in code in place.
When merging into develop, we'll need to remove Mesa tags and keep it so that develops see everything as mainnet/devnet, I assume?

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=arm64 profile=lightnet

@dkijania
Copy link
Member Author

So the files that would be removed when merging back to develop is expected, or it's a WIP?

I thought we want this branch quickly to be run in CI. Thus my hacky approach. If not, then i can sort it out longterm

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=arm64 profile=devnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=devnet

@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=lightnet

1 similar comment
@dkijania
Copy link
Member Author

!ci-docker-me codename=bookworm arch=amd64 profile=lightnet

@glyh
Copy link
Member

glyh commented Nov 30, 2025

I assume this is not yet ready for a review? If so could you draft?

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.

3 participants