Skip to content

Commit 246be01

Browse files
Revise sbnd_data documentation for version control
Updated documentation to reflect that sbnd_data is now version controlled by git and includes steps for handling large files with Git LFS. Added detailed release steps for GitHub, SciSoft, and CVMFS.
1 parent e36790d commit 246be01

1 file changed

Lines changed: 76 additions & 51 deletions

File tree

sbndcode_wiki/Updating_sbnd_data.md

Lines changed: 76 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -8,64 +8,89 @@ title: Updating sbnd data
88
Updating 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-
------------------------------------------------------------------------
6994
1. Have author copy latest `sbnd_data` into their area to modify code.
7095
2. 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

Comments
 (0)