Collection associations can be overwritten if made while release branch is opened
Closed this issue · 3 comments
This happened recently. The timeline was:
- 5/25 Release branch 1.5.0 created
- 5/27 UMM-S collection association for CYGNSS_NOAA_L2_SWSP_25KM_V1.2 was made, and committed to develop branch (via automated workflow)
- 5/31 1.5.0 released. Upon merge to main branch, collection associations in CMR are overwritten with values in ops_collection.txt
This means the association made on 5/27 was overwritten after release. A solution might be:
a. Pull collection association changes into release branch before release OR
b. Update CMR umm updater to not overwrite existing UMM-S collection associations
The preferred solution would probably be (b), but (a) works as a workaround for now.
Investigation result:
- The jenkinsfile: podaac-tutorial / jenkins / Jenkinsfile
The file only contains the remove association command on the collections that are in the uat/ops_failed.txt
The remove association command just calls the delete from requests, no update or anything happens there. - The jupyter notebook: podaac-tutorial / notebooks / test_notebooks / harmony_l2_subsetter_test.ipynb
Based on my understanding this test only compares the current and expected data.
Did not found any indication for updating the information of the association.
Conclusion:
The test does not have any code in it, that will overwrite / update the existing collection data in CMR.
That can be done by a user, so option (b) looks invalid.
The only place I found that could overwrite the CMR UMM-S data is:
podaac / l2ss-py / .github / workflows / build-pipeline.yml
Line 130 - name: Publish UMM-S with new version
Executes only on release
Crazy thought, what if the pipeline making changes to uat_associations.txt
and ops_associations.txt
committed the changes directly to master
instead of develop?
That would force a merge prior to release going to master
We'd have to skip the triggered build when that commit is pushed to master so a new version doesn't get published
The pipeline would have to run the diff against the contents of master
instead of develop
This regression/auto-testing has been moved to a unique repository https://github.com/podaac/l2ss-py-autotest
This issue is no longer relevant.