.devzone¶
- .devzone
- DevZone configuration files:
- Files
- backup.push
- bundles-header.html
- Directories
- build
- hooks
- mq - Mercurial Patch Queue
DevZone configuration files:¶
Files¶
backup.push¶
Every changegroup pushed to the devzone will be "backuped" to the location in this file.
Example:
ssh://hg@bitbucket.org/OpenTTD/opengfx/
Note: This needs write permission for the DevZone.
On Bitbucket.org, just give the user "OpenTTD" write access to the repo you created there.
If you have another server, you need to allow ssh with key, the public key of the DevZone.
Backup scheduler runs every 4 hours.
bundles-header.html¶
Note: this part is currently on hold, as we are on transfer from Apache to Nginx
This file will be copied to your project at bundles.openttdcoop.org and included as header.
Example: http://bundles.openttdcoop.org/opengfx/
TODO: some substitutions
Directories¶
build¶
- clone the repo
- tar the repo
- building the tar using the rpm spec
- copying
*.zip *.log *.md5 *.rev sprites/*.nfofrom chroot/usr/src/packages/BUILD/<repo>/
to bundles.openttdcoop.org/<repo>/<releases|nightlies>/<rev> - symlink <rev> to latest
- copying bundles-header.html (not working now)
- writing finger: http://bundles.openttdcoop.org/versions.txt
Usage: /home/openttd/bin/update-versions.sh <project> <version> <date> [<branch>]
no grf example: NML
enable
The only required file, it enables the project for compile scheduler, the content does tell the type for default values which can be overridden by the other files.
This file is located in REPO/.devzone/build/BRANCH/enable only
type
| nfo (default) | only file enable required |
| nml | only file enable required |
| rpm (& others) | requires every file |
*.spec
one rpm spec file
default (nfo): compiler/.default/grf.spec
files
Which files to copy from BUILD to the bundles
Substitutions: %{BUILD} get replaced by the build path in the chroot
Prefixes:| R; | Required, if this file doesn't exist, the DevZone does announce fatal error, the remaining files will be published to <branch>/ERROR/<rev> (inclusive flag "5" - does also generate a md5sum file) |
| 5; | a md5sum with same name but extension .md5 |
| E; | Warning, the lines in this file will be counted and announced as (XX errors) |
| L; | Files will be moved to subdirectory log like logfiles |
Example:
R;%{BUILD}/*.zip
%{BUILD}/*.md5
%{BUILD}/sprites/*.nfo
%{BUILD}/docs/readme.txt
%{BUILD}/*build.log
E;%{BUILD}/*build.err.log
The DevZone build log will be transfered beside those.
requires
Define other DevZone projects required to build
Format: <project>[;BRANCH (default:nightlies)]
Default: none
cleanup_releases
the minimum amount of releases to be published
default: 10 for nightlies, unlimited for releases, 1 for pushes
maximum: unlimited
unlimited = 0
cleanup_days
the minimum amount of days a release is published
default: 100 for nightlies
(if not set, cleanup_releases "counts", only)
File hirarchy
The files are either located in build/ directly or in the BRANCH subfolders (e.g. nightlies)
Priority:- build/BRANCH/*
- build/*
- COMPILER/.default/*
Currently known and supported BRANCHes: nightlies, releases, pushes
(please tell us, if you like to add a BRANCH to your project, it should easy be possible.)
hooks¶
repo_checks.ini
mq - Mercurial Patch Queue¶
mainrepo
The repository, where the mq is based on, the repository needs to be known at http://hg.openttdcoop.org.
(repo openttd is in sync with official trunk and branch 1.0)
Use the same branches for the mq as for the main repo, set guards for experimental stuff, which the CF shouldn't use for "tests".
If you like a build/test to a specific revision, use tag with the hash of the mainrepo. (like a release)
There is also a nightly run at 20:00 CEST (same rev as official trunk), where it tries to apply the mq and build.