Skip to content

Commit f33b563

Browse files
committed
Changes to test 20260126
1 parent 6b42def commit f33b563

File tree

3 files changed

+56
-214
lines changed

3 files changed

+56
-214
lines changed

tests/integration/utils.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ def get_chyrsalis_expansions(config):
6363
"constraint": "",
6464
"diags_walltime": "5:00:00",
6565
"expected_dir": "/lcrc/group/e3sm/public_html/zppy_test_resources/",
66-
"mpas_analysis_walltime": "02:00:00",
66+
"mpas_analysis_walltime": "00:30:00",
6767
"partition_long": "compute",
6868
"partition_short": "debug",
6969
# This differs from the default path /lcrc/group/e3sm/diagnostics/observations/Atm/climatology

tests/main_branch_testing/README.md

Lines changed: 13 additions & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -8,48 +8,13 @@ This automation system streamlines the zppy integration testing workflow, reduci
88
```bash
99
./run_integration_test.bash
1010
```
11-
This will:
12-
- Use today's date as the test identifier
13-
- Stop at checkpoints for you to verify
14-
- Set up all environments from scratch
15-
- Run the complete test suite
16-
17-
### Fully Automated Mode
18-
```bash
19-
./run_integration_test.bash --auto
20-
```
21-
Runs end-to-end without stopping (suitable for CI or overnight runs).
22-
23-
### Custom Date Stamp
24-
```bash
25-
./run_integration_test.bash --date 20260123
26-
```
27-
28-
### Resume from Specific Phase
29-
```bash
30-
# If Phase 1 completed but you need to re-run Phase 2
31-
./run_integration_test.bash --phase 2 --date 20260123
32-
```
33-
34-
## Complete Options
35-
36-
```
37-
./run_integration_test.bash [OPTIONS]
38-
39-
Options:
40-
--date YYYYMMDD Date stamp for test (default: today)
41-
--auto Run fully automated (no checkpoints)
42-
--phase N Start from phase N (1=setup, 2=bundles_part2, 3=validation)
43-
--help Show help message
44-
```
4511

4612
## Workflow Phases
4713

4814
### Phase 1: Setup (~2-4 hours including SLURM wait)
4915
- Sets up e3sm_diags conda environment
5016
- Sets up zppy-interfaces conda environment
5117
- Sets up zppy conda environment
52-
- Applies optional cherry-pick
5318
- Generates config files
5419
- Submits initial SLURM jobs (6 configs)
5520
- Waits for jobs to complete
@@ -84,28 +49,6 @@ salloc --nodes=1 --partition=debug --time=02:00:00 --account=e3sm
8449
./run_image_tests.bash --date 20260123 --auto
8550
```
8651

87-
## Common Workflows
88-
89-
### Full Test with Custom Date
90-
```bash
91-
# Interactive mode with checkpoints
92-
./run_integration_test.bash --date 20260123
93-
94-
# When prompted, allocate compute node for images:
95-
salloc --nodes=1 --partition=debug --time=02:00:00 --account=e3sm
96-
./run_image_tests.bash --date 20260123
97-
```
98-
99-
### Overnight Automated Run
100-
```bash
101-
# Start before leaving for the day
102-
nohup ./run_integration_test.bash --auto --date 20260123 > test_run.log 2>&1 &
103-
104-
# Next morning, run image tests manually
105-
salloc --nodes=1 --partition=debug --time=02:00:00 --account=e3sm
106-
./run_image_tests.bash --date 20260123
107-
```
108-
10952
## Output and Logs
11053

11154
The script provides color-coded output:
@@ -129,16 +72,6 @@ Automatically checks for errors in status files:
12972
...
13073
```
13174

132-
## Environment Variables
133-
134-
You can set these before running the script:
135-
136-
```bash
137-
export DATE_STAMP=20260123
138-
export UNIQUE_ID="custom_test_id"
139-
./run_integration_test.bash
140-
```
141-
14275
## Customization
14376

14477
### Modify Test Configurations
@@ -164,51 +97,27 @@ wait_for_slurm_jobs 30 14400 # 30s interval, 4hr max
16497
wait_for_slurm_jobs 30 3600 # 30s interval, 1hr max
16598
```
16699

167-
### Add Custom Checks
168-
169-
Add your own validation in `phase_3_validation()`:
170-
171-
```bash
172-
# Custom validation example
173-
log "Running custom checks..."
174-
if [ -f "$ZPPY_DIR/my_custom_check.bash" ]; then
175-
bash "$ZPPY_DIR/my_custom_check.bash"
176-
fi
177-
```
178-
179100
## Troubleshooting
180101

181102
### Script Exits Early
182103
Check the error message. The script uses `set -e`, so it exits on any error.
183104

184105
### Jobs Don't Complete
185-
- Check SLURM queue: `squeue -u ac.forsyth2`
106+
- Check SLURM queue: `squeue -u <user>`
186107
- Check job logs in the output directories
187108
- Increase timeout: edit `wait_for_slurm_jobs` calls
188109

189110
### Environment Issues
190111
```bash
191112
# Clean and rebuild
192-
conda remove --y --all --name test-diags-main-20260123
193-
conda remove --y --all --name test-zi-main-20260123
194-
conda remove --y --all --name test-zppy-main-20260123-env
113+
conda remove --y --all --name test-diags-main-YYMMDD
114+
conda remove --y --all --name test-zi-main-YYMMDD
115+
conda remove --y --all --name test-zppy-main-YYMMDD
195116

196-
# Re-run
197-
./run_integration_test.bash --date 20260123
198-
```
199-
200-
### Git Issues
201-
```bash
202-
# If git operations fail, manually clean up:
203-
cd ~/ez/zppy
204-
git reset --hard upstream/main
205-
git clean -fd
206-
./run_integration_test.bash --date 20260123
117+
# Check configurations and then re-run
118+
./run_integration_test.bash
207119
```
208120

209-
### Checkpoint Issues in Auto Mode
210-
The script will proceed automatically but log warnings. Review logs after completion.
211-
212121
## Files Created
213122

214123
```
@@ -223,40 +132,12 @@ The script will proceed automatically but log warnings. Review logs after comple
223132
└── test_images_summary.md
224133
225134
/lcrc/group/e3sm/ac.forsyth2/
226-
├── zppy_weekly_bundles_output/zppy_main_branch_test_YYYYMMDD/
227-
├── zppy_weekly_comprehensive_v2_output/zppy_main_branch_test_YYYYMMDD/
228-
├── zppy_weekly_comprehensive_v3_output/zppy_main_branch_test_YYYYMMDD/
229-
└── zppy_weekly_legacy_3.0.0_*/zppy_main_branch_test_YYYYMMDD/
135+
├── zppy_weekly_bundles_output/zppy_main_branch_test_YYYYMMDD_run1/
136+
├── zppy_weekly_comprehensive_v2_output/zppy_main_branch_test_YYYYMMDD_run1/
137+
├── zppy_weekly_comprehensive_v3_output/zppy_main_branch_test_YYYYMMDD_run1/
138+
└── zppy_weekly_legacy_3.0.0_*/zppy_main_branch_test_YYYYMMDD_run1/
230139
```
231140

232-
## Tips
233-
234-
1. **Use descriptive date stamps**: Instead of the current date, use a meaningful identifier like `20260123_bugfix` or `20260123_pr769`
235-
236-
2. **Run overnight**: The full test takes 2-4 hours. Start it before leaving:
237-
```bash
238-
nohup ./run_integration_test.bash --auto > test.log 2>&1 &
239-
```
240-
241-
3. **Keep logs**: Redirect output to files for later review:
242-
```bash
243-
./run_integration_test.bash --auto 2>&1 | tee test_$(date +%Y%m%d).log
244-
```
245-
246-
4. **Parallel testing**: Run different date stamps to test multiple branches:
247-
```bash
248-
./run_integration_test.bash --date 20260123_main &
249-
./run_integration_test.bash --date 20260123_feature --cherry-pick abc123 &
250-
```
251-
252-
## Support
253-
254-
For issues or questions:
255-
1. Check the troubleshooting section above
256-
2. Review the script output for error messages
257-
3. Check SLURM logs in the output directories
258-
4. Contact the zppy development team
259-
260141
## Example run
261142

262143
```bash
@@ -268,14 +149,14 @@ git status
268149
cd ~/ez/zppy
269150
git status
270151

271-
cd /home/ac.forsyth2/ez/zppy_main_branch_tests/test_20260123
152+
cd /home/ac.forsyth2/ez/zppy_main_branch_tests/test_20260126
272153
cp ~/ez/zppy/tests/main_branch_testing/* . # Copy, so the script isn't affected by the branch change
273154
emacs run_integration_test.bash # Configure parameters
274155

275156
screen # Run on screen
276-
cd /home/ac.forsyth2/ez/zppy_main_branch_tests/test_20260123 # If not there already
157+
cd /home/ac.forsyth2/ez/zppy_main_branch_tests/test_20260126 # If not there already
277158
# Bypass manual checkpoints, tee output:
278-
time ./run_integration_test.bash --date 20260123_run1 --auto 2>&1 | tee integration_test.log
159+
time ./run_integration_test.bash --date 20260126_run1 --auto 2>&1 | tee integration_test.log
279160
# CTRL A D to exit screen
280161
screen -ls # Check which node the screen is on.
281162
tail -f integration_test.log # Follow log updates

0 commit comments

Comments
 (0)