|
| 1 | +# OpenFAST release process |
| 2 | + |
| 3 | +## Prep |
| 4 | +### pull request |
| 5 | +1. Create release changelog.md |
| 6 | +2. Post PR with contents of the changelog/release notes |
| 7 | +3. Get reviews and address all issues |
| 8 | + |
| 9 | +### PR branch updates |
| 10 | +1. checkout branch to merge in and verify builds on VS if any changes for VS or new files added |
| 11 | +2. Update the documentation version in docs/conf.py |
| 12 | +3. Update the versions in docs/source/user/api_change.rst |
| 13 | +4. Verify readthedocs builds correctly |
| 14 | +5. Update `openfast_io/pyproject.toml` |
| 15 | + |
| 16 | +**** |
| 17 | + |
| 18 | +## Posting the release |
| 19 | +### r-test |
| 20 | +1. Merge and add annotated tag |
| 21 | +2. Update pointer on main OF repository (not always necessary) |
| 22 | + |
| 23 | +### Main repository |
| 24 | +1. Merge PR |
| 25 | +2. Create release with new tag |
| 26 | + * Copy `Changelog` section down from the changlog.md file to release notes |
| 27 | + * add short intro section at top with 2 sentence synopsis (see prior release for this) |
| 28 | + * copy `Precompiled Windows Binaries` section from prior release, and update as needed into the release notes |
| 29 | + * check the `create discussion` box |
| 30 | + * Post |
| 31 | +3. delete `rc-` branch if merging from one |
| 32 | + |
| 33 | +### Windows executables build and upload |
| 34 | +After posting and tagging release |
| 35 | +1. Pull main and tags |
| 36 | + * `git fetch --tags OpenFAST` |
| 37 | + * `git fetch OpenFAST main:main` |
| 38 | + * `git checkout main` |
| 39 | +2. Delete `vs-build` and checkout again |
| 40 | + * `rm -rf vs-build` |
| 41 | + * `git checkout vs-build` |
| 42 | +3. Set a couple of VS files to not track changes on files that VS wants to update Windows related stuff in |
| 43 | + ``` |
| 44 | + git update-index --assume-unchanged vs-build/MAPlib/MAP_dll.vcxproj vs-uild/Registry/FAST_Registry.vcxproj |
| 45 | + ``` |
| 46 | + |
| 47 | +4. Compile executables for Windows builds |
| 48 | + * Run one of the executables and check the version info. Muck about with VS if there is an issue. |
| 49 | + * Also run `dumpbin.exe /dependents <exe>.exe` to check static linking |
| 50 | + * NOTE: build the simulink last -- it messes up some things otherwise |
| 51 | + - [ ] AeroDyn_Driver_x64.exe |
| 52 | + - [ ] AeroDyn_Driver_x64_OpenMP.exe |
| 53 | + - [ ] AeroDyn_Inflow_C_Binding_x64.dll |
| 54 | + - [ ] AeroDyn_Inflow_C_Binding_x64_OpenMP.dll |
| 55 | + - [ ] BeamDyn_Driver_x64.exe |
| 56 | + - [ ] DISCON.dll (x64) |
| 57 | + - [ ] DISCON_ITIBarge.dll (x64) |
| 58 | + - [ ] DISCON_OC3Hywind.dll (x64) |
| 59 | + - [ ] DISCON_SC.dll (x64) |
| 60 | + - [ ] FAST.Farm_x64.exe |
| 61 | + - [ ] FAST.Farm_x64_OMP.exe |
| 62 | + - [ ] FAST_SFunc.mexw64 -- build from MATLAB |
| 63 | + - [ ] HydroDynDriver_x64.exe |
| 64 | + - [ ] HydroDyn_C_Binding_x64.dll |
| 65 | + - [ ] IfW_C_Binding_x64.dll |
| 66 | + - [ ] InflowWind_Driver_x64.exe |
| 67 | + - [ ] InflowWind_Driver_x64_OpenMP.exe |
| 68 | + - [ ] MoorDyn_Driver_x64.exe |
| 69 | + - [ ] MoorDyn_C_Binding_x64.dll |
| 70 | + - [ ] OpenFAST-Simulink_x64.dll -- change `additional dependencies` in the `OpenFAST-Simulink` project in `FAST` to point to correct install of MATLAB |
| 71 | + - [ ] openfast_x64.exe |
| 72 | + - [ ] SubDyn_x64.exe |
| 73 | + - [ ] Turbsim_x64.exe |
| 74 | + |
| 75 | +5. Upload all filesUnset the no tracking of files |
| 76 | + ``` |
| 77 | + git ls-files -v | grep "^[a-z]" |
| 78 | + git update-index --no-assume-unchanged <files-from-cmd-above> |
| 79 | + ``` |
| 80 | + |
| 81 | + |
0 commit comments