mirror of
https://github.com/vcmi/vcmi.git
synced 2025-01-10 00:43:59 +02:00
74a4a10f48
- Markdown will now be validated as part of Github CI - Applied auto-fix to most common issues (mostly whitespace related) - Fixed manually some of more complex cases Some valid markdownlint rules are currently disabled, to avoid failing CI, can be enabled in future
57 lines
3.1 KiB
Markdown
57 lines
3.1 KiB
Markdown
# Ubuntu PPA
|
|
|
|
## Main links
|
|
|
|
- [Team](https://launchpad.net/~vcmi)
|
|
- [Project](https://launchpad.net/vcmi)
|
|
- [Sources](https://code.launchpad.net/~vcmi/vcmi/+git/vcmi)
|
|
- [Recipes](https://code.launchpad.net/~vcmi/+recipes)
|
|
- - [Stable recipe](https://code.launchpad.net/~vcmi/+recipe/vcmi-stable)
|
|
- - [Daily recipe](https://code.launchpad.net/~vcmi/+recipe/vcmi-daily)
|
|
- PPA's
|
|
- - [Stable PPA](https://launchpad.net/~vcmi/+archive/ubuntu/ppa)
|
|
- - [Daily PPA](https://launchpad.net/~vcmi/+archive/ubuntu/vcmi-latest)
|
|
|
|
## Automatic daily builds process
|
|
|
|
### Code import
|
|
|
|
- Launchpad performs regular (once per few hours) clone of our git repository.
|
|
- This process can be observed on [Sources](https://code.launchpad.net/~vcmi/vcmi/+git/vcmi) page.
|
|
- If necessary, it is possible to trigger fresh clone immediately (Import Now button)
|
|
|
|
### Build dependencies
|
|
|
|
- All packages required for building of vcmi are defined in [debian/control](https://github.com/vcmi/vcmi/blob/develop/debian/control) file
|
|
- Launchpad will automatically install build dependencies during build
|
|
- Dependencies of output .deb package are defined implicitly as dependencies of packages required for build
|
|
|
|
### Recipe building
|
|
|
|
- Every 24 hours Launchpad triggers daily builds on all recipes that have build schedule enable. For vcmi this is [Daily recipe](https://code.launchpad.net/~vcmi/+recipe/vcmi-daily)
|
|
- Alternatively, builds can be triggered manually using "request build(s) link on recipe page. VCMI uses this for [Stable recipe](https://code.launchpad.net/~vcmi/+recipe/vcmi-stable)
|
|
|
|
### Recipe content (build settings)
|
|
|
|
- Version of resulting .deb package is set in recipe content, e.g `{debupstream}+git{revtime}` for daily builds
|
|
- Base version (referred as `debupstream` on Launchpad is taken from source code, [debian/changelog](https://github.com/vcmi/vcmi/blob/develop/debian/changelog) file
|
|
- CMake configuration settings are taken from source code, [debian/rules](https://github.com/vcmi/vcmi/blob/develop/debian/rules) file
|
|
- Branch which is used for build is specified in recipe content, e.g. `lp:vcmi master`
|
|
|
|
## Workflow for creating a release build
|
|
|
|
- if necessary, push all required changes including `debian/changelog` update to `vcmi/master` branch
|
|
- Go to [Sources](https://code.launchpad.net/~vcmi/vcmi/+git/vcmi) and run repository import.
|
|
- Wait for import to finish, which usually happens within a minute. Press F5 to actually see changes.
|
|
- Go to [Stable recipe](https://code.launchpad.net/~vcmi/+recipe/vcmi-stable) and request new builds
|
|
- Wait for builds to finish. This takes quite a while, usually - over a hour, even more for arm builds
|
|
- Once built, all successfully built packages are automatically copied to PPA linked to the recipe
|
|
- If any of builds have failed, open page with build info and check logs.
|
|
|
|
## People with access
|
|
|
|
- [alexvins](https://github.com/alexvins) (<https://launchpad.net/~alexvins>)
|
|
- [ArseniyShestakov](https://github.com/ArseniyShestakov) (<https://launchpad.net/~sxx>)
|
|
- [IvanSavenko](https://github.com/IvanSavenko) (<https://launchpad.net/~saven-ivan>)
|
|
- (Not member of VCMI, creator of PPA) (<https://launchpad.net/~mantas>)
|