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

Changes needed to add dglc component for cdeps #72

Closed
wants to merge 417 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
417 commits
Select commit Hold shift + click to select a range
ca2386b
Adds skip-submit argument to case.build
jasonb5 Jul 29, 2023
a5779ab
if the config_machines.xml file cannot be found give a meaningful error
jedwards4b Aug 1, 2023
5657125
remove redundent ERROR
jedwards4b Aug 1, 2023
4d85958
Merge pull request #4469 from jedwards4b/fix_ccs_missing_error
jedwards4b Aug 1, 2023
7f8c963
Merge pull request #4467 from ESMCI/feature_skip_submit
jedwards4b Aug 1, 2023
56c1622
Merge pull request #4426 from jedwards4b/fv3_bld_improvements
jedwards4b Aug 1, 2023
c6dd05d
Merge pull request #4418 from jedwards4b/use_which_ncdump
jedwards4b Aug 1, 2023
f14a104
Merge pull request #4411 from jedwards4b/exeroot_not_caseroot
jedwards4b Aug 1, 2023
2031fb5
Update create-a-case.rst with how to use SourceMods
daianzhuo Aug 2, 2023
08d33b3
Wrap lines in create-a-case.rst
daianzhuo Aug 2, 2023
02fad90
Merge pull request #4471 from daianzhuo/patch-1
jedwards4b Aug 3, 2023
011e807
Merge branch 'master' into add_gpu_gust
sjsprecious Aug 7, 2023
2341850
fix the usage of wrapper script for Derecho
sjsprecious Aug 7, 2023
de5476a
update description for Derecho
sjsprecious Aug 7, 2023
f6c42fd
use a generic way to apply the MPI wrapper script
sjsprecious Aug 8, 2023
5b3d157
one more sanity check for pure CPU run
sjsprecious Aug 8, 2023
ce56a9b
apply black and pylint
jedwards4b Aug 9, 2023
2ce3177
Removes DAE.ww3a.ADWAV from cime_developers
jasonb5 Aug 15, 2023
eaf9ec4
update externals
jedwards4b Aug 15, 2023
21d6a1f
do not set unless assigned
jedwards4b Aug 16, 2023
8f97110
do not set unless assigned
jedwards4b Aug 16, 2023
66b5fb8
fix issue with NTASKS
jedwards4b Aug 16, 2023
780a209
one more ntasks fix
jedwards4b Aug 16, 2023
128e03e
another none value comparison fixed
jedwards4b Aug 16, 2023
41b67a8
Merge pull request #4396 from sjsprecious/add_gpu_gust
jedwards4b Aug 16, 2023
f9f5b78
Merge pull request #4474 from ESMCI/remove_test_missing_alias
jgfouca Aug 16, 2023
3352770
Fixes excluding files during actual compare
jasonb5 Aug 17, 2023
c0c2314
Fixes using generic machine over group specific
jasonb5 Aug 17, 2023
9bf11b1
Adds missing argument for log message
jasonb5 Aug 17, 2023
847df06
Merge pull request #4475 from ESMCI/fix_hist_utils
jgfouca Aug 17, 2023
60f8ee7
gpu_enabled needs to be true only when gpu is used
jedwards4b Aug 17, 2023
35bfbae
Merge pull request #4477 from jedwards4b/derecho_gpu_enabled_fix
jedwards4b Aug 17, 2023
1be36aa
support wildcard for machine and compiler name with meaning current d…
jedwards4b Aug 21, 2023
a7913e3
remove debug print lines
jedwards4b Aug 21, 2023
b4ed025
Merge pull request #4478 from jedwards4b/support_machine_compiler_wil…
jedwards4b Aug 21, 2023
b6826d8
set GPU variables correctly for CESM only
sjsprecious Aug 28, 2023
c6a6971
Merge pull request #4479 from sjsprecious/gpu_bug_fix
jedwards4b Aug 28, 2023
0610324
Moves check_input_data to SystemTestsCommon when running a test
jasonb5 Aug 29, 2023
b8a872d
Fix typo retart/restart
jgfouca Sep 5, 2023
056a50e
Removes capture all between hist_file_extension and suffix
jasonb5 Sep 6, 2023
cea4f12
Fixes and adds unittest
jasonb5 Sep 6, 2023
3fe8197
Fixes assert
jasonb5 Sep 6, 2023
28195b5
Merge pull request #4483 from ESMCI/jgfouca/fix_typo
jgfouca Sep 7, 2023
0e486ce
env_batch: Fix flag/val separator
jgfouca Sep 8, 2023
847e081
black
jgfouca Sep 8, 2023
fc94b9f
Merge pull request #4485 from ESMCI/jgfouca/fix_submit_flags_sep
jgfouca Sep 8, 2023
c92091d
Add new 'perf' test property
jgfouca Sep 8, 2023
32f3ea2
Minor fixes so that the cime_test_perf suite is actually runnable
jgfouca Sep 8, 2023
45a0794
pylint fix
jgfouca Sep 8, 2023
d3d49c2
Merge pull request #4481 from ESMCI/fix_inputdata_check
jasonb5 Sep 8, 2023
e034e29
Merge pull request #4486 from ESMCI/jgfouca/add_new_pert_test_property
jgfouca Sep 11, 2023
89b20e1
Merge pull request #4484 from ESMCI/fix_hist_utils
jasonb5 Sep 12, 2023
698b373
Removes default coverage reporting and offloads to actions
jasonb5 Sep 15, 2023
e144fea
Adds test_coverage to ignore list
jasonb5 Sep 15, 2023
fb6e01a
PFS tests should always save timing
jgfouca Sep 18, 2023
b10d452
Merge pull request #4487 from ESMCI/jgfouca/better_pfs_support
jgfouca Sep 19, 2023
eb0088e
update instructions for building cprnc with cmake
jedwards4b Sep 19, 2023
a9343da
Makefile needed for e3sm build
jedwards4b Sep 19, 2023
2245e74
Adds similar line as TPUTCOMP to inform user of difference
jasonb5 Sep 20, 2023
a6b8d8f
Updates how performance baselines are written and compared to tests
jasonb5 Sep 20, 2023
a367ab9
Updates MEMCOMP and TPUTCOMP to DIFF if they're checked and fail
jasonb5 Sep 20, 2023
2cc8352
Refactors _compare_throughput and _compare_memory methods
jasonb5 Sep 21, 2023
5ac9e1e
Refactors compare_throughput and compare_memory functions
jasonb5 Sep 22, 2023
9bab639
Adds --tput-only and --mem-only
jasonb5 Sep 23, 2023
4b47a84
Copy only necessary cmake macros to case
jgfouca Sep 25, 2023
d3da02b
Make the reduced macro copies universal
jgfouca Sep 26, 2023
cf66f90
black
jgfouca Sep 26, 2023
b8d6d2b
Merge pull request #4492 from ESMCI/jgfouca/macros_copy_only_needed
jgfouca Sep 26, 2023
4604aba
Fixes ww3 archiving
jasonb5 Sep 29, 2023
b808e80
Merge branch 'master' into performance-baselines
jasonb5 Sep 29, 2023
52c8d7b
Fixes failing test
jasonb5 Sep 29, 2023
2e43103
Fixes parsing the job dependency string
jasonb5 Sep 30, 2023
6dc623c
Refactors and updates bless_test_results
jasonb5 Oct 3, 2023
ce7b423
Refactors get_job_deps and adds unittests
jasonb5 Oct 3, 2023
9450256
Refactors base config class
jasonb5 Oct 5, 2023
d948986
Adds feature for coupler to define custom read/compare functions
jasonb5 Oct 6, 2023
ec661ca
Fixes failing tests
jasonb5 Oct 6, 2023
4bf6605
Fixes black formatting
jasonb5 Oct 6, 2023
b83cf71
Updates docker for new cmake changes
jasonb5 Oct 7, 2023
ff942ca
Separates container workflow and changes publishing to ghcr.io
jasonb5 Oct 7, 2023
afcacd3
Removes job dependencies
jasonb5 Oct 7, 2023
89058a6
Disables testing when only changes to docker are made
jasonb5 Oct 7, 2023
131fb59
Fixes only testing when the source is changed.
jasonb5 Oct 7, 2023
3e8d25c
Fixes paths
jasonb5 Oct 7, 2023
6e3305c
Fixes image and cache settings
jasonb5 Oct 7, 2023
166eb02
Fixes image name
jasonb5 Oct 7, 2023
c20dec5
Merge pull request #4494 from jasonb5/fix_workflow_dependencies
jedwards4b Oct 9, 2023
0065e63
Merge pull request #4493 from jasonb5/fix_ww3_archiving
jedwards4b Oct 9, 2023
19ed5b1
Fixes tags
jasonb5 Oct 9, 2023
404da43
Fixes only pushing during merge
jasonb5 Oct 9, 2023
52a1bbd
Fixes testing workflow to use ghcr container
jasonb5 Oct 9, 2023
d1b1074
Merge pull request #4495 from ESMCI/update-docker
jasonb5 Oct 9, 2023
44215c4
Merge branch 'master' into performance-baselines
jasonb5 Oct 9, 2023
e61d641
Updates permissions
jasonb5 Oct 9, 2023
b353d1d
Removes --pull
jasonb5 Oct 9, 2023
8cc377b
Adds linking flags for make
jasonb5 Oct 10, 2023
dea5ede
Updates libnetcdf to 4.9.1
jasonb5 Oct 10, 2023
66f96f1
Merge pull request #4496 from ESMCI/update-docker
jasonb5 Oct 10, 2023
d5ac3b0
Fixes conditional push and adds dispatching
jasonb5 Oct 11, 2023
7e8f77b
Merge branch 'master' into performance-baselines
jasonb5 Oct 11, 2023
ecab154
Fixes BASECMP_CASE name
jasonb5 Oct 11, 2023
a786b10
Cleans up baselines
jasonb5 Oct 12, 2023
9b29244
Merge pull request #4488 from jedwards4b/cprnc_readme_update
jedwards4b Oct 12, 2023
1c6d7a1
Fixes handling non performance metrics
jasonb5 Oct 12, 2023
3596b55
Updates _check_for_memleak to be customized by the coupler
jasonb5 Oct 12, 2023
7ca44b7
add a clarification to README
jedwards4b Oct 13, 2023
e5b7048
Fixes workflow permissions
jasonb5 Oct 13, 2023
4c58427
Adds dispatching to testing workflow
jasonb5 Oct 13, 2023
af9b27f
Remove always pull option from testing workflow
jasonb5 Oct 13, 2023
7890021
Renames methods
jasonb5 Oct 13, 2023
d76f407
Fixes more naming
jasonb5 Oct 13, 2023
13e0e8b
Fixes striping newlines when reading baseline files
jasonb5 Oct 13, 2023
7780b1f
Fixes passing correct paths to memory/throughput bless functions
jasonb5 Oct 13, 2023
52ca0a1
Renames memory leak functions
jasonb5 Oct 13, 2023
de497e2
Add call in case_setup to run cam python script
lizziel Oct 13, 2023
69f7e36
Fixes black formatting
jasonb5 Oct 13, 2023
c452e8a
Use named string arguments when calling cam case setup script
lizziel Oct 13, 2023
ccb3b4e
Fixes baseline module organization
jasonb5 Oct 13, 2023
b856aa1
Fixes returning raw string from baseline
jasonb5 Oct 14, 2023
192eb32
Updates baseline documentation
jasonb5 Oct 14, 2023
3071dc3
Adds missing logging
jasonb5 Oct 14, 2023
7e30703
Fixes commenting preview that was never pushed
jasonb5 Oct 14, 2023
88255d5
Merge pull request #4491 from jasonb5/performance-baselines
jgfouca Oct 16, 2023
b5ea392
Remove deprecated 'distutils' package from ParamGen.
nusbaume Oct 16, 2023
56ea782
Jenkins_generic_job: Add --save-timing
jgfouca Oct 17, 2023
00f957c
Add test
jgfouca Oct 17, 2023
0a9126e
Merge pull request #4500 from nusbaume/paramgen_py12
jedwards4b Oct 18, 2023
741b0e6
Merge pull request #4501 from ESMCI/jgfouca/jenkins_save_timing
jgfouca Oct 19, 2023
89c5b55
Removes requiring an *-only option
jasonb5 Oct 19, 2023
01b7547
Fixes default bless behavior
jasonb5 Oct 20, 2023
df9c720
Adds feature to exclude tests
jasonb5 Oct 20, 2023
5436995
reduce the number of times env_batch is rewriten
jedwards4b Oct 20, 2023
055f35e
Merge pull request #4504 from jedwards4b/reduce_env_batch_updates
jedwards4b Oct 20, 2023
78f15dd
Fixes none value for exclude regex
jasonb5 Oct 23, 2023
9ffded5
Fixes function name
jasonb5 Oct 23, 2023
7050f24
Updates cmake macros
jasonb5 Oct 23, 2023
742547b
Merge pull request #4505 from ESMCI/fix_docker
jasonb5 Oct 24, 2023
0a676db
Merge branch 'master' into fix_bless_test_results
jasonb5 Oct 24, 2023
e47e4c1
Merge pull request #4502 from ESMCI/fix_bless_test_results
jgfouca Oct 24, 2023
eadb638
Fixes pes_file argument
jasonb5 Oct 24, 2023
50f0ada
Fixes create_test pesfile arg
jasonb5 Oct 24, 2023
f50f5f1
Fixes duplicate -g args
jasonb5 Oct 24, 2023
3b878e5
Adds missing checks to THROUGHPUT and MEMCOMP phases
jasonb5 Oct 24, 2023
ae788e8
Fixes memory/throughput check
jasonb5 Oct 24, 2023
b1d3d88
Adds unittests to cover bless_test_results module
jasonb5 Oct 25, 2023
89fa052
Fixes failing test
jasonb5 Oct 25, 2023
7b57911
Merge pull request #4506 from ESMCI/another_bless_test_results_fix
jgfouca Oct 25, 2023
d05da07
Moves skipping message to debug
jasonb5 Oct 27, 2023
a66c75e
Revert "Updates MEMCOMP and TPUTCOMP to DIFF if they're checked and f…
jasonb5 Oct 27, 2023
c6e3442
Updates performance bless to be separate from hist/nml
jasonb5 Oct 27, 2023
2f6d7c1
Updates MEMCOMP and TPUTCOMP to DIFF if they're checked and fail
jasonb5 Sep 20, 2023
9227c53
Updates bless perf flags
jasonb5 Oct 30, 2023
f71bec9
Merge pull request #4507 from ESMCI/yet_another_btr_update
jgfouca Oct 30, 2023
f7868d3
Adds commit hash and date to baseline files
jasonb5 Oct 31, 2023
603b530
Change cam.case_setup.py arguments to accompany changes in script in CAM
lizziel Oct 31, 2023
60d9fdc
Make gpu flags and case env vars visible to MPAS dycore
sjsprecious Nov 2, 2023
a9e1dc2
Add some comments
sjsprecious Nov 2, 2023
8b2e1ae
Merge pull request #4509 from sjsprecious/add_gpu_mpas
jedwards4b Nov 2, 2023
d9e5d3a
Merge pull request #4508 from ESMCI/update_perf_baselines
jgfouca Nov 2, 2023
06fa46a
Add --ignore-namelists to Jenkins scripts
amametjanov Nov 2, 2023
627a3bc
Changes applied by linter (black)
lizziel Nov 3, 2023
403680a
Merge pull request #4510 from ESMCI/jenkins_add_ignore_namelists
jgfouca Nov 3, 2023
dab95c1
Merge pull request #4497 from lizziel/case_setup_commands_for_cam
jedwards4b Nov 6, 2023
500c0df
Fixes separating std and performance blessing
jasonb5 Nov 13, 2023
126b568
Fixes tests
jasonb5 Nov 13, 2023
f5fd575
Merge pull request #4514 from ESMCI/update-perf-btr
jgfouca Nov 14, 2023
bb7022e
Update performance baseline checks
amametjanov Nov 18, 2023
952b815
srt pass
jedwards4b Nov 23, 2023
44f038c
add cprnc checkout
jedwards4b Nov 28, 2023
b0121c6
add cprnc checkout
jedwards4b Nov 28, 2023
0572ee5
add cprnc checkout
jedwards4b Nov 28, 2023
e681c94
need to get cprnc in container
jedwards4b Nov 28, 2023
5639672
need to add CMAKE_Fortran_FLAGS to Makefile
jedwards4b Nov 28, 2023
58943e8
correct cprnc directory
jedwards4b Nov 28, 2023
82149a6
Updates cprnc buildlib to check /externals for source
jasonb5 Dec 1, 2023
2c54a32
Removes cprnc clone to ensure each module correctly uses their own me…
jasonb5 Dec 1, 2023
c73d5be
Adds cprnc as submodule
jasonb5 Dec 1, 2023
3654a9c
try this
jedwards4b Dec 1, 2023
2530fe4
need this in init_cime too
jedwards4b Dec 1, 2023
aa30ec6
Adds cprnc submodule
jasonb5 Dec 1, 2023
e367c84
Updates init_e3sm to recursively init submodules
jasonb5 Dec 1, 2023
4425304
Fixes running checkout_externals in init_cime
jasonb5 Dec 1, 2023
686acf2
Updates container entrypoint.sh
jasonb5 Dec 2, 2023
1c9bfb5
Merge branch 'remove_cprnc' of https://github.com/jedwards4b/cime int…
jasonb5 Dec 2, 2023
cef9f89
Fixes black formatting
jasonb5 Dec 2, 2023
7c7b914
use cprnc as a submodule
jedwards4b Dec 2, 2023
1951091
Updates entrypoint.sh
jasonb5 Dec 2, 2023
4092e2f
Temporarily replace checkout_externals
jasonb5 Dec 2, 2023
35e15b0
Fixes clone cprnc after its been already present from submodule
jasonb5 Dec 2, 2023
d6a3da2
fix for test_gen_domain
jedwards4b Dec 4, 2023
1c7eda6
Merge pull request #4522 from jedwards4b/remove_cprnc
jedwards4b Dec 4, 2023
ef22a0c
Return latest value in read_baseline_file
amametjanov Dec 4, 2023
527012d
Merge branch 'master' into azamat/baselines/update-perf-info
jasonb5 Dec 5, 2023
ce0ae65
Fixes customizing baselines
jasonb5 Dec 5, 2023
4cd48d4
allow an external install of the mpi-serial library
jedwards4b Dec 6, 2023
5b8788b
currently only reads the first Macros file found, this fixes that so …
jedwards4b Dec 6, 2023
ea369e9
Merge pull request #4520 from ESMCI/azamat/baselines/update-perf-info
jgfouca Dec 6, 2023
4d70147
Fixes passing compiler/comp-interace to run_tests.py
jasonb5 Dec 6, 2023
68742fa
Fixes loading model customize earlier
jasonb5 Dec 6, 2023
de51de3
Stop running cpl7 unit tests
billsacks Dec 6, 2023
263a8ba
No longer build mct for unit tests
billsacks Dec 6, 2023
f10d656
Revert PR 4497
fischer-ncar Dec 7, 2023
da8b4d7
Merge pull request #4537 from ESMCI/fischer/revert_4497
fischer-ncar Dec 7, 2023
de9a478
more changes for mpi-serial
jedwards4b Dec 7, 2023
f7d44bb
Merge pull request #4536 from billsacks/remove_cpl7_unit_tests
billsacks Dec 7, 2023
dee0cb9
fix submodule reference for cprnc
jedwards4b Dec 11, 2023
1a4f1e3
Merge pull request #4535 from jedwards4b/fix_test_sys_unittest.py
jedwards4b Dec 11, 2023
178b3a9
Merge pull request #4533 from jedwards4b/mpi_serial_bld_updates
jedwards4b Dec 11, 2023
cf6b3f0
Update to latest cprnc
jgfouca Dec 11, 2023
2ec465c
Merge pull request #4543 from ESMCI/jgfouca/update_cprnc
jedwards4b Dec 12, 2023
4ba6edd
Update cprnc submodule
jgfouca Dec 13, 2023
d68b8af
remove SMP_PRESENT and replace with BUILD_THREADED
jedwards4b Dec 14, 2023
1aea617
Merge pull request #4545 from ESMCI/jgfouca/update_cprnc_main
jgfouca Dec 15, 2023
a637ec7
v3 machines now working
jedwards4b Dec 11, 2023
ba073b7
v3 machines now working
jedwards4b Dec 11, 2023
7bd7522
remove cori from tests, fix unassigned var error
jedwards4b Dec 11, 2023
0865769
remove cori from tests, fix unassigned var error
jedwards4b Dec 11, 2023
059f36d
v3 list available
jedwards4b Dec 11, 2023
a58a5d6
add config_machines_version3 schema file
jedwards4b Dec 12, 2023
b88cdb1
remove bad debug print
jedwards4b Dec 12, 2023
320ff28
another debug print statement
jedwards4b Dec 12, 2023
561f19c
better error check
jedwards4b Dec 12, 2023
a449611
fix schema for v2
jedwards4b Dec 12, 2023
463b11e
fix schema for v2
jedwards4b Dec 12, 2023
d32b0d5
add documentation of schema variable
jedwards4b Dec 13, 2023
4e1bd76
cprnc subm
jgfouca Dec 15, 2023
102d408
Merge pull request #4542 from jedwards4b/reformat_config_machines
jedwards4b Dec 15, 2023
1c3b5c5
update externals for github testing
jedwards4b Dec 15, 2023
851fd12
Merge branch 'master' into replace_smp_present
jedwards4b Dec 15, 2023
cf3140d
need to merge to master
jedwards4b Dec 15, 2023
8b6381e
quit testing cesm with mct
jedwards4b Dec 15, 2023
826ef6f
try this
jedwards4b Dec 15, 2023
40d776e
userdefined_laptop_template is not a real machine
jedwards4b Dec 19, 2023
1621a03
remove NODENAME_REGEX from test
jedwards4b Dec 20, 2023
bcb77f9
fix some tests
jedwards4b Dec 20, 2023
1f38577
just update externals
jedwards4b Dec 20, 2023
93851a0
Merge pull request #4550 from jedwards4b/update_externals
jedwards4b Dec 20, 2023
d7ff4a4
need to update share tag
jedwards4b Dec 20, 2023
995b297
Merge branch 'update_externals' into replace_smp_present
jedwards4b Dec 20, 2023
ba27067
Fixes CIME Externals.cfg for all CESM testing
jasonb5 Dec 20, 2023
db2597c
Fixes cancelling system tests when a model/driver fails
jasonb5 Dec 20, 2023
7e9df5f
Merge pull request #4546 from jedwards4b/replace_smp_present
jedwards4b Dec 21, 2023
02fa602
Re-add newcase setup to create_clone
jgfouca Jan 3, 2024
58b7cab
Call case2 setup in system_tests_compare_two
jgfouca Jan 3, 2024
14fd58b
Merge pull request #4557 from ESMCI/jgfouca/fix_clone_test_cases
jgfouca Jan 3, 2024
3a4dcdc
Fix .env_mach_specific.sh when unsetting env
jgfouca Jan 4, 2024
9dd4fe5
Merge pull request #4558 from ESMCI/jgfouca/fix_env_mach_spec_del_env
jgfouca Jan 4, 2024
591b8f4
addition of dglc
mvertens Mar 22, 2024
c783cc7
Merge branch 'master' into feature/add_dglc
Mar 24, 2024
df0411f
restored original Makefile
Mar 28, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/workflows/container.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: container build/publish

