Skip to content

Commit

Permalink
Merge branch 'refactor'
Browse files Browse the repository at this point in the history
  • Loading branch information
timschneeb committed Sep 12, 2021
2 parents fb67e6e + 9f1c412 commit f7ea006
Show file tree
Hide file tree
Showing 930 changed files with 308,818 additions and 399 deletions.
292 changes: 292 additions & 0 deletions .github/workflows/package-deb.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,292 @@
name: Debian packages

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
release:
types:
- published
- prereleased

jobs:
build-pulse-amd64:
runs-on: ubuntu-20.04

steps:
- name: Update git
run: |
sudo apt update
sudo apt upgrade -y git
- uses: actions/checkout@v2
with:
ref: 'master'
submodules: 'recursive'

- name: Install dependencies (PulseAudio flavor)
run: |
sudo apt install -y lftp pkg-config qtbase5-private-dev qtbase5-dev libqt5svg5-dev libglibmm-2.4-dev libglib2.0-dev libpulse-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev
- name: Initialize project (PulseAudio flavor)
run: qmake JDSP4Linux.pro "CONFIG += CI" "CONFIG += USE_PULSEAUDIO"

- name: Build
run: |
make
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: jamesdsp-pulse_portable_linux64
path: src/jamesdsp

build-pipewire-amd64:
runs-on: ubuntu-20.04
container: ubuntu:21.04

steps:
- name: Update git
run: |
apt update
apt upgrade -y git
- uses: actions/checkout@v2
with:
ref: 'master'
submodules: 'recursive'

- name: Install dependencies (PipeWire flavor)
run: |
export PKG_CONFIG_PATH="/usr/lib/pkgconfig:$PATH"
echo 'tzdata tzdata/Areas select Europe' | debconf-set-selections
echo 'tzdata tzdata/Zones/Europe select Paris' | debconf-set-selections
DEBIAN_FRONTEND="noninteractive" apt install -y tree make gcc g++ lftp pkg-config qtbase5-private-dev qtbase5-dev libqt5svg5-dev libglibmm-2.4-dev libglib2.0-dev libpipewire-0.3-dev
- name: Initialize project (PipeWire flavor)
run: qmake JDSP4Linux.pro "CONFIG += CI"

- name: Build
run: |
make
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: jamesdsp-pipewire_portable_linux64
path: src/jamesdsp

build-deb-amd64:
runs-on: ubuntu-20.04
needs: [build-pulse-amd64, build-pipewire-amd64]
strategy:
matrix:
flavor: [pulse, pipewire]

steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
ref: 'master'

- name: Prepare version information (1/3)
uses: oprypin/find-latest-tag@v1
with:
repository: Audio4Linux/JDSP4Linux
releases-only: false
id: last_release
- name: Prepare version information (2/3)
uses: benjlevesque/[email protected]
id: short-sha
with:
length: 6
- name: Prepare version information (3/3)
run: echo '::set-output name=version::${{steps.last_release.outputs.tag}}-${{steps.short-sha.outputs.sha}}'
id: version

- name: Download artifact
uses: actions/download-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_portable_linux64

- name: Build DEB package
run: |
chmod +x ./meta/build_deb_package.sh
./meta/build_deb_package.sh ${{steps.version.outputs.version}} ${{ matrix.flavor }}
- name: Upload artifact
uses: actions/upload-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb
path: jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb

publish-nightly:
runs-on: ubuntu-latest
needs: [build-deb-amd64]
strategy:
matrix:
flavor: [pulse, pipewire]

steps:
- name: Prepare version information (1/3)
uses: oprypin/find-latest-tag@v1
with:
repository: Audio4Linux/JDSP4Linux
releases-only: false
id: last_release

- name: Prepare version information (2/3)
uses: benjlevesque/[email protected]
id: short-sha
with:
length: 6
- name: Prepare version information (3/3)
run: echo '::set-output name=version::${{steps.last_release.outputs.tag}}-${{steps.short-sha.outputs.sha}}'
id: version

- name: Download portable artifact
uses: actions/download-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_portable_linux64

- name: Download package artifact
uses: actions/download-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb

- name: Rename portable artifact
run: mv jamesdsp jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_portable_linux64.bin

- name: Upload binary to nightly server
uses: wlixcc/[email protected]
with:
username: 'tim'
server: 'local.timschneeberger.me'
port: 22
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
local_path: './jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_portable_linux64.bin'
remote_path: '/srv/http/nightly.timschneeberger.me/jamesdsp-linux/'
args: '-o ConnectTimeout=5'

- name: Upload deb package to nightly server
uses: wlixcc/[email protected]
with:
username: 'tim'
server: 'local.timschneeberger.me'
port: 22
ssh_private_key: ${{ secrets.SSH_PRIVATE_KEY }}
local_path: './jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb'
remote_path: '/srv/http/nightly.timschneeberger.me/jamesdsp-linux/'
args: '-o ConnectTimeout=5'

update-ppa:
if: github.event_name == 'release'
runs-on: ubuntu-latest
needs: [build-deb-amd64]
strategy:
matrix:
flavor: [pulse, pipewire]
max-parallel: 1

steps:
- uses: actions/checkout@v2
with:
repository: 'ThePBone/PPA-Repository'
token: ${{ secrets.REPO_AUTH_TOKEN }}
persist-credentials: false # otherwise, the token used is the GITHUB_TOKEN, instead of your personal token
fetch-depth: 0

- name: Prepare version information (1/3)
uses: oprypin/find-latest-tag@v1
with:
repository: Audio4Linux/JDSP4Linux
releases-only: false
id: last_release

