Skip to content

Jenkins for CI - #1104

Open
manauref wants to merge 72 commits into
mainfrom
agent_tools-jenkins
Open

Jenkins for CI#1104
manauref wants to merge 72 commits into
mainfrom
agent_tools-jenkins

Conversation

@manauref

@manauref manauref commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator

BEWARE: I'm not going to merge this into main, i'm going to merge it into agent_tools. I temporarily have it as merging into main so it triggers a an automatic build/test. So please approve when ready but don't merge, i'll do that.

We add the Jenkins file and readme with instructions on how to set up.

Note some terminology:
One may add

  • Controllers: a controller is a place CI is launched from. For example, I added a personal computer controller which only runs CI for PRs authored by myself (others can do this too).
  • Nodes: this is hardware CI runs on. The hardware where the controller resides is typically a node, but one may also add a remote node (e.g. if I had access to a workstation via ssh, I could add it as a node in my controller).

Currently CI runs on my laptop, but the idea is for us to add a shared workstation as a node (possibly in mine or @JunoRavin 's controller; makes me wonder if two controllers can add the same node), which would run whenever anyone submits a PR to merge into main.

Procedure

Presently the CI system:

  1. Builds main, creates accepted results for MOAT reg tests.
  2. Checks out the branch to be tested.
  3. Runs unit tests.
  4. Runs MOAT regression tests and checks.
  5. Reports to GitHub if unit and reg tests passed.

If a PR genuinely needs to change the accepted results, one needs to list that test in ci/jenkins/expected_regression_diffs.txt‎.

Lastly, see below and you'll see this PR passes CI run on my laptop. You may not be able to click it (not sure, try), but when I do it opens my local Jenkins page in which I see this
Screenshot 2026-09-05 at 10 35 42 PM

manauref and others added 10 commits September 2, 2026 15:10
…at into .claude and .codex. Place an initial skill which just tells the agent how to navigate our file structure, how to compile and run unit tests.
…folder). Adapt repo-init.sh accordingly (should rename this). Get rid of hardcoded path in SKILL.md
…s from 1a1afd9

The changes to this file in 1a1afd9 were not ready to be committed.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Entire-Checkpoint: 01M1J9P5PZ19S0HZRFZXW50GWB
…_ho or _dev.

Entire-Checkpoint: 01M1JTACXHFWG4YEHF8K3BT9ZZ
…nd with _ho or _dev.

Entire-Checkpoint: 01M1K022ACB1NMCVWZW6276N07
…nts/vlasov/gyrokinetic unit tests.

Entire-Checkpoint: 01M1K4VQ45PVP8FVHRJMKR8NXE
…he naming standardization).

Entire-Checkpoint: 01M1K4WEHM32GEZF9Y61XGEB9D
Entire-Checkpoint: 01M1K9PDJ69SX9NAGJ27P058AC
@Antoinehoff

Copy link
Copy Markdown
Collaborator

Hm there is a commit "Co-Authored-By" Claude. I really want to avoid that, they don't deserve to be mentioned.

@manauref

manauref commented Sep 3, 2026

Copy link
Copy Markdown
Collaborator Author

Hm there is a commit "Co-Authored-By" Claude. I really want to avoid that, they don't deserve to be mentioned.

If we are all tracking stuff with something like Entire, sure. Otherwise I'd prefer to keep it.

Entire-Checkpoint: 01M1M2C9CDXB98S2D8YH04TGX9
… If you run make -j3 check, make unit and make unit-run may be run in parallel, but some tests run will fail because they haven't been compiled yet. Fix that.

Entire-Checkpoint: 01M1M62Q5VCA1711AZYDQZW49S
Entire-Checkpoint: 01M1M71E3QYWFBEE6Q48Q8MTHK
Entire-Checkpoint: 01M1M7MNPVVS8CT5XKWED5E525
…n. This isn't ideal, but creating special build flags for Jenkins right now is undesirable. We'll have to cross that bridge though, as we want to be able to launch/test different builds, e.g. with --build-openmpi=yes.

Entire-Checkpoint: 01M1M989PNAX9SCAZVFC7Z207P
…r own independent controller, B) distinguish between personal nodes (to run for PRs authors by a specific user) and team nodes (to run for all PRs). Also added some modifications for linux, not yet tested.

Entire-Checkpoint: 01M1MKGMJK95RKX3D57T1J2GB2
Fix upper-boundary CFL contribution being dropped from reduction (#1079)
Entire-Checkpoint: 01M1N937FMGGCD06FTPMB4DG6M
…x race condition in gkeyll-install due to redundant dependency. The latter surfaced when we starting installing in Jenkins so we could use runregression.

Entire-Checkpoint: 01M1S6QN64159888GB9KQHBP5W
…t the whole history/repo. Otherwise git can time out on us.

Entire-Checkpoint: 01M1SNDQYDW29QZ9ER9B3PJMHY
Entire-Checkpoint: 01M1SVE0GRDZ4AH0N0NN9H4KAR
@manauref
manauref requested a review from JunoRavin September 6, 2026 05:08
tnbernard and others added 2 commits September 8, 2026 11:51
under a minute. Reduced t_end for the rt_gk_d3d_iwl_3x2v_p1.c,
rt_gk_neut_recycle_1x3v_p1.c tests and removed kinetic neutral tests
which are no longer relevant.
Ran regression create and check on multiple gk files
manauref and others added 5 commits September 9, 2026 09:29
Entire-Checkpoint: 01M23G0NBEKKCKR6VF11NYZ19E
…Rs opened by the indicated author and main when it changes. Also allow for a build parameter, so that one can force build a PR opened by another user if desired (via the GUI).
…ncemodel

Split out of the agent_tools-jenkins-preferencemodel PR to isolate the
core/gyrokinetic changes from the moments/vlasov/pkpm changes.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
…d Codex directories

› Turn .claude, .codex into static links to .agents. This unifies all the agentic tools into one place, which is .agents. I think this removes the need for the repo-init.sh

› Break up '/home/maxwell-rosen/gkeyll/.agents/skills/gkeyll_guide/SKILL.md' into several skils. For instance, file-structure, running-tests, compiling, naming-conventions, gyrrokinetics
@Antoinehoff
Antoinehoff self-requested a review September 9, 2026 20:32
Maxwell-Rosen and others added 24 commits September 9, 2026 16:43
Entire-Checkpoint: 01M23Z4JREFV4T7MY83E2D9EWC
Entire-Checkpoint: 01M23ZEHJ8X2NGPV2V1BHCS7PK
…upervised agents. Undo or fix a few other things.

Entire-Checkpoint: 01M2427GN9106RWXGEEAWE35TF
…les.

Entire-Checkpoint: 01M242GC9E5PDBSR5WKV3MRQW0
…kinetic

Add/clean core and gyrokinetic unit tests
Refactor skills -- symlinks and break up skills
…with gyrokinetic/creg/rt_gk_sheath_2x2v_p1.c or (omitting .c) gyrokinetic/creg/rt_gk_sheath_2x2v_p1.
…of these MB tests take a long time because grid generation takes a while, but there's no way around it. Add info about runregression to skill file. Note that rt_gk_multib_step_sol_2x2v_p1 is removed from the ignore list but it fails upon check. I think there's an rm missing in runregression but will test/commit that separately.
…om issues with rt_gk_multib_step_sol_2x2v_p1 failing.
…t-fix

Fix spatial non-uniform mappings in regression tests
…emove unit test that was comparing with NAN, NANs are ill behaved.
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.

5 participants