on:
push:
branches:
- master
paths:
- 'docker/**'

pull_request:
branches:
- master
paths:
- 'docker/**'

workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

jobs:
# Only build container if there has been a change.
build-containers:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: ghcr.io/ESMCI/cime
flavor: |
latest=auto
tags: |
type=sha
- name: Build and push
uses: docker/build-push-action@v3
with:
target: base
context: docker/
push: ${{ github.event_name == 'push' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=gha
cache-to: type=gha,mode=max
79 changes: 37 additions & 42 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,36 +4,55 @@ on:
push:
branches:
- master
paths:
- 'doc/**'

pull_request:
branches:
- master
paths:
- 'doc/**'

workflow_dispatch:

permissions:
contents: read
jobs:
check-changes:
name: Check for changes to documentation
cleanup:
permissions:
contents: write # for git push
name: Cleanup branch previews
runs-on: ubuntu-latest
outputs:
any_changed: ${{ steps.changed-check.outputs.any_changed }}
if: ${{ github.event_name == 'push' }}
steps:
- uses: actions/checkout@v3
with:
ref: 'gh-pages'
fetch-depth: 0
lfs: true
- uses: tj-actions/changed-files@v32
id: changed-check
with:
files: doc
path: gh-pages
- name: Remove branch previews
run: |
pushd $GITHUB_WORKSPACE/gh-pages

for name in `ls branch/`
do
if [[ -z "$(git show-ref --quiet ${name})" ]]
then
git rm -rf branch/${name}
fi
done

git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
git commit -m "Clean up branch previews"
git push
build-and-deploy:
permissions:
contents: write # for peaceiris/actions-gh-pages to push
pull-requests: write # to comment on pull requests
needs: check-changes
if: |
needs.check-changes.outputs.any_changed == 'true' &&
github.event.pull_request.head.repo.full_name == github.repository
needs: cleanup
if: ${{ always() }}
name: Build and deploy documentation
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -61,7 +80,9 @@ jobs:
run: |
make BUILDDIR=${PWD}/_build -C doc/ html
- name: Push PR preview
if: ${{ github.event_name == 'pull_request' }}
if: |
github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.full_name == github.repository
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{secrets.GITHUB_TOKEN}}
Expand All @@ -70,7 +91,9 @@ jobs:
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
- name: Comment about previewing documentation
if: ${{ github.event_name == 'pull_request' }}
if: |
github.event_name == 'pull_request' &&
github.event.pull_request.head.repo.full_name == github.repository
uses: actions/github-script@v6
with:
script: |
Expand Down Expand Up @@ -99,31 +122,3 @@ jobs:
destination_dir: './versions/master/html'
user_name: 'github-actions[bot]'
user_email: 'github-actions[bot]@users.noreply.github.com'
cleanup:
permissions:
contents: write # for git push
needs: build-and-deploy
name: Cleanup branch previews
runs-on: ubuntu-latest
if: ${{ github.event_name == 'push' }}
steps:
- uses: actions/checkout@v3
with:
ref: 'gh-pages'
fetch-depth: 0
lfs: true
- name: Remove branch previews
run: |
for name in `ls branch/`
do
if [[ -z "$(git show-ref --quiet ${name})" ]]
then
git rm -rf branch/${name}
fi
done
- name: Commit and push local changes to gh-pages
run: |
git config user.name github-actions[bot]
git config user.email github-actions[bot]@users.noreply.github.com
git commit -m "Clean up branch previews"
git push
24 changes: 24 additions & 0 deletions .github/workflows/stale.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: 'Close stale issues and PRs'
on:
schedule:
# Run every day at 1:30AM
- cron: '30 1 * * *'
jobs:
stale:
permissions:
issues: write
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v8
with:
stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
close-issue-message: 'This issue was closed because it has been stalled for 5 days with no activity.'
days-before-stale: 90
days-before-close: 5
days-before-pr-close: -1
# Issues with this label are exempt from being checked if they are stale...
exempt-issue-labels: Low Priority
# Below are currently defaults, but given in case we decide to change
operations-per-run: 30
stale-issue-label: Stale
close-issue-reason: not_planned
96 changes: 36 additions & 60 deletions .github/workflows/testing.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,30 @@ on:
push:
branches:
- master
paths:
- 'CIME/**'
- 'scripts/**'
- 'tools/**'
- 'utils/**'

pull_request:
branches:
- master
paths:
- 'CIME/**'
- 'scripts/**'
- 'tools/**'
- 'utils/**'

workflow_dispatch:

concurrency:
group: ${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read # to fetch code (actions/checkout)
packages: read

jobs:
pre-commit:
Expand All @@ -39,67 +52,18 @@ jobs:

pre-commit run -a

# Check if there has been a change to any file under docker/
get-docker-changes:
runs-on: ubuntu-latest
outputs:
any_changed: ${{ steps.get-changed-files.outputs.any_changed }}
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 2
- name: Get changed files
id: get-changed-files
uses: tj-actions/changed-files@v29
with:
files: docker

# Only build container if there has been a change.
build-containers:
runs-on: ubuntu-latest
needs: get-docker-changes
if: ${{ needs.get-docker-changes.outputs.any_changed == 'true' }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up QEMU
uses: docker/setup-qemu-action@v2
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v4
with:
images: jasonb87/cime
tags: |
type=raw,value=latest
type=sha,prefix={{ date 'YYYYMMDD' }}_,format=short
- name: Build and push
uses: docker/build-push-action@v3
with:
target: base
context: docker/
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
cache-from: type=registry,ref=jasonb87/cime:buildcache
cache-to: type=registry,ref=jasonb87/cime:buildcache,mode=max

# Runs unit testing under different python versions.
unit-testing:
runs-on: ubuntu-latest
needs: build-containers
if: ${{ always() && ! cancelled() }}
container: jasonb87/cime:latest
container:
image: ghcr.io/esmci/cime:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
strategy:
matrix:
python-version: [3.7, 3.8, 3.9]
python-version: ['3.8', '3.9', '3.10']
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand All @@ -108,7 +72,7 @@ jobs:
env:
INIT: "false"
CIME_MODEL: "cesm"
CIME_DRIVER: "mct"
CIME_DRIVER: "nuopc"
UPDATE_CIME: "true"
GIT_SHALLOW: "true"
CIME_TEST_PLATFORM: ubuntu-latest
Expand All @@ -125,22 +89,30 @@ jobs:

init_cime

pytest -vvv --machine docker --no-fortran-run CIME/tests/test_unit*
pytest -vvv --cov=CIME --machine docker --no-fortran-run CIME/tests/test_unit*

# Run system tests
system-testing:
runs-on: ubuntu-latest
needs: build-containers
if: ${{ always() && ! cancelled() }}
container: jasonb87/cime:latest
container:
image: ghcr.io/esmci/cime:latest
credentials:
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
strategy:
# allow all jobs to finish
fail-fast: false
matrix:
model: ["e3sm", "cesm"]
driver: ["mct", "nuopc"]
exclude:
# exclude nuopc driver when running e3sm tests
- model: "e3sm"
driver: "nuopc"
# exclude mct driver when running cesm tests
- model: "cesm"
driver: "mct"
steps:
- name: Checkout code
uses: actions/checkout@v2
Expand Down Expand Up @@ -174,15 +146,19 @@ jobs:
init_cime
fi

# Get cprnc
# git clone https://github.com/ESMCI/cprnc $INSTALL_PATH/CIME/non_py/cprnc
source /opt/conda/etc/profile.d/conda.sh

conda activate base

pytest -vvv --machine docker --no-fortran-run --no-teardown CIME/tests/test_sys*
pytest -vvv --cov=CIME --machine docker --no-fortran-run --no-teardown CIME/tests/test_sys*
- name: Create testing log archive
if: ${{ failure() }}
shell: bash
run: tar -czvf /testing-logs-${GITHUB_RUN_NUMBER}.tar.gz /storage/cases/
# How to download artifacts:
# https://docs.github.com/en/actions/managing-workflow-runs/downloading-workflow-artifacts
- name: Upload testing logs
if: ${{ failure() }}
uses: actions/upload-artifact@v3
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,3 +26,4 @@ scripts/Tools/JENKINS*
components
libraries
share
test_coverage/**
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "CIME/non_py/cprnc"]
path = CIME/non_py/cprnc
url = [email protected]:ESMCI/cprnc
Loading
Loading