1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
vcmi/docs/maintainers/Ubuntu_PPA.md
2023-09-07 11:02:39 +03:00

3.1 KiB

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 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 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
  • Alternatively, builds can be triggered manually using "request build(s) link on recipe page. VCMI uses this for Stable recipe

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 file
  • CMake configuration settings are taken from source code, 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 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 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