dev:release_process:evergreen:how_to_build
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev:release_process:evergreen:how_to_build [2024/05/13 15:39] – [Run the release builder script] aneiman | dev:release_process:evergreen:how_to_build [2025/02/10 16:53] (current) – [Helpful videos] aneiman | ||
---|---|---|---|
Line 10: | Line 10: | ||
* Nov 2023 [[https:// | * Nov 2023 [[https:// | ||
* Dec 2023 [[https:// | * Dec 2023 [[https:// | ||
+ | * Feb 2025 [[https:// | ||
==== Prerequisites ==== | ==== Prerequisites ==== | ||
Make sure you are in an environment with your git ssh keys, since you will need to be pushing commits to the git server. | Make sure you are in an environment with your git ssh keys, since you will need to be pushing commits to the git server. | ||
+ | |||
+ | Make sure that you have OpenSRF installed in your environment. | ||
+ | |||
+ | To upload translations to Launchpad, you will also need to register an ssh key with Launchpad. See the [[https:// | ||
See [[:: | See [[:: | ||
Line 23: | Line 28: | ||
<code bash> | <code bash> | ||
# sudo make -f Open-ILS/ | # sudo make -f Open-ILS/ | ||
- | $ sudo make -f Open-ILS/ | + | $ sudo make -f Open-ILS/ |
</ | </ | ||
- | [Note that your Ubuntu version may be something other than 'focal'; substitute | + | [Note that your Ubuntu version may be something other than 'jammy', or you may be using a different OS altogether. Substitute |
+ | |||
+ | ==== Confirm git credentials and username/ | ||
+ | |||
+ | The following steps will require you to commit your work and push to a remote git repository. | ||
+ | |||
+ | If you are using a docker dev container, You can commit from inside the container, but push from the host machine -- if you choose this approach, you should make sure the first two commands work from within the container, and the last two commands work from your host machine. | ||
+ | ^ Setting | ||
+ | | Your user name | Run the command: '' | ||
+ | | Your email address | ||
+ | | The git remote you intend to push to (the Evergreen repo if you are a committer, the working/ | ||
+ | | Your SSH key to connect to the git remote | ||
==== Update relator codes (requires commit bit) ==== | ==== Update relator codes (requires commit bit) ==== | ||
Line 60: | Line 76: | ||
$ find . -mindepth 2 -name ' | $ find . -mindepth 2 -name ' | ||
$ find . -mindepth 2 -name ' | $ find . -mindepth 2 -name ' | ||
+ | $ echo "" | ||
</ | </ | ||
Line 99: | Line 116: | ||
During each release starting with beta, get the latest template changes and apply them to the main branch you are working from in origin (main/ | During each release starting with beta, get the latest template changes and apply them to the main branch you are working from in origin (main/ | ||
- | * Update pot in Evergreen <code bash>$ cd build/i18n && make newpot</ | + | * Update pot in the Evergreen |
* From the Evergreen directory, run the python script to commit any changes that do more than modify metadata <code bash> | * From the Evergreen directory, run the python script to commit any changes that do more than modify metadata <code bash> | ||
Line 126: | Line 143: | ||
* NOTE: See here to find the correct translation branch for the version you are building: https:// | * NOTE: See here to find the correct translation branch for the version you are building: https:// | ||
+ | * It will give you an error "You have not informed bzr of your Launchpad ID, and you must do this to write to Launchpad or access private data." | ||
* Then, sync translated files with Evergreen. Update PO files in the appropriate branch in origin: | * Then, sync translated files with Evergreen. Update PO files in the appropriate branch in origin: | ||
<code bash> | <code bash> | ||
- | # series here is " | + | # series here is " |
# that you are building | # that you are building | ||
$ Evergreen/ | $ Evergreen/ | ||
Line 145: | Line 163: | ||
$ git add -A Open-ILS/ | $ git add -A Open-ILS/ | ||
$ git commit -asm " | $ git commit -asm " | ||
- | </ | ||
- | |||
- | ==== Other version number changes ==== | ||
- | |||
- | * Edit ./ | ||
- | <code perl> | ||
- | our $VERSION = ' | ||
- | </ | ||
- | |||
- | * NOTE: The version string is two digits for each level after the decimal, so for example " | ||
- | |||
- | * Commit the version change | ||
- | |||
- | <code bash> | ||
- | $ git commit -asm " | ||
</ | </ | ||
Line 184: | Line 187: | ||
* Use the highest numbered previous version for the second version value. | * Use the highest numbered previous version for the second version value. | ||
* For example, building 3.13-beta, the script should start from the highest 3.12 release at the time of branching: <code bash>$ build/ | * For example, building 3.13-beta, the script should start from the highest 3.12 release at the time of branching: <code bash>$ build/ | ||
- | * For a .0 release, the script should start from (probably) | + | * For a .0 release, the script should start from the highest point release |
* For a point release, the script should start from the previous point release in the series: <code bash>$ build/ | * For a point release, the script should start from the previous point release in the series: <code bash>$ build/ | ||
* Use the -v flag when your branch name does not match the normal pattern, otherwise auto-detect works | * Use the -v flag when your branch name does not match the normal pattern, otherwise auto-detect works | ||
Line 208: | Line 211: | ||
<code bash> | <code bash> | ||
# copy README and release notes to ../release/ | # copy README and release notes to ../release/ | ||
- | $ export RELEASE=3_12 | + | $ export RELEASE=3_12_0 # Increment for later release, 3_12_1 for example. |
$ cp README ../ | $ cp README ../ | ||
$ cp docs/ | $ cp docs/ | ||
Line 225: | Line 228: | ||
Move the release files into the correct download directories on the evergreen-ils.org web server (which is also known as lupin): | Move the release files into the correct download directories on the evergreen-ils.org web server (which is also known as lupin): | ||
* Previews / alphas / betas / release candidates go in ''/ | * Previews / alphas / betas / release candidates go in ''/ | ||
- | * Final releases | + | * Final releases go in ''/ |
* Install docs / README_* go in ''/ | * Install docs / README_* go in ''/ | ||
* Release notes go in ''/ | * Release notes go in ''/ | ||
+ | Because the release notes document is cumulative for each release series, a symbolic link exists for each release series so that (e.g.) '' | ||
+ | |||
+ | When updating the downloads page to the website, the URL should use the symbolic link, not the release notes for the specific release, e.g., '' | ||
==== " | ==== " | ||
Line 239: | Line 245: | ||
If doing a final release, you will need to copy the upgrade script you created to main and your current rel_x_y branch. | If doing a final release, you will need to copy the upgrade script you created to main and your current rel_x_y branch. | ||
+ | For example, if you just created a release 3.12.6 and were on the branch tags/ | ||
+ | |||
+ | <code bash> | ||
+ | git checkout rel_3_12 | ||
+ | git checkout tags/ | ||
+ | git commit -sm " | ||
+ | git checkout main | ||
+ | git cherry-pick rel_3_12 | ||
+ | </ | ||
==== Announcing and recording the release ==== | ==== Announcing and recording the release ==== | ||
* Update evergreen_history.txt file in history repo with release dates. | * Update evergreen_history.txt file in history repo with release dates. | ||
* Release team / outreach committee make announcements following [[https:// | * Release team / outreach committee make announcements following [[https:// | ||
dev/release_process/evergreen/how_to_build.1715629158.txt.gz · Last modified: 2024/05/13 15:39 by aneiman