|
|
7 months ago | |
|---|---|---|
| .. | ||
| fixtures | 1 year ago | |
| management | 2 years ago | |
| migrations | 11 months ago | |
| test | 1 year ago | |
| README.md | 7 months ago | |
| __init__.py | 9 years ago | |
| admin.py | 8 months ago | |
| apps.py | 4 years ago | |
| conf.py | 6 years ago | |
| exceptions.py | 1 year ago | |
| models.py | 11 months ago | |
| serializers.py | 6 years ago | |
| signals.py | 3 years ago | |
| tasks.py | 1 year ago | |
| urls.py | 3 years ago | |
| utils.py | 1 year ago | |
| views.py | 11 months ago | |
README.md
build
This app is in charge of the building process of releases.
It reads the yaml files from sipwise-repos-scripts package in order to find out everything related to a release.
REPOS_SCRIPTS_CONFIG_DIR = "/usr/share/sipwise-repos-scripts/config"
The release yaml file is the one source of truth related to a release:
- debian_release
- release-mrX.Y[.Z]?: backports to be included in the release repository
- jenkins-jobs: jenkins jobs related info
- release_mirror: steps to do on release process
But for build the most important part of the file is jenkins-jobs.
There are projects and build_deps defined.
build_deps is a list of projects that are a build dependency of others. Like:
jenkins-jobs:
build_deps:
data-hal:
- ngcp-panel
ngcp-schema:
- ngcp-panel
libinewrate:
- sems-pbx
libswrate:
- kamailio
- sems-pbx
libtcap:
- kamailio
- lnpd
sipwise-base:
- ngcp-panel
- ngcp-schema
check-tools:
- snmp-agent
In this example data-hal needs to be built before ngcp-panel. sipwise-base has
to be built before ngcp-panel and ngcp-schema and so on.
build app has the logic to resolve this dependency hierarchy so triggering the right project in the right moment.
build triggers jenkins jobs and when the job finishes the next in the queue is triggered.
It keeps the info of what project has been triggered, built or failed.
build depends on repoapi JenkinsBuildInfo