Changes between Version 82 and Version 83 of Moved/ReleaseGuidelines


Ignore:
Timestamp:
03/02/25 13:14:44 (35 hours ago)
Author:
zaytsev
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Moved/ReleaseGuidelines

    v82 v83  
    11= Release Guidelines = 
    22 
    3 == Versioning scheme == 
    4  
    5 We are using the following versioning scheme: 'master' branch has all features, bugfixes and other things. Numeration is 'a.b.c'. For example, numeration of 'master' tags are: 
    6  
    7  * 4.7.0 
    8  * 4.7.1 
    9  * 4.7.2 
    10  * ... 
    11  
    12 Period of releases: typically twice a year (spring and autumn) unless a serious issue is found. 
    13  
    14 == Pre-requisites == 
    15  
    16 === Fedora (fresh VM for releases) === 
    17  
    18 {{{ 
    19 yum build-dep mc 
    20 yum install git-core fakeroot check-devel po4a libX11-devel 
    21 }}} 
    22  
    23 === macOS === 
    24  
    25 {{{ 
    26 brew install autoconf automake libtool pkg-config check clang-format 
    27 brew install glib libssh2 openssl s-lang 
    28 }}} 
    29  
    30 === git === 
    31  
    32 {{{ 
    33 git config --global user.name "Yury V. Zaytsev" 
    34 git config --global user.email "yury@shurup.com" 
    35 }}} 
    36  
    37 == Release process == 
    38  
    39 '''All next steps described at this page should be mirrored in release tickets step-by-step''' 
    40  
    41 Search previously created ticket with task about next version release (create if ticket not found) and follow by steps while preparing for the release: 
    42  
    43   * prepare repository for release 
    44 {{{ 
    45 git fetch 
    46 git checkout master 
    47 git reset --hard origin/master 
    48 git clean -dfx 
    49 ./autogen.sh 
    50 mkdir dist; cd dist; ../configure; cd .. 
    51 }}} 
    52  * download PO-translations from Transifex (see before: [wiki:TxRepoSetup how to set up local tx-repository])  
    53 {{{ 
    54 ./maint/sync-transifex/po-from-transifex.py 
    55 }}} 
    56  * store translations in git repo 
    57 {{{ 
    58 make -C dist/po update-po 
    59 git add po/*.po 
    60 git commit -s -m 'Update translations from Transifex' 
    61 git push origin master 
    62 }}} 
    63  * download the hint translations from Transifex 
    64 {{{ 
    65 ./maint/sync-transifex/hints-from-transifex.py 
    66 }}} 
    67  * store translations in git repo 
    68 {{{ 
    69 git add doc/hints/l10n/mc.hint.* 
    70 git commit -s -m 'Update hints translations from Transifex' 
    71 git push origin master 
    72 }}} 
    73  * create new NEWS wiki page for next version with empty template. Template may be copied from current NEWS wiki page (without list of tasks and bugreports) 
    74  * add content of current NEWS wiki page to the doc/NEWS file in git repo 
    75 {{{ 
    76 git add doc/NEWS 
    77 git commit -s -m 'Update doc/NEWS file' 
    78 git push origin master 
    79 }}} 
    80  * new version in Trac 
    81  * new milestone in Trac 
    82  * create new tag in git (see before: [wiki:GpgSetUpForSigningReleases how to set up your gpg key for signing releases]) 
    83 {{{ 
    84 git tag -s <version> 
    85 # keep 'Release' comment 
    86 git push origin <version> 
    87 }}} 
    88  * create tar.(bz2|xz) package files 
    89 {{{ 
    90 cd dist; fakeroot make dist-bzip2 && fakeroot make dist-xz 
    91 # https://bugzilla.redhat.com/show_bug.cgi?id=2338285 
    92 cat mc-4.8.33.tar | XZ_OPT=${XZ_OPT--e} xz -c >mc-4.8.33.tar.xz 
    93 }}} 
    94  * make checksums for archives 
    95 {{{ 
    96 sha256sum mc-*tar.* > mc-{version}.sha256 
    97 }}} 
    98  * upload source packages and checksums to the special upload area 
    99  * developers should download tarballs, verify checksums, compile and install locally; if everything is ok, then developers vote for the ticket 
    100 {{{ 
    101 ./configure --prefix=$(pwd)/install 
    102 make install 
    103 make check 
    104 }}} 
    105  * upload source packages and checksums to {{{scp mc-X.X.XX.* midnightcommander@ftp-osl.osuosl.org:/home/midnightcommander/data}}} (all maintainers have access via pubkeys) 
    106   * check permissions! 
    107  * run {{{ssh midnightcommander@ftp-osl.osuosl.org '/home/midnightcommander/trigger-midnightcommander'}}} 
    108  * check that files can be dowloaded, if not, adjust permissions to 644 
    109  * update Wiki start page with latest release number 
    110  * write an announcement: list user visible changes (bugs and features) 
    111  * create new ticket (type=task, component=adm) for the next release 
    112  * close ticket for release 
    113  * close current milestone 
     3Moved to https://new.midnight-commander.org/release-process/ 
    1144 
    1155=== Notes: ===