To have this in one place available for everyone in the team:
Prerequisites:
Minimal example build environment with Vagrant:
- Install Vagrant and VirtualBox
- Create box:
vagrant init hashicorp/bionic64 vagrant up vagrant ssh - Install packages:
sudo apt-get update sudo apt install unzip sqlite texlive-latex-extra sudo apt install php php-xml php-curl php-sqlite3 php-zip php-gd php-mbstring #install composer with instructions from: https://getcomposer.org/download/ #then move the phar: `sudo mv composer.phar /usr/local/bin/composer` cd /vagrant git clone git@github.com:yiisoft/yii.git
Release Steps:
-
git pull -
composer install -
Change
getVersion()inframework/YiiBase.phpandCHANGELOGfiles about release date and version (example) -
Run build, commit and push:
cd build && ../vendor/bin/phing sync git add -A git commit -m "Release version 1.1.xxx" git push -
git tag -s 1.1.xxx -m "Version 1.1.xxx"(make sure you have GPG set up for signing your commits) -
git push --tags -
Change back
getVersion()inframework/YiiBase.php, andCHANGELOG/UPGRADEto prepare for the next release. (example) -
Rebuild, commit and push:
cd build && ../vendor/bin/phing sync git add -A git commit -m "Prepare for next release" git push -
On the Vagrant machine, build all release files:
# Note: when running Vagrant on Windows, don't run this step in the mounted /vagrant folder or you # will have wrong permissions in the tar build. And run as root to have "root" as the file owner in the # tar build. git clone https://github.com/yiisoft/yii.git 1.1.xxx cd 1.1.xxx git checkout 1.1.xxx composer install cd build ../vendor/bin/phing src ../vendor/bin/phing doc ../vendor/bin/phing web -
Upload source and doc release files (from
release/distdirectory) to github (create a release on github repo) -
Update https://github.com/yiisoft-contrib/yiiframework.com/blob/master/config/versions.php as instructed (partial download URL and latest version in list) (example)
-
SSH to yiiframework.com, update code via
git pull -
Write up release announcement
-
Announce on website news, twitter, and forum