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

add first patch of cime tests to public CI #6231

Merged
merged 5 commits into from
Feb 16, 2024

Conversation

mahf708
Copy link
Contributor

@mahf708 mahf708 commented Feb 11, 2024

Adds the first batch of 7 tests to run on public CI resources during PR submission.

Tests are SMS, SMS_D, ERS, ERP, REP, PET, PEM using F2010 and ne4pg2_oQU480. Tests are run with _P4 because CI resources are limited to 4 virtual CPUs for now.

[BFB]

@mahf708 mahf708 added the Testing Anything related to unit/system tests label Feb 11, 2024
@mahf708 mahf708 requested a review from jgfouca February 11, 2024 19:15
Copy link

github-actions bot commented Feb 11, 2024

PR Preview Action v1.4.7
🚀 Deployed preview to https://E3SM-Project.github.io/E3SM/pr-preview/pr-6231/
on branch gh-pages at 2024-02-13 18:55 UTC

Copy link
Member

@jgfouca jgfouca left a comment

Choose a reason for hiding this comment

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

Nice!

@rljacob
Copy link
Member

rljacob commented Feb 13, 2024

Did you try a fully coupled case on these CI resources?

For artifacts to save, please add files ending in cprnc.out

Testing types: https://github.com/ESMCI/cime/blob/master/CIME/SystemTests/README

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 13, 2024

Did you try a fully coupled case on these CI resources?

Not explicitly, but I tried the entire e3sm_developer and e3sm_integration test suites (many failed due to missing files like partition files). Could you give me a few examples of coupled cases I should try?

For artifacts to save, please add files ending in cprnc.out

