Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • cerbero cerbero
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 107
    • Issues 107
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 34
    • Merge requests 34
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar

Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.

Update #1:

Due to abusive users subverting our CI facilities to mine cryptocurrency, breaking out of the container sandbox in the process, we have been forced to take actions to limit the usage of the public runners to official projects only.

The policy will be enforced on 2023-03-23 (or before if we detect abuses).

Please see this issue for more context and to see if and how you are impacted.

  • GStreamerGStreamer
  • cerberocerbero
  • Merge requests
  • !32

Cerbero CI enhancements

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Nicolas Dufresne requested to merge ndufresne/cerbero:cerbero-ci-enhancements into master Dec 01, 2018
  • Overview 43
  • Commits 14
  • Pipelines 0
  • Changes 14

This is a series of enhancement to cerbero that where needed or planned for GitLab CI integration. In this patch set you will find:

1. Allow loading the config without perl being installed

Obvious bug, we should not have to bootstrap in order to bootstrap.

2. Install ccache in the bootstraps

Not sure, I can probably move this to the docker creation.

3. Add a -y / --assume-yes option to bootstrap

This is to tell the package installer yes, don't ask, this is needed to boostrap in docker in docker.

4. Add s --system-only mode to bootstrap

This way we can boostrap the system without building the build-tools. This is also to limit how often we recreate the dockers and/or to avoid doing useless build-tool builds while creating the docker.

5. Libunwind fixes

The variant implementation was not used properly in the GStreamer receipe. I also have issues on Fedora 29 building this, the autotool stuff complains about version miss-match (so I added an autoreconf).

6. Relocation

One side effect of Gitlab CI being run in multiple projects is that each build will happen in a different folder. This is really annoying since most stuff we build is not easily relocatable. First thing I fixed is the recipes relocation. This one is totally safe, we basically just re-do the hash and compare when a recipe of the same name have changed path. There is also an attempt to relocate the cache in fetch-cache feature, though it works for everything except for gettex, for which the path is hardcoded into the tool and I didn't find a way to override it.

7. Add local_sources to the build-tools config

The config when building the build-tools is a stripped down version of the main config. This simply keep the local_sources directory so we don't endup with sources in $HOME.

8. Manifest and self update

This already existed in the current CI as a side script. I have simply integrated it into cerbero. One extra feature is that two recipes with the same git repo will use the same rev. Also, you don't need to map the recipe name and the repo anymore. There is a also a command to let cerbero-uninstalled updated itself base on the manifest.

9. build-deps command

This is a relatively simple command that allow building the dependencies of a set of recipes without these recipes being build. This is use to pre-build everything that only changes upon cerbero changes. This will be stored as an artifact and re-used to speed-up other buils.

10. git.get_hash improvement

This method was nearly unused, but I needed it. I have ported it to rev-parse, which is more reliable and removed the trailing new line.

Related to gstreamer-project#36 (closed)

cc @nirbheek @alatiera @thiblahute

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: cerbero-ci-enhancements