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

use dynamic memory allocation for all builds, and remove _DA suffix #155

Merged
merged 4 commits into from
Aug 20, 2021

Conversation

jbathegit
Copy link
Collaborator

Fixes #77

This is a prerequisite for task #78, so that we eventually only have to build one version of the library. As part of this update, a number of *.F routines no longer require any preprocessing and therefore have now been moved to *.f or *.f90 names.

The problem I'm having is that all of the Python tests are failing, but that's a known issue that pre-dates this PR (see #135) and is therefore unrelated to these changes.

@aerorahul could you please help me to figure out why the Python tests are no longer working?

@kgerheiser
Copy link
Contributor

I would recommend adding --output-on-failure to ctest so you can see what the errors are. I'll put in a PR.

@jbathegit
Copy link
Collaborator Author

Thanks @kgerheiser for the suggestion and PR!

So the failure(s) are now saying:
Traceback (most recent call last):
File "/home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/python/test/test_checkpoint.py", line 2, in
import ncepbufr
ModuleNotFoundError: No module named 'ncepbufr'

@jbathegit
Copy link
Collaborator Author

I'm wondering why did that work previously, but not now?

@edwardhartnett
Copy link
Contributor

Wow this is a considerable simplification! Nice work. When we get down to only one library it will be even simpler...

@jbathegit
Copy link
Collaborator Author

I did some more digging and found two lines in python/setup.py.in that were still pointing to the _4_DA build. I've reverted those back to _4 now and we'll see if that fixes it...

@jbathegit
Copy link
Collaborator Author

So now the main.yml tasks are working, but the main_new.yml tasks (for the code coverage) aren't working, which is the exact opposite of what we saw before. Here's what the upload-artifact step is showing:

Run actions/upload-artifact@v2
with:
name: test-coverage
path: bufr/build/*.html
if-no-files-found: warn
env:
FC: gfortran-10
CC: gcc-10
With the provided path, there will be 268 files uploaded
Error: Unexpected response. Unable to upload chunk to https://pipelines.actions.githubusercontent.com/QCZondvhs1qS4vPTx8Z7shARLaFCUqoYbCWNYULz8QxSUVcZmF/_apis/resources/Containers/14479178?itemPath=test-coverage%2Ftest-coverage.bvers.f.04afe2841f19af69af3b8c9be888e136.html

Begin Diagnostic HTTP information

Status Code: 408
Status Message: Request Timeout
Header Information: {
"content-type": "application/json",
"strict-transport-security": "max-age=2592000",
"x-tfs-processid": "15646812-9d62-492b-a2de-b88807a1ea5f",
"activityid": "966583a7-d7d3-44bc-a21a-dc9582061619",
"x-tfs-session": "966583a7-d7d3-44bc-a21a-dc9582061619",
"x-vss-e2eid": "966583a7-d7d3-44bc-a21a-dc9582061619",
"x-vss-senderdeploymentid": "13a19993-c6bc-326c-afb4-32c5519f46f0",
"x-tfs-serviceerror": "The+request+has+been+canceled%3a+Client+disconnected..",
"x-cache": "CONFIG_NOCACHE",
"x-msedge-ref": "Ref A: 0E7D4EAC6BC44479B95EE8A1FC09D61F Ref B: PHL30EDGE0208 Ref C: 2021-08-18T17:46:28Z",
"date": "Wed, 18 Aug 2021 17:46:28 GMT",
"content-length": "0"
}

End Diagnostic HTTP information

Warning: Aborting upload for /home/runner/work/NCEPLIBS-bufr/NCEPLIBS-bufr/bufr/build/test-coverage.bvers.f.04afe2841f19af69af3b8c9be888e136.html due to failure
Error: aborting artifact upload
Total size of all the files uploaded is 69704 bytes
Finished uploading artifact test-coverage. Reported size is 69704 bytes. There were 255 items that failed to upload
Error: An error was encountered when uploading test-coverage. There were 255 items that failed to upload.

@edwardhartnett or @aerorahul , any ideas? If we can figure this out then maybe we can also close #135 ;-)

@jbathegit
Copy link
Collaborator Author

Interestingly, the code coverage task for the push process just finished successfully, even though it failed previously on the pull_request process. Does that make any sense? Maybe just a temporary connection glitch?

If you want I can try rerunning the checks(?)

@jbathegit
Copy link
Collaborator Author

So I went ahead and re-ran the failed check, and it now runs to completion successfully. Go figure!?

@jbathegit
Copy link
Collaborator Author

Hi @edwardhartnett and @aerorahul. Could at least one of you please review this, and either approve or let me know if you have any further suggestions for improvement? I've also added @jack-woollen in case he may be able to help.

Just FYI, I've got a separate update ready which should take care of the few remaining GNU compiler warnings for this library, but I'd like to get this PR squared away first.

Copy link
Contributor

@aerorahul aerorahul left a comment

Choose a reason for hiding this comment

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

Looks good to me, although I did not review each file carefully.

In a future PR, why not just move all .f to .f90 and where appropriate .F to .F90 or .f90 if there is no preprocessor involved.

No one is using g77 to compile this code anymore.

@jbathegit jbathegit merged commit e4a4773 into develop Aug 20, 2021
@jbathegit jbathegit deleted the jba_noDA branch August 20, 2021 16:03
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.

Transition to DA build only
4 participants