Will add it. Where is this usually located? I am saving ~/projects/e3sm/scratch/**/*log.* which is essentially everything with *log.* in any directory in scratch (i.e., case directory, etc.). Note that this saves a few extra things (please have a look at the artifacts here: https://github.com/E3SM-Project/E3SM/actions/runs/7864140616) and I can fix it if know what specifically people want (initially, I was going to do bld/*bldlog.* and run/*.log.* only but I changed my mind). I will try to look into the pattern on chrysalis to determine what else to change.

Btw, for artifacts, I am not specifying how long they're saved for, so that will be determined in the admin settings on your end (I can also add the retain period in the workflow if we want that). It's usually set to the default value which is 90 days (also happens to be the max allowed for free public repos)

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 13, 2024

@rljacob when you have a chance, these are the 53 tests from the 123 tests of the e3sm_integration test suite that pass with no modifications. Unless noted after the test, all these tests finish well within an hour (some as fast as a few mins). I am happy to add these to this PR (or in a follow-up PR with potentially other tests).

The passing tests

tests:
  - ERIO_P4.ne30_g16_rx1.A.singularity_gnu
  - ERP_Ld9_P4.ne4_ne4.FIDEAL.singularity_gnu.allactive-pioroot1
  - ERP_Ln18_P4.ne4_oQU240.F2010.singularity_gnu
  - ERP_Ln9_P4.ne4_ne4.FAQP.singularity_gnu
  - ERP_Ln9_P4.ne4_ne4.FRCE.singularity_gnu
  - ERS_P4.ELM_USRDAT.I1850ELM.singularity_gnu.elm-usrdat
  - ERS_P4.MOS_USRDAT.RMOSGPCC.singularity_gnu.mosart-mos_usrdat
  - ERS_P4.MOS_USRDAT.RMOSNLDAS.singularity_gnu.mosart-sediment
  - ERS_P4.f19_g16_rx1.A.singularity_gnu
  - ERS_P4.ne30_g16_rx1.A.singularity_gnu
  - ERS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_ftype2 # (1h14m)
  - ERS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetanh_ftype2 # (2h30m)
  - ERS_P4.r05_r05.RMOSGPCC.singularity_gnu.mosart-gpcc_1972
  - ERS_P4.r05_r05.RMOSGPCC.singularity_gnu.mosart-heat
  - ERS_D_P4.ne4_oQU240.F2010.singularity_gnu.eam-hommexx # (4h20m)
  - ERS_Ld3_P4.ne4_oQU240.F2010.singularity_gnu
  - ERS_Ld3_P4.ne4pg2_oQU480.F2010.singularity_gnu.eam-thetahy_sl_pg2
  - ERS_Ld3_P4.ne4pg2_oQU480.F2010.singularity_gnu.eam-thetahy_sl_pg2_ftype0
  - ERS_Ld5_P4.T62_oQU120.CMPASO-NYF.singularity_gnu
  - ERS_Ld5_P4.T62_oQU240.DTESTM.singularity_gnu
  - ERS_Ld5_P4.ne4_oQU240.F2010.singularity_gnu.eam-rrtmgp
  - ERS_Ld5_P4.ne4_oQU240.F2010.singularity_gnu.eam-rrtmgpxx
  - ERS_Ln9_P4.ne4pg2_ne4pg2.F2010-MMF1.singularity_gnu.eam-mmf_crmout
  - ERS_Ln9_P4.ne4pg2_ne4pg2.FRCE-MMF1.singularity_gnu.eam-cosp_nhtfrq9
  - NCK_P4.f19_g16_rx1.A.singularity_gnu
  - PEM_Ln5_P4.T62_oQU240wLI.DTESTM.singularity_gnu
  - PEM_Ln5_P4.ne4_oQU240.F2010.singularity_gnu
  - REP_Ln5_P4.ne4_oQU240.F2010.singularity_gnu
  - SEQ_P4.f19_g16.X.singularity_gnu
  - SMS_P4.MOS_USRDAT.RMOSGPCC.singularity_gnu.mosart-unstructure
  - SMS_P4.ne30_f19_g16_rx1.A.singularity_gnu
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-cosplite
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-preqx_ftype0
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-preqx_ftype1
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-preqx_ftype4
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_ftype0
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_ftype1
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_ftype2
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_ftype4
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetahy_sl
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetanh_ftype0 # (1h5m)
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetanh_ftype1
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetanh_ftype2
  - SMS_P4.ne4_oQU240.F2010.singularity_gnu.eam-thetanh_ftype4
  - SMS_D_Ln5_P4.ne4_oQU240.F2010.singularity_gnu
  - SMS_D_Ln5_P4.ne4_oQU240.F2010.singularity_gnu.eam-clubb_sp
  - SMS_D_Ln5_P4.ne4_oQU240.F2010.singularity_gnu.eam-cosplite_nhtfrq5
  - SMS_Ld1_P4.ne4_ne4.FAQP.singularity_gnu.eam-clubb_only
  - SMS_Ln5_P4.ne4pg2_oQU480.F2010.singularity_gnu
  - SMS_Ln5_P4.ne4pg2_oQU480.F2010.singularity_gnu.eam-thetahy_pg2
  - SMS_Ln5_P4.ne4pg2_oQU480.F2010.singularity_gnu.eam-thetahy_sl_pg2
  - SMS_Ln5_P4.ne4pg2_oQU480.F2010.singularity_gnu.eam-thetahy_sl_pg2_ftype0
  - SMS_Ln9_P4.ne4_oQU240.F2010.singularity_gnu.eam-outfrq9s

@rljacob
Copy link
Member

rljacob commented Feb 13, 2024

I downloaded one of the archive files and most of it is what we want. We don't need anything from bld/cmake-bld or the env_archive_test directory.

@rljacob
Copy link
Member

rljacob commented Feb 13, 2024

One more thing we need in the archive: TestStatus.log which is the casedir.

@jgfouca
Copy link
Member

jgfouca commented Feb 13, 2024

Yeah, the TestStatus.log is important. Also, I wonder if it would be easier to add an entry for singularity machine in config_pes.xml to just set the procs to 4 for all grids/compsets? That way you don't have to add _P4 to all the tests.

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 13, 2024

Yeah, the TestStatus.log is important. Also, I wonder if it would be easier to add an entry for singularity machine in config_pes.xml to just set the procs to 4 for all grids/compsets? That way you don't have to add _P4 to all the tests.

Yes, I would like to do this eventually. I was thinking we could formalize this once the container reaches its 0.1.0 release 😉

ghcr.io/mahf708/e3sm-imgs:v0.0.6

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 13, 2024

Both the *.cprnc.out and TestStatus.log are now in the artifacts.

The last item to decide before merge: Should we include any of these passing e3sm_integration tests or wait until we see how these go for a few days/weeks? See: #6231 (comment)

@rljacob
Copy link
Member

rljacob commented Feb 13, 2024

Most of those passing integration tests are at resolutions that are going to change so we should wait until #6202 is merged. Then update the CI tests. Just go with what you have.

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 13, 2024

Alright, sounds good. Once the other PR is merged, I will add the other tests. Feel free to merge at your convenience as this is assigned to you, @rljacob. Thanks, and looking forward to the next installment :)

@rljacob
Copy link
Member

rljacob commented Feb 15, 2024

@mahf708 I cleaned up the PR description (above the line). You may want to edit your first-person story (below the line).

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 15, 2024

I cleaned up the PR description (above the line). You may want to edit your first-person story (below the line).

Thanks and no need, will do better next time 😸

@mahf708
Copy link
Contributor Author

mahf708 commented Feb 15, 2024

Or maybe you meant, I should... let me fix it just in case! Edit: done!

rljacob added a commit that referenced this pull request Feb 16, 2024
Adds the first batch of 7 tests to run on public CI resources during PR submission.

Tests are SMS, SMS_D, ERS, ERP, REP, PET, PEM using F2010 and ne4pg2_oQU480. Tests are run
with _P4 because CI resources are limited to 4 virtual CPUs for now.

[BFB]
@rljacob rljacob merged commit 168957c into master Feb 16, 2024
10 checks passed
@rljacob rljacob deleted the mahf708/idp/e3sm-gh-ci-cime-tests branch February 16, 2024 23:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Testing Anything related to unit/system tests
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants