Skip to content

Scheduled Checks (schedule) #9

Scheduled Checks (schedule)

Scheduled Checks (schedule) #9

GitHub Actions / Repro Test Results failed Dec 5, 2024 in 0s

2 fail in 8m 15s

2 tests   0 ✅  8m 15s ⏱️
1 suites  0 💤
1 files    2 ❌

Results for commit ed1675d.

Annotations

Check warning on line 0 in test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility

See this annotation in the file changed.

@github-actions github-actions / Repro Test Results

test_bit_repro_historical (test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility) failed

/opt/testing/checksum/test_report.xml [took 2m 3s]
Raw output
assert False
 +  where False = output_exists()
 +    where output_exists = <model_config_tests.models.accessom2.AccessOm2 object at 0x7f41ba6ffb50>.output_exists
 +      where <model_config_tests.models.accessom2.AccessOm2 object at 0x7f41ba6ffb50> = <model_config_tests.exp_test_helper.ExpTestHelper object at 0x7f41be5c1930>.model
self = <model_config_tests.test_bit_reproducibility.TestBitReproducibility object at 0x7f41bad7eda0>
output_path = PosixPath('/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d')
control_path = PosixPath('/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d/base-experiment')
checksum_path = PosixPath('/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d/compared/testing/checksum/historical-3hr-checksum.json')

    @pytest.mark.checksum
    def test_bit_repro_historical(
        self, output_path: Path, control_path: Path, checksum_path: Path
    ):
        """
        Test that a run reproduces historical checksums
        """
        # Setup checksum output directory
        # NOTE: The checksum output file is used as part of `repro-ci` workflows
        output_dir = output_path / "checksum"
        output_dir.mkdir(parents=True, exist_ok=True)
        checksum_output_file = output_dir / "historical-3hr-checksum.json"
        if checksum_output_file.exists():
            checksum_output_file.unlink()
    
        # Setup and run experiment
        exp = setup_exp(control_path, output_path, "test_bit_repro_historical")
        exp.model.set_model_runtime()
        exp.setup_and_run()
    
>       assert exp.model.output_exists()
E       assert False
E        +  where False = output_exists()
E        +    where output_exists = <model_config_tests.models.accessom2.AccessOm2 object at 0x7f41ba6ffb50>.output_exists
E        +      where <model_config_tests.models.accessom2.AccessOm2 object at 0x7f41ba6ffb50> = <model_config_tests.exp_test_helper.ExpTestHelper object at 0x7f41be5c1930>.model

../test-venv/lib/python3.10/site-packages/model_config_tests/test_bit_reproducibility.py:36: AssertionError

Check warning on line 0 in test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility

See this annotation in the file changed.

@github-actions github-actions / Repro Test Results

test_restart_repro (test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility) failed

/opt/testing/checksum/test_report.xml [took 6m 9s]
Raw output
FileNotFoundError: [Errno 2] No such file or directory: '/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d/lab/archive/test_restart_repro_2x1day/output000/access-om2.out'
self = <model_config_tests.test_bit_reproducibility.TestBitReproducibility object at 0x7f41bad7f100>
output_path = PosixPath('/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d')
control_path = PosixPath('/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d/base-experiment')

    @pytest.mark.checksum
    def test_restart_repro(self, output_path: Path, control_path: Path):
        """
        Test that a run reproduces across restarts.
        """
        # First do two short (1 day) runs.
        exp_2x1day = setup_exp(control_path, output_path, "test_restart_repro_2x1day")
    
        # Reconfigure to a 1 day run.
        exp_2x1day.model.set_model_runtime(seconds=86400)
    
        # Now run twice.
        exp_2x1day.setup_and_run()
        exp_2x1day.force_qsub_run()
    
        # Now do a single 2 day run
        exp_2day = setup_exp(control_path, output_path, "test_restart_repro_2day")
        # Reconfigure
        exp_2day.model.set_model_runtime(seconds=172800)
    
        # Run once.
        exp_2day.setup_and_run()
    
        # Now compare the output between our two short and one long run.
>       checksums_1d_0 = exp_2x1day.extract_checksums()

../test-venv/lib/python3.10/site-packages/model_config_tests/test_bit_reproducibility.py:109: 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
../test-venv/lib/python3.10/site-packages/model_config_tests/exp_test_helper.py:47: in extract_checksums
    return self.model.extract_checksums(output_directory, schema_version)
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 

self = <model_config_tests.models.accessom2.AccessOm2 object at 0x7f41ba5b7700>
output_directory = None, schema_version = None

    def extract_checksums(
        self, output_directory: Path = None, schema_version: str = None
    ) -> dict[str, Any]:
        """Parse output file and create checksum using defined schema"""
        if output_directory:
            output_filename = output_directory / "access-om2.out"
        else:
            output_filename = self.output_file
    
        # Regex pattern for checksums in the `<model>.out` file
        # Examples:
        # [chksum] ht              -2390360641069121536
        # [chksum] hu               6389284661071183872
        # [chksum] htr               928360042410663049
        pattern = r"\[chksum\]\s+(.+)\s+(-?\d+)"
    
        # checksums outputted in form:
        # {
        #   "ht": ["-2390360641069121536"],
        #   "hu": ["6389284661071183872"],
        #   "htr": ["928360042410663049"]
        # }
        # with potential for multiple checksums for one key.
        output_checksums: dict[str, list[any]] = defaultdict(list)
    
>       with open(output_filename) as f:
E       FileNotFoundError: [Errno 2] No such file or directory: '/scratch/tm70/repro-ci/experiments/access-om2-configs/26432df43f45e4e0bae676507cd28b438178359d/lab/archive/test_restart_repro_2x1day/output000/access-om2.out'

../test-venv/lib/python3.10/site-packages/model_config_tests/models/accessom2.py:66: FileNotFoundError

Check notice on line 0 in .github

See this annotation in the file changed.

@github-actions github-actions / Repro Test Results

2 tests found

There are 2 tests, see "Raw output" for the full list of tests.
Raw output
test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility ‑ test_bit_repro_historical
test-venv.lib.python3.10.site-packages.model_config_tests.test_bit_reproducibility.TestBitReproducibility ‑ test_restart_repro