Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automatically build Debian packages and set latest tag to release #807

Merged
merged 24 commits into from
Jan 3, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions .github/workflows/autobuild_deb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
name: "Autobuild deb"

on:
push:
tags:
- "r*"
jobs:
pre-release:
name: "Release"
runs-on: "ubuntu-18.04"
steps:
- name: Checkout Project
uses: actions/checkout@v1
- name: "Build package"
run: cd distributions; sudo ./build-debian-package-auto.sh
- uses: "marvinpinto/action-automatic-releases@latest"
with:
repo_token: "${{ secrets.GITHUB_TOKEN }}"
automatic_release_tag: "latest"
prerelease: false
title: "Automatic Build"
files: |
*.deb
41 changes: 41 additions & 0 deletions distributions/autobuilddeb/control
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
Source: jamulus
Section: sound
Priority: optional
Maintainer: "corrados" <nomail@example.com>
Build-Depends:
debhelper (>= 9),
libjack-jackd2-dev,
qtbase5-dev,
qttools5-dev-tools,
Standards-Version: é&%JAMVERSION%&è
Homepage: https://jamulus.io
Vcs-Git: git://github.com/corrados/jamulus.git
Vcs-Browser: https://github.com/corrados/jamulus

Package: jamulus
Architecture: any
Depends: libc6 (>= 2.17), libgcc1 (>= 1:3.0), libjack-jackd2-0 (>= 1.9.5~dfsg-14) | libjack-0.116, libqt5core5a (>= 5.5.0), libqt5gui5 (>= 5.0.2) | libqt5gui5-gles (>= 5.0.2), libqt5network5 (>= 5.0.2), libqt5widgets5 (>= 5.2.0), libqt5xml5 (>= 5.0.2), libstdc++6 (>= 5.2)
Description: Low latency Audio Server/Client
The Jamulus software enables musicians to perform real-time jam sessions over
the internet. There is one server running the Jamulus server software which
collects the audio data from each Jamulus client, mixes the audio data and
sends the mix back to each client.
.
It runs on Windows / macOS / Linux.

Package: jamulus-headless
Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
adduser,
Description: Low latency Audio Server (headless)
The Jamulus software enables musicians to perform real-time jam sessions over
the internet. There is one server running the Jamulus server software which
collects the audio data from each Jamulus client, mixes the audio data and
sends the mix back to each client.
.
It runs on Windows / macOS / Linux.
.
This package contains a Jamulus binary built for headless operation
(without GUI library dependencies) and a jamulus-headless systemd service.
47 changes: 47 additions & 0 deletions distributions/build-debian-package-auto.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
#!/bin/sh -e

# set armhf
#sudo dpkg --add-architecture armhf

echo "Update system..."
sudo apt-get -qq update
sudo apt-get -qq -y upgrade
echo "Install dependencies..."

sudo apt-get -qq -y install devscripts build-essential \
debhelper libjack-jackd2-dev qtbase5-dev qttools5-dev-tools # gcc-arm-linux-gnueabihf

cp -r debian ..
cd ..

# get the jamulus version from pro file
VERSION=$(cat Jamulus.pro | grep -oP 'VERSION = \K\w[^\s\\]*')

# patch changelog (with hack)

DATE=$(date "+%a, %d %B %Y %T" )
echo "jamulus (${VERSION}-0) UNRELEASED; urgency=medium" > debian/changelog
echo "" >> debian/changelog
echo " * See GitHub releases for changelog" >> debian/changelog
echo "" >> debian/changelog
echo " -- GitHub Actions <noemail@example.com> ${DATE} +0" >> debian/changelog
echo "" >> debian/changelog
cat distributions/debian/changelog >> debian/changelog

# patch the control file
# cp the modified control file here

cp distributions/autobuilddeb/control debian/control

echo "${VERSION} building..."

sed -i "s/é&%JAMVERSION%&è/${VERSION}/g" debian/control
debuild -b -us -uc

#echo "Build armhf"

#debuild -b -us -uc -aarmhf
# copy for auto release
cp ../*.deb ./

sudo dpkg -i *.deb