@@ -8,64 +8,89 @@ title: Updating sbnd data
88Updating sbnd data
99========================================================
1010
11- - sbnd\_ data is not version controlled by git so everything is much
12- more difficult.
13- - There are two ways to treat sbnd\_ data to make life a little easier
14-
15-
16-
17- Current version can be updated
18- --------------------------------------------------------------------------------
19-
20- - If new files or directories need to be added the current version can
21- be updated as it will still contain all previous files and be
22- backwards compatible.
23-
24- - Log in to < sbnd@sbndgpvm01.fnal.gov >
25-
26- - You can write directly to /grid/fermiapp/products/sbnd/sbnd\_ data/\<
27- version \>
28-
29- - This directory isn\' t version controlled so be careful!
30-
31- - Make note of any added file or directories in the relevant ` CHANGES `
32- files.
33-
34- - Log out of < sbnd@sbndgpvm01.fnal.gov > and into
35- < cvmfssbnd@oasiscfs.fnal.gov >
36-
37- - Start a transaction
38-
39- - rsync the directories\
40-
41- rsync -r < user >@sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/< version >* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/
11+ - As of Fall 2025, sbnd\_ data is now version controlled by git.
12+ - In order to ensure compatibility with large files, GIT LFS is used
13+ for deployment.
14+ - This package leverages Git Large File Storage in order to resolve
15+ issues with files > 50 MB. If you receive errors when attempting to
16+ create a PR with a large file, or are manually cloning this repo
17+ for non-standard use, please reference the following documentation:
18+ https://git-lfs.com/
19+ - CI does not run on sbnd_data PRs, this is due to some limitations on
20+ the CI side.
21+
22+ Steps: GitHub Release
23+ ========================================================
24+ 1 . Merge the any PR's located at https://github.com/SBNSoftware/sbnd_data that are being added to the release.
25+ 2 . To cut a release, go to releases->Draft a new release. Create a new tag for the new version and target main.
26+ 3 . Title the release according to the version and generate release notes.
27+ 4 . After hitting 'Publish release', the release is available on github, but isn't yet available on cvmfs/scisoft
28+ for users. Please follow the next set of steps to do this.
4229
43- - Publish the transaction.
30+ Steps: SciSoft/CVMFS Release
31+ ========================================================
32+ 1 . In a dedicated sbnd_data work area, clone the sbnd_data repository.
33+ ``` git clone git@github.com:SBNSoftware/sbnd_data.git ```
4434
35+ 2 . Move into the repository, and checkout the new tag.
36+ ``` git checkout tags/<new_version> ```
4537
38+ 3 . Fetch and checkout the large files for the new version.
39+ ``` git lfs fetch --all && git lfs checkout ```
4640
47- New version required
48- ------------------------------------------------------------
41+ 4 . Move out of the repository, and modify the directory's name to match
42+ the new versioning. Create a version info directory alongside it.
43+ ``` cd .. && mv sbnd_data <new_version> && mkdir <new_version>.version && cd <new_version>.version ```
4944
50- - If a file that already exists needs to be updated then the version
51- of sbnd\_ data must be updated to ensure backwards compatability.
52- - This used to be a big issue because the photon library (O(500MB)) is
53- in sbnd\_ data.
54- - We don\' t need this anymore so it can be dropped when sbnd\_ data
55- v01.03 is needed.
56- - There are some instructions of how to do a manual deployment
57- [ here] ( Write_files_to_SciSoft.html ) but it has been a
58- while since they were used and may not be valid any more.
59- - A worked example of what I did last time sbnd\_ data was uploaded to
60- SciSoft follows.
61- - Once the tarball is on SciSoft it can be distributed on
62- /grid/fermiapp [ like sbndcode and
63- sbndutil] ( Deploying_a_release_on_fermigrid.html ) and
64- then rsync\' d to cvmfs (I think).
45+ 5 . Copy the old version information's NULL_ file into the new version information directory.
46+ ``` cat ../../$1/$2.version/NULL_ > NULL_ ```
6547
48+ 6 . Modify the contents of the new NULL_ file.
49+ ``` bash
50+ FILE = version
51+ PRODUCT = sbnd_data
52+ VERSION = vXX_YY_ZZ # Bump the version
53+
54+ # *************************************************
55+ #
56+ FLAVOR = NULL
57+ QUALIFIERS = " "
58+ DECLARER = < your-username>
59+ DECLARED = 2025-03-25 19.52.40 GMT # Modify date
60+ MODIFIER = < your-username>
61+ MODIFIED = 2025-03-25 19.52.40 GMT # Modify the date
62+ PROD_DIR = sbnd_data/vXX_YY_ZZ # Bump the version
63+ UPS_DIR = ups
64+ TABLE_FILE = sbnd_data.table
65+ ```
66+ 7 . Copy to fermigrid area
67+ ``` bash
68+ ssh sbnd@sbndgpvm01.fnal.gov
69+ cp sbnd_data/vXX_YY_ZZ* /grid/fermiapp/products/sbnd/
70+ ```
71+ 8 . Copy to cvmfs
72+ ``` bash
73+ ssh cvmfssbnd@oasiscfs.fnal.gov
74+ cvmfs_server transaction sbnd.opensciencegrid.org
75+ rsync -r < your-username> @sbndgpvm01.fnal.gov:/grid/fermiapp/products/sbnd/sbnd_data/vXX_YY_ZZ* /cvmfs/sbnd.opensciencegrid.org/products/sbnd/sbnd_data/
76+ cvmfs_server tag -l sbnd.opensciencegrid.org # check which tag to use
77+ cvmfs_server publish -m " Published sbnd_data XX.YY.ZZ" -a < tag> sbnd.opensciencegrid.org
78+ logout
79+ ```
80+ 9 . Copy to scisoft, use [ copyToScisoft] ( https://github.com/SBNSoftware/SBNSoftware.github.io/blob/master/sbndcode_wiki/attachments/copyToSciSoft )
81+ ```
82+ ssh <your-username>@sbndgpvm01.fnal.gov
83+ #Navigate to scratch area
84+ tar -cjf sbnd_data-< dot version >-noarch.tar.bz2 -C /grid/fermiapp/products/sbnd sbnd_data/vXX_YY_ZZ sbnd_data/vXX_YY_ZZ.version
85+ tar -tf *.bz2 #check the contents
86+ ./copyToSciSoft.sh *.bz2
87+ ```
88+
89+ Deprecated Documentation
90+ ========================================================
91+ This documentation predates the existence of the sbnd_data repository. If for some reason it becomes necessary to cut a release on SciSoft/CVMFS only,
92+ these steps can be taken.
6693
67- Step-by-step example
68- ------------------------------------------------------------------------
69941 . Have author copy latest ` sbnd_data ` into their area to modify code.
70952 . Once their modifications are complete, copy into your area and make the following changes to ` sbnd_data/vXX_YY_ZZ.version/NULL_ `
7196 ``` bash
0 commit comments