Here are the steps in the Fuego release process.
|
{{TableOfContents}}
Here are the steps in the Fuego release process.
|
This assumes that changes to be released are in the 'next' branches
of the repositories on bitbucket.org.
|
This assumes that changes to be released are in the 'next' branches
of the repositories on bitbucket.org.
|
|
= Overview =
* if a major release, select a fire-related name
* update the change log
* change the version number
* test all changes since the last release
* run the fuego test suite
* pull patches from next to master
* tag the release
* push master to bitbucket
* announce on the fuego mailing list
|
https://bitbucket.org/tbird20d/fuego/src/VERSION
* the CHANGELOG for each release is in:
* https://bitbucket.org/tbird20d/fuego/src/CHANGELOG
* version of ftc = 1.1.0 on March 20, 2017
* version of abstraction scripts = ???
* version of tests = ???
* version of docker stuff = ???
* version of Jenkins used = 1.509.2 (In Jenkins interface)
|
= where is the version found =
* the main version number of Fuego is found in:
* https://bitbucket.org/tbird20d/fuego/src/VERSION
* the CHANGELOG for each release is in:
* https://bitbucket.org/tbird20d/fuego/src/CHANGELOG
* version of ftc = 1.1.0 on March 20, 2017
* version of abstraction scripts = ???
* version of tests = ???
* version of docker stuff = ???
* version of Jenkins used = 1.509.2 (In Jenkins interface)
|
|
= Detailed steps =
|
|
== select a volcano or fire-related name ==
If this is a major release, it should get a name for the release.
|
See Volcano Names or Fire Names for a tentative list and resources for finding a name.
|
See [[Volcano Names]] or [[Fire Names]] for a tentative list and resources for finding a name.
|
|
== update the change log ==
* get a list of change for each repository:
* git log --oneline origin/master..HEAD
* or use gitk to see changes graphically
* edit fuego/CHANGELOG with human-readable features
|
|
== change the version number ==
* edit fuego/VERSION
* edit fuego-core/engine/scripts/ftc VERSION variable
|
|
== test changes since last release ==
* push 'next' branch changes
* (in fuego-core:) git push
* verify that Docker container has the latest git version for fuego-core
* (in fuego:) grep 'ENV.*NEXT' Dockerfile
* (in fuego-core:) git log -n 1 --oneline
* if different, set INST_FUEGO_CORE_NEXT_GIT_REVISION to value from fuego-core
* (in fuego:) git push
* make release directory:
* mkdir ~/work/fuego/release-<date>
* git clone -b next git@bitbucket.org:tbird20d/fuego.git
* git clone -b next git@bitbucket.org:tbird20d/fuego-core.git
* build docker image, create container, and start it
* cd fuego
* ./install.sh
* ''NOTE: there are about 60 steps''
* make sure no other Fuego containers are running
* docker ps
* if needed, in docker containers: exit
* cd fuego-host-scripts
* ./docker-create-container.sh
* ./docker-start-container.sh
* (on host:) use 'docker ps' to verify that a new image is running
* add bbb board
* cd ~/work/fuego/release-<date>/fuego
* ~/work/fuego/add-board-and-toolchain.sh
* OR....
* cd ~/work/fuego/release-<date>/fuego/fuego-ro
* cp ~/work/fuego/fuego/fuego-ro/conf/boards/bbb-poky-sdk.board conf/boards
* add toolchain
* (on host) sudo cp -a ~/work/fuego/fuego/fuego-ro/toolchains/* toolchains
* add jenkins node for bbb
* fuegosh
* (in container) fuego-create-node -b bbb-poky-sdk
* fuego-create-node -b docker
* add jobs
* fuego-create-jobs -b docker -t testplan_docker -d nosyslogd.dist
* fuego-create-jobs -b bbb-poky-sdk -t testplan_default -d nologread.dist
* fuego-create-jobs -b docker -t testplan_fuego -d nosyslogd.dist
* fuego-create-jobs -b bbb-poky-sdk -t testplan_fuego -d nologread.dis
* run fuego unit tests
* run ftc-unit-tests.sh
* run all tests on bbb
* run the following quick tests first:
* Functional.fuego_board_check
* Functional.hello_world
* Functional.bzip2
* Benchmark.Dhrystone
* Benchmark.reboot
|
|
== pull patches from next to master ==
* in ~/work/fuego/release-<date>/fuego:
* git stash
* sudo chown -R 1000072457.domain_users userdata
* git checkout -tb master origin/master
* rm last_fuego_container.id
* git merge next
* get fuego-core patches onto master
* cd ~/work/fuego/release-<date>
* git clone git@bitbucket.org:tbird20d/fuego-core
* cd fuego-core
* git merge origin/next
* git push
* test again
* install, create container, start container, update config.xml, run tests
* commit the new Dockerfile
* in fuego: git add Dockerfile
* git commit
|
|
== tag the release ==
Where M= Major, m = minor, r = revision,
* git tag -a vM.m.r -m "Fuego vM.m.r"
|
|
== push fuego-core master to bitbucket ==
* git push
* git push --tags
|
Releases
|
== update the release table ==
* see [[Releases]]
|
|
== announce on the fuego mailing list ==
* copy changelog
* use subject: Release vX.Y.Z
* add commentary
* send
|
release-1.1-test-2017-03-31 Notes
|
= Notes on specific releases =
== 1.1 release ==
* [[release-1.1-test-2017-03-31 Notes]]
|
|
== 1.0 release ==
=== git log fuego ===
{{{
e41dea4 README: fix columns in README
7fbef4b tests.info: reboot has only a time plot at the moment
6e88fdd proxy: add support for environments behind a proxy
f9f8139 Dockerfile: whitespace cleanups
04fb120 Add script for creating a container that can talk through USB
2209f9b Add .gitignore files to ignore generated files
39c0601 nologger: change to nologread
}}}
|
|
=== git log fuego-core ===
{{{
df134e0 reboot: fix the reboot test
00b129b logger: remove dependency on logging mechanism
46e054e nosyslogd.dist: support targets without syslogd
f679cca dist: rename nologger.dist to nologread.dist
39c8ecc gitignore: add a gitignore file
0fd8885 FUEGO_'HOME: create automatically if not provided
876e6f9 bzip2: add support for busybox version of bzip2
}}}
|
|
=== changelog list ===
* Add support for building docker container behind a proxy
* Add support for creating a container that can see USB changes
* Change reboot test to only report time
* Fix some other issues with the reboot test
* Change name of logread function and distribution overlay file
* WARNING: this has potential to break the Jenkins configuration for
targets that referenced nologread.dist
* DISTRIB environment variable should be changed from
distribs/nologger.dist to distribs/nologread.dist
* Add .gitignore files to make repository management easier
* Add code to create the FUEGO_H''''''OME directory if not already present
* Change bzip2 test to support busybox version of bzip2
|