mirror of
https://gitlab.xiph.org/xiph/icecast-server.git
synced 2024-09-01 03:54:14 -04:00
50 lines
2.2 KiB
Markdown
50 lines
2.2 KiB
Markdown
# Icecast CI for automated OBS Uploads
|
|
|
|
This directory contains scripting triggered by .gitlab-ci.yml to automatically upload releases and nightlies to build.opensuse.org.
|
|
The Pipeline triggers are set so that releases are pushed only on tags and nightlies on master/devel commits into respective OBS projects.
|
|
These are defined in the ci/osc/ for releases and nightlies in their respective config files.
|
|
|
|
# How to release
|
|
|
|
To make a new release please call the magic version changer as following from the repo root:
|
|
|
|
```
|
|
export ICECAST_BETA_VERSION=3
|
|
ci/create-changelog-and-set-versions.sh "$ICECAST_BETA_VERSION" "2.4.99.$ICECAST_BETA_VERSION" "2.5 beta$ICECAST_BETA_VERSION" "25-beta-$ICECAST_BETA_VERSION" "2.5-beta$ICECAST_BETA_VERSION" "_VERSION_ARCHIVE_" "2.4.99.$ICECAST_BETA_VERSION" "now" "Stephan Jauernick <info@stephan-jauernick.de>" "Preparing for 2.5 beta$ICECAST_BETA_VERSION aka 2.4.99.$ICECAST_BETA_VERSION" "icecast" "mingw32-icecast" "mingw32-icecast-installer"
|
|
```
|
|
|
|
Please adapt the "ICECAST_BETA_VERSION", the Author, the Date(now; please enter a valid ISO8601 Date if needed) and the Message as needed.
|
|
|
|
This script/mechanism will update all the version references and then show you a git status/diff. Please check all changes and commit them as needed.
|
|
|
|
After tagging and uploading the release will be picked up by gitlabs CI and a release will be pushed to OBS.
|
|
|
|
# Nightlies
|
|
|
|
A nightly will be build on each change to master/devel - these will be marked with a git version + build date in the version and a "correct" changelog entry where relevant.
|
|
|
|
# Required Repo Configuration in Gitlab
|
|
|
|
- master and devel need to be set to protected with Maintainer only push/merge permissions
|
|
- all tags need to be set to protected with Maintainer only permissions
|
|
- There needs to be a "File" Variable configured as follows:
|
|
|
|
Name: OSC_RC
|
|
Protected only: yes
|
|
Content:
|
|
```
|
|
[general]
|
|
apiurl = https://api.opensuse.org
|
|
|
|
[https://api.opensuse.org]
|
|
user = OBS USER
|
|
pass = OBS PASSWORD
|
|
```
|
|
|
|
The referenced user needs to have Maintainer access to the OBS projects referenced in the build configuration files.
|
|
|
|
# How to improve
|
|
|
|
Make version update script more robust... currently it will probably explode when we do a final 2.5 release.
|
|
Rework OBS spec and debian files to modern standards.
|