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.php
andCHANGELOG
files 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
/UPGRADE
to 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/dist
directory) 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