- name: Prepare version information (2/3)
uses: benjlevesque/[email protected]
id: short-sha
with:
length: 6
- name: Prepare version information (3/3)
run: echo '::set-output name=version::${{steps.last_release.outputs.tag}}-${{steps.short-sha.outputs.sha}}'
id: version

- name: Download package artifact
uses: actions/download-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb

- name: Import GPG key
id: import_gpg
uses: crazy-max/ghaction-import-gpg@v4
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}

- name: GPG user IDs
run: |
echo "fingerprint: ${{ steps.import_gpg.outputs.fingerprint }}"
echo "keyid: ${{ steps.import_gpg.outputs.keyid }}"
echo "name: ${{ steps.import_gpg.outputs.name }}"
echo "email: ${{ steps.import_gpg.outputs.email }}"
- name: Update packages
run: |
sudo apt install dpkg-dev apt-utils
export EMAIL="[email protected]"
dpkg-scanpackages --multiversion . > Packages
gzip -k -f Packages
apt-ftparchive release . > Release
gpg --default-key "${EMAIL}" -abs -o - Release > Release.gpg
gpg --default-key "${EMAIL}" --clearsign -o - Release > InRelease
- name: Commit
run: |
git config --local user.email "[email protected]"
git config --local user.name "Tim Schneeberger"
git add .
git commit -m "Update jamesdsp packages"
- name: Push changes
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.REPO_AUTH_TOKEN }}
repository: ThePBone/PPA-Repository
force: true

attach-to-release:
runs-on: ubuntu-latest
needs: [build-deb-amd64]
strategy:
matrix:
flavor: [pulse, pipewire]

if: github.event_name == 'release'

steps:
- name: Prepare version information (1/3)
uses: oprypin/find-latest-tag@v1
with:
repository: Audio4Linux/JDSP4Linux
releases-only: true
id: last_release

- name: Prepare version information (2/3)
uses: benjlevesque/[email protected]
id: short-sha
with:
length: 6
- name: Prepare version information (3/3)
run: echo '::set-output name=version::${{steps.last_release.outputs.tag}}-${{steps.short-sha.outputs.sha}}'
id: version

- name: Download package artifact
uses: actions/download-artifact@v2
with:
name: jamesdsp-${{ matrix.flavor }}_${{steps.version.outputs.version}}_linux64.deb

- uses: AButler/[email protected]
with:
files: '*.deb'
repo-token: ${{ secrets.GITHUB_TOKEN }}
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.pro.user
build/
4 changes: 4 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@

[submodule "src/subprojects/EELEditor"]
path = src/subprojects/EELEditor
url = https://github.com/thepbone/EELEditor
43 changes: 43 additions & 0 deletions 3rdparty/3rdparty.pri
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
include($$PWD/asyncplusplus.pri)

SOURCES += \
$$PWD/WAF/Animation/Animation.cpp \
$$PWD/WAF/Animation/CircleFill/CircleFillAnimator.cpp \
$$PWD/WAF/Animation/CircleFill/CircleFillDecorator.cpp \
$$PWD/WAF/Animation/Expand/ExpandAnimator.cpp \
$$PWD/WAF/Animation/Expand/ExpandDecorator.cpp \
$$PWD/WAF/Animation/SideSlide/SideSlideAnimator.cpp \
$$PWD/WAF/Animation/SideSlide/SideSlideDecorator.cpp \
$$PWD/WAF/Animation/Slide/SlideAnimator.cpp \
$$PWD/WAF/Animation/Slide/SlideForegroundDecorator.cpp \
$$PWD/WebLoader/src/HttpMultiPart_p.cpp \
$$PWD/WebLoader/src/NetworkQueue_p.cpp \
$$PWD/WebLoader/src/NetworkRequest.cpp \
$$PWD/WebLoader/src/WebLoader_p.cpp \
$$PWD/WebLoader/src/WebRequest_p.cpp \
$$PWD/WebLoader/src/customcookiejar.cpp \

HEADERS += \
$$PWD/WAF/AbstractAnimator.h \
$$PWD/WAF/Animation/Animation.h \
$$PWD/WAF/Animation/AnimationPrivate.h \
$$PWD/WAF/Animation/CircleFill/CircleFillAnimator.h \
$$PWD/WAF/Animation/CircleFill/CircleFillDecorator.h \
$$PWD/WAF/Animation/Expand/ExpandAnimator.h \
$$PWD/WAF/Animation/Expand/ExpandDecorator.h \
$$PWD/WAF/Animation/SideSlide/SideSlideAnimator.h \
$$PWD/WAF/Animation/SideSlide/SideSlideDecorator.h \
$$PWD/WAF/Animation/Slide/SlideAnimator.h \
$$PWD/WAF/Animation/Slide/SlideForegroundDecorator.h \
$$PWD/WAF/WAF.h \
$$PWD/WebLoader/src/HttpMultiPart_p.h \
$$PWD/WebLoader/src/NetworkQueue_p.h \
$$PWD/WebLoader/src/NetworkRequest.h \
$$PWD/WebLoader/src/NetworkRequestLoader.h \
$$PWD/WebLoader/src/NetworkRequestPrivate_p.h \
$$PWD/WebLoader/src/WebLoader_p.h \
$$PWD/WebLoader/src/WebRequest_p.h \
$$PWD/WebLoader/src/customcookiejar.h \

INCLUDEPATH += $$PWD/WAF \
$$PWD
Loading

0 comments on commit f7ea006

Please sign in to comment.